diff --git a/.github/workflows/build_display_theme_colors.yml b/.github/workflows/build_display_theme_colors.yml index 67c4dfe93d..be2cd029a0 100644 --- a/.github/workflows/build_display_theme_colors.yml +++ b/.github/workflows/build_display_theme_colors.yml @@ -15,10 +15,10 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - - name: Setup Node.js (v22) + - name: Setup Node.js (v20) uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 20 cache: npm cache-dependency-path: packages/modules/display_themes/colors/source/package-lock.json diff --git a/docs/Ladepunkte.md b/docs/Ladepunkte.md index 0e6e8a695a..b8e5b0c53e 100644 --- a/docs/Ladepunkte.md +++ b/docs/Ladepunkte.md @@ -4,7 +4,7 @@ Die Einstellungen für Ladepunkte unterteilen sich in die spezifischen Einstellu Beim Hinzufügen eines Ladepunkts muss zunächst dessen Typ ausgewählt werden. Danach wird Ladepunkt-spezifisches, wie z.B. die Anzahl angeschlossener Phasen oder eine verbaute Phasenumschaltung, konfiguriert. -In dem Ladepunkt-Profil sind die Einstellungen zum Sperren nach Uhrzeit und für die Freigabe von Ladepunkten durch ID-Tags enthalten. Ein Ladepunkt-Profil kann vom Benutzer mehreren Ladepunkte zugewiesen werden, sodass die Einstellungen für jeden Ladepunkte einzeln oder für eine Gruppe zugewiesen werden können. +In dem Ladepunkt-Profil sind die Einstellungen zum automatischen Sperren (Autolock) und für die Freigabe von Ladepunkten durch ID-Tags enthalten. Ein Ladepunkt-Profil kann vom Benutzer mehreren Ladepunkte zugewiesen werden, sodass die Einstellungen für jeden Ladepunkte einzeln oder für eine Gruppe zugewiesen werden können. Das Erfassen eines RFID-Tags (verbauter RFID-Leser erforderlich) oder die Pin-Eingabe (Display erforderlich, Eingabefeld muss im Steuerungsmodus 'secondary' aktiviert werden) sowie die automatische Fahrzeugerkennung der openWB Pro (muss in den Einstellungen aktiviert werden) werden gleich verarbeitet. diff --git a/docs/WiCAN.md b/docs/WiCAN.md new file mode 100644 index 0000000000..e881316470 --- /dev/null +++ b/docs/WiCAN.md @@ -0,0 +1,148 @@ +# WiCAN-OBD2 mit manuellem SoC Modul der openWB + +Mit Hilfe des WiCAN OBD2 Dongles von meatPi Electronics können die Werte des Fahrzeugs über die OBD2-Schnittstelle ausgelesen und im WLAN per MQTT an die openWB Wallbox gesendet werden. +In Verbindung mit dem manuellem SoC Modul der openWB ist hiermit die Nutzung ohne Cloud-Dienste der Fahrzeughersteller möglich. +https://github.com/meatpiHQ/wican-fw + +Die erste Umsetzung erfolgte von zut im openWB Forum, der hierfür auch eine Unterstützung von Spritmonitor umgesetzt hat. Hierfür ist ein weiteres Gerät im Netzwerk nötig, auf dem ein kleines Programm (soc_helper) laufen kann: +https://forum.openwb.de/viewtopic.php?t=7451 + +Im Laufe der weiteren Entwicklung wurde die Möglichkeit des automatischen Auslesen (AutoPID) in die Firmware des Gerätes integriert. Hierfür ist nun keine zusätzliche Hardware mehr nötig, da der Dongle die Daten direkt per MQTT an die openWB sendet. Die Unterstützung von Spritmonitor ist hiermit jedoch nicht möglich. Die Einrichtung dieser Funktion soll hier näher beschrieben werden. + +### 1. Voraussetzungen +* WiCAN Dongle mit Firmware 3.48, 4.03 oder neuer (4.00 ist fehlerhaft). +* Konfiguration des Manuellen SoC Moduls im Fahrzeug der openWB. +* WLAN Empfang im Bereich der openWB bzw. des Fahrzeugs. +* Ggf. Beachtung einer Alarmanlage, die den OBD2 Port überwacht. + +### 2. WiCAN Dongle +Die Beschaffung der Hardware ist zunächst die größte Hürde, da die Firma meatPi Electronics Ihren Sitz in Australien hat. +Es sind aktuell 2 Bezugsquellen bekannt: +https://github.com/meatpiHQ/wican-fw?tab=readme-ov-file#order-on-mouser-or-crowd-supply +Es ist hierbei darauf zu achten, dass nur der WiCAN-OBD2 oder der WiCAN PRO (Coming soon) verwendet werden kann. Bei Bestellung über Mouser erfolgt der Versand ab 50€ Versandkostenfrei, so dass sich idealerweise 2 oder mehr Besteller zu einer Sammelbestellung zusammentun können. +Achtung: Die angegeben Preise sind Nettopreise. + +### 3. Konfiguration manueller SoC in openWB +* In der Fahrzeugkonfiguration der openWB muss das manuelle SoC Modul eingerichtet werden. Für die spätere Konfiguration der MQTT-Topics wird die Fahrzeug-ID benötigt. Diese kann man am besten auf der Status Seite der openWB auslesen: + + ![Status](pictures/WiCAN_openWB-Status.png "openWB Status") + +### 4. Konfiguration WiCAN Settings + +* Zunächst muss der WiCAN ins Heim-WLAN geholt werden: +https://meatpihq.github.io/wican-fw/config/wifi + +* Nun werden die weiteren Parameter konfiguriert: +![WiCAN Settings](pictures/WiCAN_Settings.png "WiCAN Settings") + +* Protocol AutoPID wird zur automatischen Abfrage der PIDs benötigt (Bereich Automate) +* MQTT zur openWB erfolgt mit leerem User und Passwort +* RX und Status Topic müssen mit others/ beginnen, damit sie von openWB beachtet werden. Sie dienen nur der Fehleranalyse und Überwachung mit MQTT-Explorer. Für die eigentliche Funktion werden sie nicht benötigt. +--- +* Sleep Mode (Bereich Power Saving): Bei Unterschreiten der Sleep Voltage schaltet sich der WiCAN ab. Hierdurch wird ein Entladen der 12V Batterie verhindert. +![WiCAN Power Saving](pictures/WiCAN_PowerSaving.png "WiCAN Settings") + +### 5. Ermittlung der PID Parameter aus dem Vehicle Profile bei meatPi + +Es werden bei meatPi die benötigten Parameter verschiedener Fahrzeuge in Vehicle-Profilen gesammelt. +Die Informationen aus diesen Profilen können wir verwenden, um die Parameter, die wir für die openWB benötigen, zu ermitteln. + +Die Profile sind hier einzeln verfügbar: +https://github.com/meatpiHQ/wican-fw/tree/main/vehicle_profiles + +Anhand des Beispiels eines VW:ID, die wichtigen Informationen (fettgedruckt). +Wir benötigen zwingend den SoC, optional können wir auch die Reichweite (Range) gebrauchen: + +--- +{ + "car_model":"VW: ID", + **"init":"ATST96;ATFCSD300000;ATFCSM1;",** + "pids":[ + { + **"pid":"22028C1",** + **"pid_init":"ATSP7;ATCP17;ATSHFC007B;ATFCSH17FC007B;ATCRA17FE007B;",** + "parameters":[ + { + "class":"battery", + **"expression":"B4\*0.4425-6.1947",** + **"name":"soc",** + "unit":"%" + } + ] + }, + { + **"pid":"222AB62",** + **"pid_init":"ATSP6;ATCP18;ATSH710;ATFCSH710;ATCRA77A;",** + "parameters":[ + { + "class":"none", + **"expression":"[B5:B6]",** + **"name":"range",** + "unit":"km" + } + ] + } + +### 6. Übernahme der Werte für die Custom PIDs (Automate-Tab) + +die gefundenen Werte werden nun im Bereich Automate bei den Custom PIDs eingetragen: +![WiCAN Automate Tab](pictures/WiCAN_Automate.png "WiCAN Automate") + +- Das Feld "Custom Initialisation" wird aus "**init**" vom Vehicle-Profile übernommen. +- Das Feld Name muss für den SoC "manual_soc" lauten, für die Reichweite "range". +- Falls vorhanden wird das Feld "Init" aus "**pid_init**" vom Vehicle-Profile übernommen. Dieses Feld kann auch leer sein, wenn für die einzelnen PIDs keine besondere Initialisierung benötigt wird. +- Das Feld PID wird aus "**pid**" übernommen. +- Das Feld Expression wird aus "**expression**" übernommen. +- Period(ms) ist das Intervall, in denen die Werte abgefragt werden. +- Im Feld "Destination Type" muss für den SoC "MQTT_Topic", für die Reichweite jedoch "MQTT_Wallbox" eingestellt werden. +- Im Feld Send_to muss die Fahrzeug ID aus der openWB, die wir in [Punkt 3](#3-konfiguration-manueller-soc-in-openwb) ermittelt haben, eingesetzt werden (...vehicle/**x**/...): + +Die Werte lauten für den SoC: +openWB/set/vehicle/**x**/soc_module/calculated_soc_state +Für die Reichweite: +openWB/set/vehicle/**x**/get/range + +Das Ergebnis sieht dann z.B. so aus: + +Name|Init|PID|Expression|Period(ms)|Type|Send_to +-|-|-|-|-|-|- +manual_soc|ATSP7;ATSHFC007B;ATCP17;ATCRA17FE007B;ATFCSH17FC007B;|22028C1|B4*0.4425‑6.1947|10000|MQTT_Topic|openWB/set/vehicle/**3**/soc_module/calculated_soc_state +range|ATSP6;ATSH710;ATCP18; ATCRA77A;ATFCSH710;|222AB62|[B5:B6]|10000|MQTT_Topic|openWB/set/vehicle/**3**/get/range +| +### Ergänzug zur openWB 1.9 +Bei openWB 1.9 wird das SOC Modul Manuell+Berechnung am Ladepunkt konfiguriert, das Topic benötigt hier den Typ MQTT_Wallbox. +Am Beispiel Ladepunkt 1 würde dies dann so aussehen: +Name|Init|PID|Expression|Period(ms)|Type|Send_to +-|-|-|-|-|-|- +manualSoC|ATSP7;ATSHFC007B;ATCP17;ATCRA17FE007B;ATFCSH17FC007B;|22028C1|B4*0.4425‑6.1947|60000|MQTT_Wallbox|openWB/set/lp/**1** + +Nachtrag: openWB 1.9 aktzeptiert nur Ganzzahlige SOC-Werte und kann daher aktuell nicht verwendet werden. + +### 7. Alarmanlage des Fahrzeugs + +Bei Fahrzeugen mit einer Alaramanlage wird häufig auch der OBD2-Port überwacht, so dass bei einer Abfrage die Alarmanlage auslöst. +Um dieses Problem zu umgehen sind momentan folgende Lösungen bekannt: + +- Bei einigen Fahrzeugen liegt an PIN1 des OBD2-Ports nur bei eingeschalteter Zündung eine Spannung von 12V an. Diese kann dann zur Versorung des WiCAN Dongles verwendet werden, so dass dieser bei abgeschalteter Zündung gar keine Spannungsversorgung hat. Normalerweise liegt an PIN16 die Versorgungsspannung für den WiCAN an. +Es kann also in doiesem Fall mit einem entsprechend "manipuliertem" Adapterkabel z.B. PIN1 und PIN16 getauscht werden: +https://forum.openwb.de/viewtopic.php?p=115467#p115467 +- Ggf. ist eine Anpassung der OBD2-Überwachung der Alarmanlage möglich: +https://www.born-forum.de/forum/thread/193-m%C3%B6gliche-codierungen-am-cupra-born-ohne-gew%C3%A4hr-auf-eigene-gefahr/?postID=77395#post77395 + +Beide Lösungen dienen nur zur Info und erfolgen stets auf eigene Gefahr + +### 8. Übersicht erfolgreich getesteter Fahrzeuge + +Abschliessend noch eine kurze Auflistung von bereits erfolgreich getesteten Fahrzeugen. +Gerne kann und sollte diese Liste erweitert werden. +Zur besseren Übersicht werden hier nur die tatsächlich verwendeten Fahrzeuge (am besten mit Modelljahr) sowie nur der SoC aufgeführt: + +|Fahrzeug|Custom Initialisation|Name|Init|PID|Expression| +|-|-|-|-|-|-| +|CUPRA Born 2022|ATST96;ATFCSD300000;ATFCSM1;|manual_soc|ATSP7;ATCP17;ATSHFC007B;ATFCSH17FC007B;ATCRA17FE007B;|22028C1|B4*0.4425‑6.1947| +|Hyundai Ioniq (28 kWh) 2017|ATSP6;ATSH7E4;ATST96;|manual_soc||2105|B39/2| +|Peugeot iOn|ATSP6;ATFCSH761;ATFCSD300000;ATFCSM1;ATSH761;ATCRA762;|manual_soc||2101|(B4/2)‑5| +| + +Anmerkungen zur Tabelle: +Um einen Zeilenumbruch zu verhindern, müssen Leerzeichen durch einen "no-break space character" (\ ) und ein Minuszeichen durch "no-brak hyphen" (\‑) im Markdown Quelltext ersetzt werden. \ No newline at end of file diff --git a/docs/_Sidebar.md b/docs/_Sidebar.md index 0cce569b42..b91f633cd5 100644 --- a/docs/_Sidebar.md +++ b/docs/_Sidebar.md @@ -5,6 +5,7 @@ * [Ladepunkte](https://github.com/openWB/core/wiki/Ladepunkte) * [Fahrzeuge](https://github.com/openWB/core/wiki/Fahrzeuge) * [Manueller SoC](https://github.com/openWB/core/wiki/Manueller-SoC) + * [WiCAN OBD2 Dongle mit manuellem SoC](https://github.com/openWB/core/wiki/WiCAN) * [Lademodi](https://github.com/openWB/core/wiki/Lademodi) * Zähler * [Grundsätzliches zu Zählern](https://github.com/openWB/core/wiki/Grundsätzliches-zu-Zählern) diff --git a/docs/pictures/WiCAN_Automate.png b/docs/pictures/WiCAN_Automate.png new file mode 100644 index 0000000000..760998c681 Binary files /dev/null and b/docs/pictures/WiCAN_Automate.png differ diff --git a/docs/pictures/WiCAN_PowerSaving.png b/docs/pictures/WiCAN_PowerSaving.png new file mode 100644 index 0000000000..29400936b9 Binary files /dev/null and b/docs/pictures/WiCAN_PowerSaving.png differ diff --git a/docs/pictures/WiCAN_Settings.png b/docs/pictures/WiCAN_Settings.png new file mode 100644 index 0000000000..01d3bf45b7 Binary files /dev/null and b/docs/pictures/WiCAN_Settings.png differ diff --git a/docs/pictures/WiCAN_openWB-Status.png b/docs/pictures/WiCAN_openWB-Status.png new file mode 100644 index 0000000000..af74284ab2 Binary files /dev/null and b/docs/pictures/WiCAN_openWB-Status.png differ diff --git a/packages/control/bat_all.py b/packages/control/bat_all.py index c58c8a396c..b826f786d3 100644 --- a/packages/control/bat_all.py +++ b/packages/control/bat_all.py @@ -335,7 +335,7 @@ def get_power_limit(self): power_limit = min(self._max_bat_power_hybrid_system( data.data.bat_data[f"bat{bat_component.component_config.id}"])[0], remaining_power_limit) remaining_power_limit -= power_limit - remaining_power_limit = max(remaining_power_limit, 0) + remaining_power_limit = min(remaining_power_limit, 0) data.data.bat_data[f"bat{bat_component.component_config.id}"].data.set.power_limit = power_limit diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index 4d9407a64e..f3f909d332 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -150,14 +150,14 @@ def _is_autolock_inactive(self) -> Tuple[bool, Optional[str]]: if data.data.optional_data.data.rfid.active: if self.data.get.rfid is None and self.data.set.rfid is None: state = False - message = ("Keine Ladung, da der Ladepunkt durch Sperren nach Uhrzeit gesperrt ist und erst " - "per ID-Tag freigeschaltet werden muss.") + message = ("Keine Ladung, da der Ladepunkt durch Autolock gesperrt ist und erst per ID-Tag " + "freigeschaltet werden muss.") else: state = True message = None else: state = False - message = "Keine Ladung, da Sperren nach Uhrzeit aktiv ist." + message = "Keine Ladung, da Autolock aktiv ist." return state, message def _is_manual_lock_inactive(self) -> Tuple[bool, Optional[str]]: diff --git a/packages/control/chargepoint/chargepoint_template.py b/packages/control/chargepoint/chargepoint_template.py index 1e70a34af4..89d7accdb6 100644 --- a/packages/control/chargepoint/chargepoint_template.py +++ b/packages/control/chargepoint/chargepoint_template.py @@ -71,7 +71,7 @@ def is_locked_by_autolock(self, charge_state: bool) -> bool: else: return False else: - log.info("Keine Sperrung durch Sperren nach Zeitplan, weil keine Zeitpläne konfiguriert sind.") + log.info("Keine Sperrung durch Autolock, weil keine Zeitpläne konfiguriert sind.") return False else: return False diff --git a/packages/helpermodules/abstract_plans.py b/packages/helpermodules/abstract_plans.py index 60586a9944..04ff4538b1 100644 --- a/packages/helpermodules/abstract_plans.py +++ b/packages/helpermodules/abstract_plans.py @@ -80,4 +80,4 @@ class TimeChargingPlan(TimeframePlan): @dataclass class AutolockPlan(TimeframePlan): - name: str = "neuer Plan für Sperren nach Uhrzeit" + name: str = "neuer Autolock-Plan" diff --git a/packages/helpermodules/broker.py b/packages/helpermodules/broker.py index ab7feb3149..7f24b15e74 100644 --- a/packages/helpermodules/broker.py +++ b/packages/helpermodules/broker.py @@ -1,5 +1,5 @@ -import datetime import logging +import os import paho.mqtt.client as mqtt import time from typing import Callable @@ -7,19 +7,10 @@ log = logging.getLogger(__name__) -def get_name_suffix() -> str: - with open('/proc/cpuinfo', 'r') as f: - for line in f: - if line[0:6] == 'Serial': - serial = line[10:26] - serial = "0000000000000000" - return f"{serial}-{datetime.datetime.today().timestamp()}" - - class InternalBrokerClient: def __init__(self, name: str, on_connect: Callable, on_message: Callable) -> None: try: - self.name = f"openWB-{name}-{get_name_suffix()}" + self.name = f"openWB-{name}-{self._get_serial()}" self.client = mqtt.Client(self.name) self.client.on_connect = on_connect self.client.on_message = on_message @@ -39,11 +30,20 @@ def disconnect(self) -> None: self.client.disconnect() log.info(f"Verbindung von Client {self.name} geschlossen.") + def _get_serial(self) -> str: + """ Extract serial from cpuinfo file + """ + with open('/proc/cpuinfo', 'r') as f: + for line in f: + if line[0:6] == 'Serial': + return line[10:26] + return "0000000000000000" + class InternalBrokerPublisher: def __init__(self) -> None: try: - self.client = mqtt.Client(f"openWB-python-bulkpublisher-{get_name_suffix()}") + self.client = mqtt.Client(f"openWB-python-bulkpublisher-{os.getpid()}") self.client.connect("localhost", 1886) except Exception: log.exception("Fehler beim Verbindungsaufbau zum Bulkpublisher") diff --git a/packages/helpermodules/command.py b/packages/helpermodules/command.py index edba8e6098..c2aa3f9f70 100644 --- a/packages/helpermodules/command.py +++ b/packages/helpermodules/command.py @@ -311,7 +311,7 @@ def addAutolockPlan(self, connection_id: str, payload: dict) -> None: Pub().pub("openWB/set/command/max_id/autolock_plan", new_id) pub_user_message( payload, connection_id, - f'Neuer Plan für Sperren nach Uhrzeit mit ID \'{new_id}\' zu Profil ' + f'Neuer Autolock-Plan mit ID \'{new_id}\' zu Profil ' f'\'{payload["data"]["template"]}\' hinzugefügt.', MessageType.SUCCESS) @@ -329,7 +329,7 @@ def removeAutolockPlan(self, connection_id: str, payload: dict) -> None: "") pub_user_message( payload, connection_id, - f'Plan für Sperren nach Uhrzeit mit ID \'{payload["data"]["plan"]}\' vom Profil ' + f'Autolock-Plan mit ID \'{payload["data"]["plan"]}\' vom Profil ' f'\'{payload["data"]["template"]}\' gelöscht.', MessageType.SUCCESS) diff --git a/packages/helpermodules/create_debug.py b/packages/helpermodules/create_debug.py index 461b46f802..f5c1f1d657 100644 --- a/packages/helpermodules/create_debug.py +++ b/packages/helpermodules/create_debug.py @@ -203,8 +203,7 @@ def write_to_file(file_handler, func, default: Optional[Any] = None): data = f.read() req.get_http_session().put("https://openwb.de/tools/debug2.php", data=data, - params={'debugemail': debug_email}, - timeout=10) + params={'debugemail': debug_email}) log.info("***** cleanup...") os.remove(debug_file) diff --git a/packages/helpermodules/update_config.py b/packages/helpermodules/update_config.py index 1ef2073582..59f5387e4e 100644 --- a/packages/helpermodules/update_config.py +++ b/packages/helpermodules/update_config.py @@ -470,7 +470,7 @@ class UpdateConfig: ("openWB/general/chargemode_config/pv_charging/bat_power_reserve", 200), ("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active", True), ("openWB/general/chargemode_config/pv_charging/control_range", [0, 230]), - ("openWB/general/chargemode_config/pv_charging/switch_off_threshold", 0), + ("openWB/general/chargemode_config/pv_charging/switch_off_threshold", 50), ("openWB/general/chargemode_config/pv_charging/switch_off_delay", 60), ("openWB/general/chargemode_config/pv_charging/switch_on_delay", 30), ("openWB/general/chargemode_config/pv_charging/switch_on_threshold", 1500), diff --git a/packages/modules/chargepoints/openwb_pro/chargepoint_module.py b/packages/modules/chargepoints/openwb_pro/chargepoint_module.py index f6c71843da..0f3aa703b1 100644 --- a/packages/modules/chargepoints/openwb_pro/chargepoint_module.py +++ b/packages/modules/chargepoints/openwb_pro/chargepoint_module.py @@ -60,7 +60,7 @@ def get_values(self) -> None: chargepoint_state = self.request_values() self.store.set(chargepoint_state) - def request_values(self) -> ChargepointState: + def request_values(self) -> None: with self.client_error_context: chargepoint_state = self.old_chargepoint_state ip_address = self.config.configuration.ip_address diff --git a/packages/modules/chargepoints/openwb_pro/config.py b/packages/modules/chargepoints/openwb_pro/config.py index cab0724e61..db54fe1672 100644 --- a/packages/modules/chargepoints/openwb_pro/config.py +++ b/packages/modules/chargepoints/openwb_pro/config.py @@ -11,7 +11,7 @@ def __init__(self, ip_address: Optional[str] = None, duo_num: int = 0): class OpenWBPro(SetupChargepoint[OpenWBProConfiguration]): def __init__(self, - name: str = "openWB Pro (nicht Pro+)", + name: str = "openWB Pro", type: str = "openwb_pro", id: int = 0, configuration: OpenWBProConfiguration = None) -> None: diff --git a/packages/modules/common/component_state.py b/packages/modules/common/component_state.py index 3a56202ea0..b2b27c970d 100644 --- a/packages/modules/common/component_state.py +++ b/packages/modules/common/component_state.py @@ -141,9 +141,6 @@ def __init__(self, soc: float, range: Optional[float] = None, soc_timestamp: Opt if soc_timestamp is None: self.soc_timestamp = timecheck.create_timestamp() else: - if soc_timestamp > 1e10: # Convert soc_timestamp to seconds if it is in milliseconds - log.debug(f'Zeitstempel {soc_timestamp} ist in ms, wird in s gewandelt. Modul sollte angepasst werden.') - soc_timestamp /= 1000 self.soc_timestamp = soc_timestamp diff --git a/packages/modules/common/configurable_vehicle.py b/packages/modules/common/configurable_vehicle.py index a9ecba4f2c..c30f280faa 100644 --- a/packages/modules/common/configurable_vehicle.py +++ b/packages/modules/common/configurable_vehicle.py @@ -76,9 +76,6 @@ def update(self, vehicle_update_data: VehicleUpdateData): if vehicle_update_data.soc_timestamp is None or vehicle_update_data.soc_timestamp < car_state.soc_timestamp: # Nur wenn der SoC neuer ist als der bisherige, diesen setzen. self.store.set(car_state) - elif vehicle_update_data.soc_timestamp > 1e10: - # car_state ist in ms geschrieben, dieser kann überschrieben werden - self.store.set(car_state) else: log.debug("Not updating SoC, because timestamp is older.") diff --git a/packages/modules/common/hardware_check.py b/packages/modules/common/hardware_check.py index fcb5cb508c..4f19914f65 100644 --- a/packages/modules/common/hardware_check.py +++ b/packages/modules/common/hardware_check.py @@ -19,8 +19,7 @@ METER_NO_SERIAL_NUMBER = ("Die Seriennummer des Zählers für das Ladelog kann nicht ausgelesen werden. Wenn Sie die " "Seriennummer für Abrechnungszwecke benötigen, wenden Sie sich bitte an unseren Support. Die " "Funktionalität wird dadurch nicht beeinträchtigt!") -EVSE_BROKEN = ("Auslesen der EVSE nicht möglich. Vermutlich ist die EVSE defekt oder hat eine unbekannte Modbus-ID. " - "(Fehlermeldung nur relevant, wenn diese auf der Startseite oder im Status angezeigt wird.)") +EVSE_BROKEN = "Auslesen der EVSE nicht möglich. Vermutlich ist die EVSE defekt oder hat eine unbekannte Modbus-ID." def check_meter_values(voltages: List[float]) -> Optional[str]: diff --git a/packages/modules/devices/growatt/growatt/bat.py b/packages/modules/devices/growatt/growatt/bat.py index 71d6a75f15..335382e983 100644 --- a/packages/modules/devices/growatt/growatt/bat.py +++ b/packages/modules/devices/growatt/growatt/bat.py @@ -26,9 +26,9 @@ def __init__(self, def update(self, client: ModbusTcpClient_) -> None: if self.version == GrowattVersion.max_series: power_in = client.read_input_registers( - 1011, ModbusDataType.UINT_32, unit=self.__modbus_id) * 0.1 + 1011, ModbusDataType.UINT_32, unit=self.__modbus_id) * -0.1 power_out = client.read_input_registers( - 1009, ModbusDataType.UINT_32, unit=self.__modbus_id) * -0.1 + 1009, ModbusDataType.UINT_32, unit=self.__modbus_id) * 0.1 power = power_in + power_out soc = client.read_input_registers(1014, ModbusDataType.UINT_16, unit=self.__modbus_id) diff --git a/packages/modules/devices/rct/rct/bat.py b/packages/modules/devices/rct/rct/bat.py index f0f7673471..88320b3c72 100644 --- a/packages/modules/devices/rct/rct/bat.py +++ b/packages/modules/devices/rct/rct/bat.py @@ -41,7 +41,7 @@ def update(self, rct_client: RCT) -> None: if (stat1.value + stat2.value + stat3.value) > 0: # Werte werden trotz Fehlercode übermittelt. self.fault_state.warning( - f"Speicher-Status ist ungleich 0. Status 1: {stat1.value}, Status 2: {stat2.value}, " + f"Alarm Status Speicher ist ungleich 0. Status 1: {stat1.value}, Status 2: {stat2.value}, " f"Status 3: {stat3.value}") diff --git a/packages/modules/devices/rct/rct/counter.py b/packages/modules/devices/rct/rct/counter.py index 7060ee900f..679a1bad5d 100644 --- a/packages/modules/devices/rct/rct/counter.py +++ b/packages/modules/devices/rct/rct/counter.py @@ -51,7 +51,7 @@ def update(self, rct_client: RCT): if (stat1.value + stat2.value + stat3.value + stat4.value) > 0: # Werte werden trotz Fehlercode übermittelt. self.fault_state.warning( - f"Speicher-Status ist ungleich 0. Status 1: {stat1.value}, Status 2: {stat2.value}, " + f"Alarm Status Speicher ist ungleich 0. Status 1: {stat1.value}, Status 2: {stat2.value}, " f"Status 3: {stat3.value}, Status 4: {stat4.value},") diff --git a/packages/modules/devices/sungrow/sungrow/counter.py b/packages/modules/devices/sungrow/sungrow/counter.py index 03bf21cdf3..56bc94d7c3 100644 --- a/packages/modules/devices/sungrow/sungrow/counter.py +++ b/packages/modules/devices/sungrow/sungrow/counter.py @@ -39,7 +39,7 @@ def update(self, pv_power: float): wordorder=Endian.Little, unit=unit) except Exception: powers = None - self.fault_state.no_error(self.fault_text) + self.fault_state.warning(self.fault_text) else: if pv_power != 0: power = self.__tcp_client.read_input_registers(5082, ModbusDataType.INT_32, @@ -52,7 +52,7 @@ def update(self, pv_power: float): wordorder=Endian.Little, unit=unit) except Exception: powers = None - self.fault_state.no_error(self.fault_text) + self.fault_state.warning(self.fault_text) frequency = self.__tcp_client.read_input_registers(5035, ModbusDataType.UINT_16, unit=unit) / 10 if self.device_config.configuration.version == Version.SH_winet_dongle: diff --git a/packages/modules/display_themes/cards/source/package-lock.json b/packages/modules/display_themes/cards/source/package-lock.json index 90340078b8..66f2e41d51 100644 --- a/packages/modules/display_themes/cards/source/package-lock.json +++ b/packages/modules/display_themes/cards/source/package-lock.json @@ -8,50 +8,36 @@ "name": "openwb-display-cards", "version": "0.0.0", "dependencies": { - "@fortawesome/fontawesome-svg-core": "^6.7.2", - "@fortawesome/free-regular-svg-icons": "^6.7.2", - "@fortawesome/free-solid-svg-icons": "^6.7.2", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-regular-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/vue-fontawesome": "^3.0.8", "@inkline/inkline": "^3.2.2", "buffer": "^6.0.3", "events": "^3.3.0", - "mqtt": "^5.10.3", - "node-stdlib-browser": "^1.3.1", - "pinia": "^2.3.1", - "vue": "^3.5.13", - "vue-router": "^4.5.0" + "mqtt": "^5.10.1", + "node-stdlib-browser": "^1.2.1", + "pinia": "^2.2.6", + "vue": "^3.5.12", + "vue-router": "^4.4.5" }, "devDependencies": { "@rollup/plugin-terser": "^0.4.4", - "@rushstack/eslint-patch": "^1.10.5", - "@vitejs/plugin-vue": "^5.2.1", - "@vue/eslint-config-prettier": "^10.2.0", + "@rushstack/eslint-patch": "^1.10.4", + "@vitejs/plugin-vue": "^5.1.4", + "@vue/eslint-config-prettier": "^9.0.0", "@vue/test-utils": "^2.4.6", - "eslint": "^9.19.0", - "eslint-plugin-vue": "^9.32.0", - "jsdom": "^26.0.0", - "postcss": "^8.5.1", - "postcss-preset-env": "^10.1.3", - "prettier": "^3.4.2", + "eslint": "^9.14.0", + "eslint-plugin-vue": "^9.30.0", + "jsdom": "^25.0.1", + "postcss": "^8.4.47", + "postcss-preset-env": "^10.0.9", + "prettier": "^3.3.3", "rollup-plugin-polyfill-node": "^0.13.0", - "sass": "^1.84.0", - "vite": "^5.4.14", - "vite-plugin-node-polyfills": "^0.23.0", - "vitest": "^2.1.9" - } - }, - "node_modules/@asamuzakjp/css-color": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-2.8.3.tgz", - "integrity": "sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.1", - "@csstools/css-color-parser": "^3.0.7", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" + "sass": "^1.80.6", + "vite": "^5.4.10", + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.1.4" } }, "node_modules/@babel/helper-string-parser": { @@ -73,12 +59,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", - "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.26.7" + "@babel/types": "^7.26.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -88,9 +74,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", - "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" @@ -100,9 +86,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -1692,13 +1678,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.6", + "@eslint/object-schema": "^2.1.5", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -1744,9 +1730,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", - "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", + "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", "dev": true, "license": "MIT", "engines": { @@ -1754,9 +1740,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1933,9 +1919,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "license": "MIT", "dependencies": { @@ -2003,9 +1989,9 @@ "license": "MIT" }, "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", + "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2024,25 +2010,25 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" + "@parcel/watcher-android-arm64": "2.5.0", + "@parcel/watcher-darwin-arm64": "2.5.0", + "@parcel/watcher-darwin-x64": "2.5.0", + "@parcel/watcher-freebsd-x64": "2.5.0", + "@parcel/watcher-linux-arm-glibc": "2.5.0", + "@parcel/watcher-linux-arm-musl": "2.5.0", + "@parcel/watcher-linux-arm64-glibc": "2.5.0", + "@parcel/watcher-linux-arm64-musl": "2.5.0", + "@parcel/watcher-linux-x64-glibc": "2.5.0", + "@parcel/watcher-linux-x64-musl": "2.5.0", + "@parcel/watcher-win32-arm64": "2.5.0", + "@parcel/watcher-win32-ia32": "2.5.0", + "@parcel/watcher-win32-x64": "2.5.0" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz", + "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==", "cpu": [ "arm64" ], @@ -2061,9 +2047,9 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz", + "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==", "cpu": [ "arm64" ], @@ -2082,9 +2068,9 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz", + "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==", "cpu": [ "x64" ], @@ -2103,9 +2089,9 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz", + "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==", "cpu": [ "x64" ], @@ -2124,9 +2110,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz", + "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==", "cpu": [ "arm" ], @@ -2145,9 +2131,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz", + "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==", "cpu": [ "arm" ], @@ -2166,9 +2152,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz", + "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==", "cpu": [ "arm64" ], @@ -2187,9 +2173,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz", + "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==", "cpu": [ "arm64" ], @@ -2208,9 +2194,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", + "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", "cpu": [ "x64" ], @@ -2229,9 +2215,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", + "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", "cpu": [ "x64" ], @@ -2250,9 +2236,9 @@ } }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz", + "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==", "cpu": [ "arm64" ], @@ -2271,9 +2257,9 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz", + "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==", "cpu": [ "ia32" ], @@ -2292,9 +2278,9 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz", + "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==", "cpu": [ "x64" ], @@ -2393,9 +2379,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", + "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", "dev": true, "license": "MIT", "dependencies": { @@ -2416,9 +2402,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.4.tgz", - "integrity": "sha512-gGi5adZWvjtJU7Axs//CWaQbQd/vGy8KGcnEaCWiyCqxWYDxwIlAHFuSe6Guoxtd0SRvSfVTDMPd5H+4KE2kKA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", + "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", "cpu": [ "arm" ], @@ -2430,9 +2416,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.4.tgz", - "integrity": "sha512-1aRlh1gqtF7vNPMnlf1vJKk72Yshw5zknR/ZAVh7zycRAGF2XBMVDAHmFQz/Zws5k++nux3LOq/Ejj1WrDR6xg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", + "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", "cpu": [ "arm64" ], @@ -2444,9 +2430,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.4.tgz", - "integrity": "sha512-drHl+4qhFj+PV/jrQ78p9ch6A0MfNVZScl/nBps5a7u01aGf/GuBRrHnRegA9bP222CBDfjYbFdjkIJ/FurvSQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", + "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", "cpu": [ "arm64" ], @@ -2458,9 +2444,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.4.tgz", - "integrity": "sha512-hQqq/8QALU6t1+fbNmm6dwYsa0PDD4L5r3TpHx9dNl+aSEMnIksHZkSO3AVH+hBMvZhpumIGrTFj8XCOGuIXjw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", + "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", "cpu": [ "x64" ], @@ -2472,9 +2458,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.4.tgz", - "integrity": "sha512-/L0LixBmbefkec1JTeAQJP0ETzGjFtNml2gpQXA8rpLo7Md+iXQzo9kwEgzyat5Q+OG/C//2B9Fx52UxsOXbzw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", + "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", "cpu": [ "arm64" ], @@ -2486,9 +2472,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.4.tgz", - "integrity": "sha512-6Rk3PLRK+b8L/M6m/x6Mfj60LhAUcLJ34oPaxufA+CfqkUrDoUPQYFdRrhqyOvtOKXLJZJwxlOLbQjNYQcRQfw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", + "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", "cpu": [ "x64" ], @@ -2500,9 +2486,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.4.tgz", - "integrity": "sha512-kmT3x0IPRuXY/tNoABp2nDvI9EvdiS2JZsd4I9yOcLCCViKsP0gB38mVHOhluzx+SSVnM1KNn9k6osyXZhLoCA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", + "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", "cpu": [ "arm" ], @@ -2514,9 +2500,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.4.tgz", - "integrity": "sha512-3iSA9tx+4PZcJH/Wnwsvx/BY4qHpit/u2YoZoXugWVfc36/4mRkgGEoRbRV7nzNBSCOgbWMeuQ27IQWgJ7tRzw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", + "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", "cpu": [ "arm" ], @@ -2528,9 +2514,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.4.tgz", - "integrity": "sha512-7CwSJW+sEhM9sESEk+pEREF2JL0BmyCro8UyTq0Kyh0nu1v0QPNY3yfLPFKChzVoUmaKj8zbdgBxUhBRR+xGxg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", + "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", "cpu": [ "arm64" ], @@ -2542,9 +2528,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.4.tgz", - "integrity": "sha512-GZdafB41/4s12j8Ss2izofjeFXRAAM7sHCb+S4JsI9vaONX/zQ8cXd87B9MRU/igGAJkKvmFmJJBeeT9jJ5Cbw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", + "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", "cpu": [ "arm64" ], @@ -2555,24 +2541,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.4.tgz", - "integrity": "sha512-uuphLuw1X6ur11675c2twC6YxbzyLSpWggvdawTUamlsoUv81aAXRMPBC1uvQllnBGls0Qt5Siw8reSIBnbdqQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.4.tgz", - "integrity": "sha512-KvLEw1os2gSmD6k6QPCQMm2T9P2GYvsMZMRpMz78QpSoEevHbV/KOUbI/46/JRalhtSAYZBYLAnT9YE4i/l4vg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", + "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", "cpu": [ "ppc64" ], @@ -2584,9 +2556,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.4.tgz", - "integrity": "sha512-wcpCLHGM9yv+3Dql/CI4zrY2mpQ4WFergD3c9cpRowltEh5I84pRT/EuHZsG0In4eBPPYthXnuR++HrFkeqwkA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", + "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", "cpu": [ "riscv64" ], @@ -2598,9 +2570,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.4.tgz", - "integrity": "sha512-nLbfQp2lbJYU8obhRQusXKbuiqm4jSJteLwfjnunDT5ugBKdxqw1X9KWwk8xp1OMC6P5d0WbzxzhWoznuVK6XA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", + "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", "cpu": [ "s390x" ], @@ -2612,9 +2584,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.4.tgz", - "integrity": "sha512-JGejzEfVzqc/XNiCKZj14eb6s5w8DdWlnQ5tWUbs99kkdvfq9btxxVX97AaxiUX7xJTKFA0LwoS0KU8C2faZRg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", + "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", "cpu": [ "x64" ], @@ -2626,9 +2598,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.4.tgz", - "integrity": "sha512-/iFIbhzeyZZy49ozAWJ1ZR2KW6ZdYUbQXLT4O5n1cRZRoTpwExnHLjlurDXXPKEGxiAg0ujaR9JDYKljpr2fDg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", + "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", "cpu": [ "x64" ], @@ -2640,9 +2612,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.4.tgz", - "integrity": "sha512-qORc3UzoD5UUTneiP2Afg5n5Ti1GAW9Gp5vHPxzvAFFA3FBaum9WqGvYXGf+c7beFdOKNos31/41PRMUwh1tpA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", + "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", "cpu": [ "arm64" ], @@ -2654,9 +2626,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.4.tgz", - "integrity": "sha512-5g7E2PHNK2uvoD5bASBD9aelm44nf1w4I5FEI7MPHLWcCSrR8JragXZWgKPXk5i2FU3JFfa6CGZLw2RrGBHs2Q==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", + "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", "cpu": [ "ia32" ], @@ -2668,9 +2640,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.4.tgz", - "integrity": "sha512-p0scwGkR4kZ242xLPBuhSckrJ734frz6v9xZzD+kHVYRAkSUmdSLCIJRfql6H5//aF8Q10K+i7q8DiPfZp0b7A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", + "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", "cpu": [ "x64" ], @@ -2703,12 +2675,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.19.8" } }, "node_modules/@types/readable-stream": { @@ -2722,9 +2694,9 @@ } }, "node_modules/@types/ws": { - "version": "8.5.14", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz", - "integrity": "sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==", + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -2745,14 +2717,14 @@ } }, "node_modules/@vitest/expect": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz", - "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.8.tgz", + "integrity": "sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", + "@vitest/spy": "2.1.8", + "@vitest/utils": "2.1.8", "chai": "^5.1.2", "tinyrainbow": "^1.2.0" }, @@ -2761,13 +2733,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz", - "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.8.tgz", + "integrity": "sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", + "@vitest/spy": "2.1.8", "estree-walker": "^3.0.3", "magic-string": "^0.30.12" }, @@ -2798,9 +2770,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", - "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.8.tgz", + "integrity": "sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2811,13 +2783,13 @@ } }, "node_modules/@vitest/runner": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz", - "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.8.tgz", + "integrity": "sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "2.1.9", + "@vitest/utils": "2.1.8", "pathe": "^1.1.2" }, "funding": { @@ -2825,13 +2797,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz", - "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.8.tgz", + "integrity": "sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", + "@vitest/pretty-format": "2.1.8", "magic-string": "^0.30.12", "pathe": "^1.1.2" }, @@ -2840,9 +2812,9 @@ } }, "node_modules/@vitest/spy": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz", - "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.8.tgz", + "integrity": "sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==", "dev": true, "license": "MIT", "dependencies": { @@ -2853,13 +2825,13 @@ } }, "node_modules/@vitest/utils": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz", - "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.8.tgz", + "integrity": "sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", + "@vitest/pretty-format": "2.1.8", "loupe": "^3.1.2", "tinyrainbow": "^1.2.0" }, @@ -2924,17 +2896,17 @@ "license": "MIT" }, "node_modules/@vue/eslint-config-prettier": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz", - "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-z1ZIAAUS9pKzo/ANEfd2sO+v2IUalz7cM/cTLOZ7vRFOPk5/xuRKQteOu1DErFLAh/lYGXMVZ0IfYKlyInuDVg==", "dev": true, "license": "MIT", "dependencies": { - "eslint-config-prettier": "^10.0.1", - "eslint-plugin-prettier": "^5.2.2" + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-prettier": "^5.0.0" }, "peerDependencies": { - "eslint": ">= 8.21.0", + "eslint": ">= 8.0.0", "prettier": ">= 3.0.0" } }, @@ -3045,11 +3017,14 @@ } }, "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, "engines": { "node": ">= 14" } @@ -3119,9 +3094,9 @@ } }, "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "license": "MIT" }, "node_modules/assert": { @@ -3235,9 +3210,9 @@ "license": "MIT" }, "node_modules/bl": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.19.tgz", - "integrity": "sha512-4Ay3A3oDfGg3GGirhl4s62ebtnk0pJZA5mLp672MPKOQXsWvXjEF4dqdXySjJIs7b9OVr/O8aOo0Lm+xdjo2JA==", + "version": "6.0.18", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.18.tgz", + "integrity": "sha512-2k76XmWCuvu9HTvu3tFOl5HDdCH0wLZ/jHYva/LBVJmc9oX8yUtNQjxrFmbTdXsCSmIxwVTANZPNDfMQrvHFUw==", "license": "MIT", "dependencies": { "@types/readable-stream": "^4.0.0", @@ -3457,9 +3432,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "funding": [ { @@ -3477,9 +3452,9 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.1" }, "bin": { @@ -3542,44 +3517,16 @@ } }, "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", - "license": "MIT", - "dependencies": { "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -3599,9 +3546,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001697", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001697.tgz", - "integrity": "sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ==", + "version": "1.0.30001679", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001679.tgz", + "integrity": "sha512-j2YqID/YwpLnKzCmBOS4tlZdWprXm3ZmQLBH9ZBXFOhoxLA46fwyBvx6toCBWBmnuwUY/qB3kEU6gFx8qgCroA==", "dev": true, "funding": [ { @@ -3664,9 +3611,9 @@ } }, "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "dev": true, "license": "MIT", "dependencies": { @@ -3680,38 +3627,15 @@ } }, "node_modules/cipher-base": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", - "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "license": "MIT", "dependencies": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.10" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/cipher-base/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/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3836,9 +3760,9 @@ } }, "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "license": "MIT" }, "node_modules/create-hash": { @@ -4074,14 +3998,13 @@ } }, "node_modules/cssstyle": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.2.1.tgz", - "integrity": "sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz", + "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==", "dev": true, "license": "MIT", "dependencies": { - "@asamuzakjp/css-color": "^2.8.2", - "rrweb-cssom": "^0.8.0" + "rrweb-cssom": "^0.7.1" }, "engines": { "node": ">=18" @@ -4108,9 +4031,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -4125,9 +4048,9 @@ } }, "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true, "license": "MIT" }, @@ -4228,9 +4151,9 @@ } }, "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "license": "MIT" }, "node_modules/domain-browser": { @@ -4245,20 +4168,6 @@ "url": "https://bevry.me/fund" } }, - "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/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -4312,16 +4221,16 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.93", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.93.tgz", - "integrity": "sha512-M+29jTcfNNoR9NV7la4SwUqzWAxEwnc7ThA5e1m6LRSotmpfpCpLcIfgtSCVL+MllNLgAyM/5ru86iMRemPzDQ==", + "version": "1.5.55", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.55.tgz", + "integrity": "sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==", "dev": true, "license": "ISC" }, "node_modules/elliptic": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", - "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz", + "integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==", "license": "MIT", "dependencies": { "bn.js": "^4.11.9", @@ -4334,9 +4243,9 @@ } }, "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "license": "MIT" }, "node_modules/emoji-regex": { @@ -4359,10 +4268,13 @@ } }, "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==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, "engines": { "node": ">= 0.4" } @@ -4383,18 +4295,6 @@ "dev": true, "license": "MIT" }, - "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/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -4458,9 +4358,9 @@ } }, "node_modules/eslint": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", - "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", + "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", "dev": true, "license": "MIT", "dependencies": { @@ -4469,7 +4369,7 @@ "@eslint/config-array": "^0.19.0", "@eslint/core": "^0.10.0", "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.19.0", + "@eslint/js": "9.18.0", "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -4518,22 +4418,22 @@ } }, "node_modules/eslint-config-prettier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz", - "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "license": "MIT", "bin": { - "eslint-config-prettier": "build/bin/cli.js" + "eslint-config-prettier": "bin/cli.js" }, "peerDependencies": { "eslint": ">=7.0.0" } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz", - "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", "dev": true, "license": "MIT", "dependencies": { @@ -4837,25 +4737,19 @@ } }, "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true, "license": "ISC" }, "node_modules/for-each": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", - "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "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.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "is-callable": "^1.1.3" } }, "node_modules/foreground-child": { @@ -4929,21 +4823,16 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -4952,19 +4841,6 @@ "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/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -5039,12 +4915,12 @@ } }, "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5072,10 +4948,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "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==", + "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" @@ -5100,38 +4988,18 @@ } }, "node_modules/hash-base": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", - "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", "license": "MIT", "dependencies": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=4" } }, - "node_modules/hash-base/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/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -5205,13 +5073,13 @@ "license": "MIT" }, "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { @@ -5269,9 +5137,9 @@ "license": "MIT" }, "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "license": "MIT", "dependencies": { @@ -5309,13 +5177,13 @@ "license": "ISC" }, "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "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-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5337,9 +5205,9 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -5372,15 +5240,12 @@ } }, "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "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": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5436,31 +5301,13 @@ "dev": true, "license": "MIT" }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.16" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -5563,23 +5410,23 @@ } }, "node_modules/jsdom": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.0.0.tgz", - "integrity": "sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw==", + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", + "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", "dev": true, "license": "MIT", "dependencies": { - "cssstyle": "^4.2.1", + "cssstyle": "^4.1.0", "data-urls": "^5.0.0", "decimal.js": "^10.4.3", - "form-data": "^4.0.1", + "form-data": "^4.0.0", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.6", + "https-proxy-agent": "^7.0.5", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.16", - "parse5": "^7.2.1", - "rrweb-cssom": "^0.8.0", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^5.0.0", @@ -5587,7 +5434,7 @@ "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.1.0", + "whatwg-url": "^14.0.0", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, @@ -5595,7 +5442,7 @@ "node": ">=18" }, "peerDependencies": { - "canvas": "^3.0.0" + "canvas": "^2.11.2" }, "peerDependenciesMeta": { "canvas": { @@ -5688,9 +5535,9 @@ "license": "MIT" }, "node_modules/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", "dev": true, "license": "MIT" }, @@ -5701,23 +5548,14 @@ "license": "ISC" }, "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "version": "0.30.12", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "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/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -5772,9 +5610,9 @@ } }, "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "license": "MIT" }, "node_modules/mime-db": { @@ -5927,16 +5765,16 @@ "optional": true }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true, "license": "MIT" }, "node_modules/node-stdlib-browser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz", - "integrity": "sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.0.tgz", + "integrity": "sha512-g/koYzOr9Fb1Jc+tHUHlFd5gODjGn48tHexUK8q6iqOVriEgSnd3/1T7myBYc+0KBVze/7F7n65ec9rW6OD7xw==", "license": "MIT", "dependencies": { "assert": "^2.0.0", @@ -5946,7 +5784,7 @@ "console-browserify": "^1.1.0", "constants-browserify": "^1.0.0", "create-require": "^1.1.1", - "crypto-browserify": "^3.12.1", + "crypto-browserify": "^3.11.0", "domain-browser": "4.22.0", "events": "^3.0.0", "https-browserify": "^1.0.0", @@ -6059,16 +5897,16 @@ } }, "node_modules/nwsapi": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.16.tgz", - "integrity": "sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==", + "version": "2.2.13", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", "dev": true, "license": "MIT" }, "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==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -6103,16 +5941,14 @@ } }, "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "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.8", - "call-bound": "^1.0.3", + "call-bind": "^1.0.5", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -6353,9 +6189,9 @@ } }, "node_modules/pinia": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.1.tgz", - "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.0.tgz", + "integrity": "sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==", "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.6.3", @@ -6374,6 +6210,32 @@ } } }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/pkg-dir": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", @@ -7377,9 +7239,9 @@ } }, "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "license": "MIT" }, "node_modules/punycode": { @@ -7389,12 +7251,12 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -7447,13 +7309,13 @@ } }, "node_modules/readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14.18.0" + "node": ">= 14.16.0" }, "funding": { "type": "individual", @@ -7473,21 +7335,18 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "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.16.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7519,9 +7378,9 @@ } }, "node_modules/rollup": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.4.tgz", - "integrity": "sha512-spF66xoyD7rz3o08sHP7wogp1gZ6itSq22SGa/IZTcUDXDlOyrShwMwkVSB+BUxFRZZCUYqdb3KWDEOMVQZxuw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", + "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", "dev": true, "license": "MIT", "dependencies": { @@ -7535,25 +7394,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.4", - "@rollup/rollup-android-arm64": "4.34.4", - "@rollup/rollup-darwin-arm64": "4.34.4", - "@rollup/rollup-darwin-x64": "4.34.4", - "@rollup/rollup-freebsd-arm64": "4.34.4", - "@rollup/rollup-freebsd-x64": "4.34.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.4", - "@rollup/rollup-linux-arm-musleabihf": "4.34.4", - "@rollup/rollup-linux-arm64-gnu": "4.34.4", - "@rollup/rollup-linux-arm64-musl": "4.34.4", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.4", - "@rollup/rollup-linux-riscv64-gnu": "4.34.4", - "@rollup/rollup-linux-s390x-gnu": "4.34.4", - "@rollup/rollup-linux-x64-gnu": "4.34.4", - "@rollup/rollup-linux-x64-musl": "4.34.4", - "@rollup/rollup-win32-arm64-msvc": "4.34.4", - "@rollup/rollup-win32-ia32-msvc": "4.34.4", - "@rollup/rollup-win32-x64-msvc": "4.34.4", + "@rollup/rollup-android-arm-eabi": "4.24.4", + "@rollup/rollup-android-arm64": "4.24.4", + "@rollup/rollup-darwin-arm64": "4.24.4", + "@rollup/rollup-darwin-x64": "4.24.4", + "@rollup/rollup-freebsd-arm64": "4.24.4", + "@rollup/rollup-freebsd-x64": "4.24.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", + "@rollup/rollup-linux-arm-musleabihf": "4.24.4", + "@rollup/rollup-linux-arm64-gnu": "4.24.4", + "@rollup/rollup-linux-arm64-musl": "4.24.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", + "@rollup/rollup-linux-riscv64-gnu": "4.24.4", + "@rollup/rollup-linux-s390x-gnu": "4.24.4", + "@rollup/rollup-linux-x64-gnu": "4.24.4", + "@rollup/rollup-linux-x64-musl": "4.24.4", + "@rollup/rollup-win32-arm64-msvc": "4.24.4", + "@rollup/rollup-win32-ia32-msvc": "4.24.4", + "@rollup/rollup-win32-x64-msvc": "4.24.4", "fsevents": "~2.3.2" } }, @@ -7571,9 +7429,9 @@ } }, "node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", "dev": true, "license": "MIT" }, @@ -7583,23 +7441,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "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", @@ -7608,9 +7449,9 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.84.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.84.0.tgz", - "integrity": "sha512-XDAbhEPJRxi7H0SxrnOpiXFQoUJHwkR2u3Zc4el+fK/Tt5Hpzw5kkQ59qVDfvdaUq6gCrEZIbySFBM2T9DNKHg==", + "version": "1.83.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz", + "integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==", "dev": true, "license": "MIT", "dependencies": { @@ -7642,9 +7483,9 @@ } }, "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, "license": "ISC", "bin": { @@ -7724,69 +7565,15 @@ } }, "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==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { "node": ">= 0.4" @@ -8121,9 +7908,9 @@ } }, "node_modules/terser": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.38.0.tgz", - "integrity": "sha512-a4GD5R1TjEeuCT6ZRiYMHmIf7okbCPEuhQET8bczV6FrQMMlFXA1n+G0KKjdlFCm3TEHV77GxfZB3vZSUQGFpg==", + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -8166,16 +7953,16 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", + "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==", "dev": true, "license": "MIT" }, "node_modules/tinypool": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", - "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", "dev": true, "license": "MIT", "engines": { @@ -8203,22 +7990,22 @@ } }, "node_modules/tldts": { - "version": "6.1.76", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.76.tgz", - "integrity": "sha512-6U2ti64/nppsDxQs9hw8ephA3nO6nSQvVVfxwRw8wLQPFtLI1cFI1a1eP22g+LUP+1TA2pKKjUTwWB+K2coqmQ==", + "version": "6.1.59", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.59.tgz", + "integrity": "sha512-472ilPxsRuqBBpn+KuRBHJvZhk6tTo4yTVsmODrLBNLwRYJPkDfMEHivgNwp5iEl+cbrZzzRtLKRxZs7+QKkRg==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.76" + "tldts-core": "^6.1.59" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.76", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.76.tgz", - "integrity": "sha512-uzhJ02RaMzgQR3yPoeE65DrcHI6LoM4saUqXOt/b5hmb3+mc4YWpdSeAQqVqRUlQ14q8ZuLRWyBR1ictK1dzzg==", + "version": "6.1.59", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.59.tgz", + "integrity": "sha512-EiYgNf275AQyVORl8HQYYe7rTVnmLb4hkWK7wAk/12Ksy5EiHpmUmTICa4GojookBPC8qkLMBKKwCmzNA47ZPQ==", "dev": true, "license": "MIT" }, @@ -8237,9 +8024,9 @@ } }, "node_modules/tough-cookie": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.0.tgz", - "integrity": "sha512-rvZUv+7MoBYTiDmFPBrhL7Ujx9Sk+q9wwm22x8c8T5IJaR+Wsyc7TNxbVxo84kZoRJZZMazowFLqpankBEQrGg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", + "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8317,15 +8104,15 @@ "license": "MIT" }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "license": "MIT" }, "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "dev": true, "funding": [ { @@ -8344,7 +8131,7 @@ "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.1" + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -8406,9 +8193,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", - "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8466,9 +8253,9 @@ } }, "node_modules/vite-node": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz", - "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.8.tgz", + "integrity": "sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==", "dev": true, "license": "MIT", "dependencies": { @@ -8489,9 +8276,9 @@ } }, "node_modules/vite-plugin-node-polyfills": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.23.0.tgz", - "integrity": "sha512-4n+Ys+2bKHQohPBKigFlndwWQ5fFKwaGY6muNDMTb0fSQLyBzS+jjUNRZG9sKF0S/Go4ApG6LFnUGopjkILg3w==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.22.0.tgz", + "integrity": "sha512-F+G3LjiGbG8QpbH9bZ//GSBr9i1InSTkaulfUHFa9jkLqVGORFBoqc2A/Yu5Mmh1kNAbiAeKeK+6aaQUf3x0JA==", "dev": true, "license": "MIT", "dependencies": { @@ -8502,23 +8289,23 @@ "url": "https://github.com/sponsors/davidmyersdev" }, "peerDependencies": { - "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" } }, "node_modules/vitest": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz", - "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.8.tgz", + "integrity": "sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "2.1.9", - "@vitest/mocker": "2.1.9", - "@vitest/pretty-format": "^2.1.9", - "@vitest/runner": "2.1.9", - "@vitest/snapshot": "2.1.9", - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", + "@vitest/expect": "2.1.8", + "@vitest/mocker": "2.1.8", + "@vitest/pretty-format": "^2.1.8", + "@vitest/runner": "2.1.8", + "@vitest/snapshot": "2.1.8", + "@vitest/spy": "2.1.8", + "@vitest/utils": "2.1.8", "chai": "^5.1.2", "debug": "^4.3.7", "expect-type": "^1.1.0", @@ -8530,7 +8317,7 @@ "tinypool": "^1.0.1", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.1.9", + "vite-node": "2.1.8", "why-is-node-running": "^2.3.0" }, "bin": { @@ -8545,8 +8332,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.1.9", - "@vitest/ui": "2.1.9", + "@vitest/browser": "2.1.8", + "@vitest/ui": "2.1.8", "happy-dom": "*", "jsdom": "*" }, @@ -8599,38 +8386,12 @@ } }, "node_modules/vue-component-type-helpers": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.0.tgz", - "integrity": "sha512-cYrAnv2me7bPDcg9kIcGwjJiSB6Qyi08+jLDo9yuvoFQjzHiPTzML7RnkJB1+3P6KMsX/KbCD4QE3Tv/knEllw==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.1.10.tgz", + "integrity": "sha512-lfgdSLQKrUmADiSV6PbBvYgQ33KF3Ztv6gP85MfGaGaSGMTXORVaHT1EHfsqCgzRNBstPKYDmvAV9Do5CmJ07A==", "dev": true, "license": "MIT" }, - "node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/vue-eslint-parser": { "version": "9.4.3", "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", @@ -8776,9 +8537,9 @@ } }, "node_modules/whatwg-url": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.1.0.tgz", - "integrity": "sha512-jlf/foYIKywAt3x/XWKZ/3rz8OSJPiWktjmk891alJUEjiVxKX9LEO92qH3hv4aJ0mN3MWPvGMCy8jQi95xK4w==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", "dev": true, "license": "MIT", "dependencies": { @@ -8806,16 +8567,15 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "gopd": "^1.2.0", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.2" }, "engines": { diff --git a/packages/modules/display_themes/cards/source/package.json b/packages/modules/display_themes/cards/source/package.json index 503e83cdf5..bb494b764f 100644 --- a/packages/modules/display_themes/cards/source/package.json +++ b/packages/modules/display_themes/cards/source/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite --host --open", + "dev": "vite --host", "build": "vite build --out-dir=../web/ --emptyOutDir", "preview": "vite preview --host", "test:unit": "vitest run --environment jsdom --root src/", @@ -12,35 +12,35 @@ "build-dev": "vite build --mode=development --out-dir=../web/ --emptyOutDir" }, "dependencies": { - "@fortawesome/fontawesome-svg-core": "^6.7.2", - "@fortawesome/free-regular-svg-icons": "^6.7.2", - "@fortawesome/free-solid-svg-icons": "^6.7.2", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-regular-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/vue-fontawesome": "^3.0.8", "@inkline/inkline": "^3.2.2", "buffer": "^6.0.3", "events": "^3.3.0", - "mqtt": "^5.10.3", - "node-stdlib-browser": "^1.3.1", - "pinia": "^2.3.1", - "vue": "^3.5.13", - "vue-router": "^4.5.0" + "mqtt": "^5.10.1", + "node-stdlib-browser": "^1.2.1", + "pinia": "^2.2.6", + "vue": "^3.5.12", + "vue-router": "^4.4.5" }, "devDependencies": { "@rollup/plugin-terser": "^0.4.4", - "@rushstack/eslint-patch": "^1.10.5", - "@vitejs/plugin-vue": "^5.2.1", - "@vue/eslint-config-prettier": "^10.2.0", + "@rushstack/eslint-patch": "^1.10.4", + "@vitejs/plugin-vue": "^5.1.4", + "@vue/eslint-config-prettier": "^9.0.0", "@vue/test-utils": "^2.4.6", - "eslint": "^9.19.0", - "eslint-plugin-vue": "^9.32.0", - "jsdom": "^26.0.0", - "postcss": "^8.5.1", - "postcss-preset-env": "^10.1.3", - "prettier": "^3.4.2", + "eslint": "^9.14.0", + "eslint-plugin-vue": "^9.30.0", + "jsdom": "^25.0.1", + "postcss": "^8.4.47", + "postcss-preset-env": "^10.0.9", + "prettier": "^3.3.3", "rollup-plugin-polyfill-node": "^0.13.0", - "sass": "^1.84.0", - "vite": "^5.4.14", - "vite-plugin-node-polyfills": "^0.23.0", - "vitest": "^2.1.9" + "sass": "^1.80.6", + "vite": "^5.4.10", + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.1.4" } } diff --git a/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-CV-eneFK.js b/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-CV-eneFK.js new file mode 100644 index 0000000000..84e50d08b1 --- /dev/null +++ b/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-CV-eneFK.js @@ -0,0 +1 @@ +import{O as x,o as h,e as c,i as f,F as P,A as w,y as m,j as S,q as d,l as C,n as v,s as b,x as g}from"./vendor-DIlzVmqi.js";import{_ as y}from"./vendor-inkline-CWAydWlY.js";import{u as k}from"./index-BSB1CRIg.js";import{l as D,z as I,A as q,B as $,F as z}from"./vendor-fortawesome--vLnJNbG.js";const l={props:{data:{required:!1,type:Array,default:void 0},socData:{required:!1,type:Array,default:void 0},width:{type:Number,default:250},height:{type:Number,default:70},gap:{type:Number,default:3},stroke:{type:Number,default:3},min:{type:Number,default:0},max:{type:Number,default:1},color:{type:String,default:"var(--color--primary)"},colorNegative:{type:String,default:void 0}},computed:{highestPoint(){return Math.max(1,this.max,...this.slicedData)},lowestPoint(){return Math.min(0,this.min,...this.slicedData)},maxPoints(){return Math.floor(this.width/(this.stroke+this.gap))},slicedData(){if(this.data)return this.data.slice(-this.maxPoints)},slicedSocData(){if(this.socData)return this.socData.slice(-this.maxPoints)},zeroHeight(){return this.height-(0-this.lowestPoint)/(this.highestPoint-this.lowestPoint)*this.height},coordinates(){if(this.data)return this.calculateCoordinates(this.slicedData,this.lowestPoint,this.highestPoint)},socCoordinates(){if(this.socData)return this.calculateCoordinates(this.slicedSocData,0,100)},bars(){if(this.coordinates){const t=[];return this.coordinates.forEach(s=>{const e=s.x,o=s.y,r=this.stroke,a=Math.min(o,this.zeroHeight),i=Math.abs(o-this.zeroHeight),n=o>this.zeroHeight;t.push({x:e,y:a,width:r,height:i,negative:n})}),t}},socPath(){if(this.socCoordinates&&this.socCoordinates.length>0){let s=this.socCoordinates.slice(0,1)[0],e=this.socCoordinates.slice(-1)[0];var t=`M 0,${this.height}`;return t+=` L 0,${s.y}`,this.socCoordinates.forEach(o=>{t+=` L ${o.x+this.stroke/2},${o.y}`}),t+=` L ${e.x+this.stroke},${e.y} L ${e.x+this.stroke},${this.height} Z`}}},methods:{calculateCoordinates(t,s,e){const o=[];return t.forEach((r,a)=>{const i=a*this.width/this.maxPoints+1,n=this.height-(r-s)/(e-s)*this.height;o.push({x:i,y:n})}),o}}},u=()=>{x(t=>({"3f7db06a":t.color,"1de516bf":t.colorNegative}))},p=l.setup;l.setup=p?(t,s)=>(u(),p(t,s)):u;const N=["viewBox"],M=["d"],_=["x","y","width","height"],A=["y1","x2","y2"],O=y(l,[["render",function(t,s,e,o,r,a){return h(),c("svg",{class:"spark-line",viewBox:`0 0 ${e.width} ${e.height}`,width:"100%",preserveAspectRatio:"xMinYMin"},[e.socData?(h(),c("path",{key:0,class:"soc-path",d:a.socPath},null,8,M)):f("",!0),(h(!0),c(P,null,w(a.bars,i=>(h(),c("rect",{key:i.x,x:i.x,y:i.y,width:i.width,height:i.height,class:m(e.colorNegative&&i.negative?"negative":"")},null,10,_))),128)),S("line",{class:"zero-line",x1:0,y1:a.zeroHeight,x2:e.width,y2:a.zeroHeight},null,8,A)],8,N)}],["__scopeId","data-v-22cdf82b"]]);D.add(I,q,$);const E={name:"ChargePointStateBadge",components:{FontAwesomeIcon:z},props:{chargePointId:{required:!0,type:Array},showEnergyCharged:{required:!1,type:Boolean,default:!0}},data:()=>({mqttStore:k()}),computed:{plugState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointPlugState(s)}),t},chargeState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointChargeState(s)}),t},stateIcon(){return this.plugState?this.chargeState?["fas","fa-plug-circle-bolt"]:["fas","fa-plug-circle-check"]:["fas","fa-plug-circle-xmark"]},stateClass(){return this.plugState?this.chargeState?"_color:success":"_color:warning":"_color:gray"}}},H={key:0,class:"_padding-left:1"},R=y(E,[["render",function(t,s,e,o,r,a){const i=d("font-awesome-icon"),n=d("i-badge");return h(),C(n,{size:"lg"},{default:v(()=>[b(i,{"fixed-width":"",icon:a.stateIcon,class:m(a.stateClass)},null,8,["icon","class"]),a.plugState&&e.showEnergyCharged?(h(),c("span",H,g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).energy)+" / "+g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).range),1)):f("",!0)]),_:1})}]]);export{R as C,O as S}; diff --git a/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-bP9BlN1o.js b/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-bP9BlN1o.js deleted file mode 100644 index 80c89ae38b..0000000000 --- a/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-bP9BlN1o.js +++ /dev/null @@ -1 +0,0 @@ -import{e as c,f,i as x,F as P,A as w,o as h,z as m,O as S,l as C,q as v,p as d,s as b,x as g}from"./vendor-BMrK3KHF.js";import{_ as y}from"./vendor-inkline-C_NPDnDu.js";import{u as k}from"./index-nI_NVV5B.js";import{F as D,l as I,z as q,A as z,B as $}from"./vendor-fortawesome-CpQlJZ13.js";const l={props:{data:{required:!1,type:Array,default:void 0},socData:{required:!1,type:Array,default:void 0},width:{type:Number,default:250},height:{type:Number,default:70},gap:{type:Number,default:3},stroke:{type:Number,default:3},min:{type:Number,default:0},max:{type:Number,default:1},color:{type:String,default:"var(--color--primary)"},colorNegative:{type:String,default:void 0}},computed:{highestPoint(){return Math.max(1,this.max,...this.slicedData)},lowestPoint(){return Math.min(0,this.min,...this.slicedData)},maxPoints(){return Math.floor(this.width/(this.stroke+this.gap))},slicedData(){if(this.data)return this.data.slice(-this.maxPoints)},slicedSocData(){if(this.socData)return this.socData.slice(-this.maxPoints)},zeroHeight(){return this.height-(0-this.lowestPoint)/(this.highestPoint-this.lowestPoint)*this.height},coordinates(){if(this.data)return this.calculateCoordinates(this.slicedData,this.lowestPoint,this.highestPoint)},socCoordinates(){if(this.socData)return this.calculateCoordinates(this.slicedSocData,0,100)},bars(){if(this.coordinates){const t=[];return this.coordinates.forEach(s=>{const e=s.x,o=s.y,r=this.stroke,a=Math.min(o,this.zeroHeight),i=Math.abs(o-this.zeroHeight),n=o>this.zeroHeight;t.push({x:e,y:a,width:r,height:i,negative:n})}),t}},socPath(){if(this.socCoordinates&&this.socCoordinates.length>0){let s=this.socCoordinates.slice(0,1)[0],e=this.socCoordinates.slice(-1)[0];var t=`M 0,${this.height}`;return t+=` L 0,${s.y}`,this.socCoordinates.forEach(o=>{t+=` L ${o.x+this.stroke/2},${o.y}`}),t+=` L ${e.x+this.stroke},${e.y} L ${e.x+this.stroke},${this.height} Z`}}},methods:{calculateCoordinates(t,s,e){const o=[];return t.forEach((r,a)=>{const i=a*this.width/this.maxPoints+1,n=this.height-(r-s)/(e-s)*this.height;o.push({x:i,y:n})}),o}}},u=()=>{S(t=>({"3f7db06a":t.color,"1de516bf":t.colorNegative}))},p=l.setup;l.setup=p?(t,s)=>(u(),p(t,s)):u;const N=["viewBox"],M=["d"],_=["x","y","width","height"],A=["y1","x2","y2"],R=y(l,[["render",function(t,s,e,o,r,a){return h(),c("svg",{class:"spark-line",viewBox:`0 0 ${e.width} ${e.height}`,width:"100%",preserveAspectRatio:"xMinYMin"},[e.socData?(h(),c("path",{key:0,class:"soc-path",d:a.socPath},null,8,M)):f("",!0),(h(!0),c(P,null,w(a.bars,i=>(h(),c("rect",{key:i.x,x:i.x,y:i.y,width:i.width,height:i.height,class:m(e.colorNegative&&i.negative?"negative":"")},null,10,_))),128)),x("line",{class:"zero-line",x1:0,y1:a.zeroHeight,x2:e.width,y2:a.zeroHeight},null,8,A)],8,N)}],["__scopeId","data-v-22cdf82b"]]);I.add(q,z,$);const E={name:"ChargePointStateBadge",components:{FontAwesomeIcon:D},props:{chargePointId:{required:!0,type:Array},showEnergyCharged:{required:!1,type:Boolean,default:!0}},data:()=>({mqttStore:k()}),computed:{plugState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointPlugState(s)}),t},chargeState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointChargeState(s)}),t},stateIcon(){return this.plugState?this.chargeState?["fas","fa-plug-circle-bolt"]:["fas","fa-plug-circle-check"]:["fas","fa-plug-circle-xmark"]},stateClass(){return this.plugState?this.chargeState?"_color:success":"_color:warning":"_color:gray"}}},H={key:0,class:"_padding-left:1"},Y=y(E,[["render",function(t,s,e,o,r,a){const i=d("font-awesome-icon"),n=d("i-badge");return h(),C(n,{size:"lg"},{default:v(()=>[b(i,{"fixed-width":"",icon:a.stateIcon,class:m(a.stateClass)},null,8,["icon","class"]),a.plugState&&e.showEnergyCharged?(h(),c("span",H,g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).energy)+" / "+g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).range),1)):f("",!0)]),_:1})}]]);export{Y as C,R as S}; diff --git a/packages/modules/display_themes/cards/web/assets/ChargePointsView-DAOuhP6h.js b/packages/modules/display_themes/cards/web/assets/ChargePointsView-B2Qojiic.js similarity index 97% rename from packages/modules/display_themes/cards/web/assets/ChargePointsView-DAOuhP6h.js rename to packages/modules/display_themes/cards/web/assets/ChargePointsView-B2Qojiic.js index b7adceab39..c10ef686fb 100644 --- a/packages/modules/display_themes/cards/web/assets/ChargePointsView-DAOuhP6h.js +++ b/packages/modules/display_themes/cards/web/assets/ChargePointsView-B2Qojiic.js @@ -1 +1 @@ -import{u as B,C as ae,N as ie}from"./index-nI_NVV5B.js";import{D as F}from"./DashBoardCard-DJZ2GsC-.js";import{C as z,S as le}from"./ChargePointPlugBadge-bP9BlN1o.js";import{F as $,l as A,b as ne,c as oe,j as re,k as W,m as E,e as U,n as D,o as Z,p as R,q as j,r as K,s as O,t as J,u as G,v as ce,w as de,x as he,y as ge}from"./vendor-fortawesome-CpQlJZ13.js";import{_ as x}from"./vendor-inkline-C_NPDnDu.js";import{l as u,q as i,p as h,o as d,s as a,z as q,e as S,F as M,k as r,f as m,x as s,A as L,I as se,i as ue,n as me}from"./vendor-BMrK3KHF.js";A.add(ne,oe);const H=x({name:"ChargePointLockButton",components:{FontAwesomeIcon:$},props:{chargePointId:{required:!0,type:Number},changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B()}),computed:{locked(){return this.mqttStore.getChargePointManualLock(this.chargePointId)},stateIcon(){return this.locked?["fas","fa-lock"]:["fas","fa-lock-open"]},stateClass(){return this.locked?["_color:danger"]:"_color:success"}},methods:{toggleChargePointManualLock(){this.changesLocked||this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`,!this.mqttStore.getValueBool(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`))}}},[["render",function(l,e,n,p,t,c){const P=h("font-awesome-icon"),V=h("i-button");return d(),u(V,{size:"lg",disabled:n.changesLocked,outline:n.changesLocked},{default:i(()=>[a(P,{"fixed-width":"",icon:c.stateIcon,class:q(c.stateClass),onClick:e[0]||(e[0]=C=>c.toggleChargePointManualLock())},null,8,["icon","class"])]),_:1},8,["disabled","outline"])}]]);A.add(re);const Q=x({name:"ChargePointCodeButton",components:{FontAwesomeIcon:$,CodeInputModal:ae},props:{chargePointId:{type:Number,required:!0}},data:()=>({mqttStore:B(),modalIdTagEntryVisible:!1,modalIdTagEntryColor:"warning",code:""}),computed:{tagState(){return this.mqttStore.getChargepointTagState(this.chargePointId)},tagButtonColor(){switch(this.tagState){case 2:return"success";case 1:return"warning";default:return""}},tagClass(){switch(this.tagState){case 2:return"_color:success-80";case 1:return"_color:warning-80";default:return""}}},methods:{toggleIdTagModal(){this.modalIdTagEntryVisible=!this.modalIdTagEntryVisible},sendIdTag(l){this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/get/rfid`,l),this.modalIdTagEntryVisible=!1}}},[["render",function(l,e,n,p,t,c){const P=h("FontAwesomeIcon"),V=h("i-button"),C=h("CodeInputModal");return d(),S(M,null,[a(V,{class:"_margin-right:1",size:"lg",color:c.tagButtonColor,disabled:c.tagState==2,onClick:e[0]||(e[0]=g=>c.toggleIdTagModal())},{default:i(()=>[a(P,{"fixed-width":"",icon:["fas","fa-calculator"],class:q(c.tagClass)},null,8,["class"])]),_:1},8,["color","disabled"]),a(C,{ref:"lockInput",modelValue:t.modalIdTagEntryVisible,"onUpdate:modelValue":e[1]||(e[1]=g=>t.modalIdTagEntryVisible=g),"min-length":4,"max-length":20,"onUpdate:inputValue":c.sendIdTag},{header:i(()=>e[2]||(e[2]=[r(" Bitte einen ID-Tag eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]);A.add(W,E,U,D,Z,R,j,K,O,J,G);const Ce={name:"ChargePointCard",components:{DashBoardCard:F,SparkLine:le,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:$},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings"],data:()=>({mqttStore:B()}),methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)}}},Pe={key:0},pe=x(Ce,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("spark-line"),_=h("font-awesome-icon"),f=h("i-badge"),y=h("i-button"),b=h("i-container"),v=h("dash-board-card");return d(),u(v,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(b,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0"},{default:i(()=>[a(k,{color:"var(--color--primary)",data:t.mqttStore.getChargePointPowerChartData(n.chargePointId)},null,8,["data"])]),_:1})]),_:1})]),_:1}),a(g,{md:"6"},{default:i(()=>[a(I,{class:"_display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),onClick:e[0]||(e[0]=w=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId)),1)]),_:1},8,["class"])]),_:1}),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(y,{size:"sm",disabled:n.changesLocked,class:q(n.changesLocked?"":"clickable"),onClick:e[1]||(e[1]=w=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Pe,[a(_,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])]),_:1})):m("",!0)]),_:1}),a(I,{class:"_padding-top:1 _display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),color:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).class,onClick:e[2]||(e[2]=w=>c.handleChargeModeClick(n.chargePointId))},{default:i(()=>[r(s(t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).label)+" ",1),a(_,{"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"],class:q(t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":"")},null,8,["icon","class"])]),_:1},8,["class","color"])]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(f,{size:"lg"},{default:i(()=>[t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(_,{key:0,"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?["fas","fa-clock"]:["far","fa-clock"],class:q(t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?"_color:success":"")},null,8,["icon","class"])):m("",!0)]),_:1})]),_:1})):m("",!0)]),_:1}),n.changesLocked?m("",!0):(d(),u(I,{key:0,class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[a(y,{block:"",onClick:e[3]||(e[3]=w=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-3c6489c4"]]);A.add(W,E,U,D,Z,R,j,K,O,J,G);const fe={name:"ChargePointCard",components:{DashBoardCard:F,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:$},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings","set-charge-point-connected-vehicle-charge-mode"],data:()=>({mqttStore:B(),simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)},setChargePointConnectedVehicleChargeMode(l,e){this.$emit("set-charge-point-connected-vehicle-charge-mode",l,e)}}},Se={key:0},Ve=x(fe,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("font-awesome-icon"),_=h("i-button"),f=h("i-button-group"),y=h("i-container"),b=h("dash-board-card");return d(),u(b,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(y,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 button-group-wrapper"},{default:i(()=>[a(f,{class:"button-group main-button-group"},{default:i(()=>[a(_,{class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[0]||(e[0]=v=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId))+" ",1),a(k,{class:q(["_padding-left:1",t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":""]),"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"]},null,8,["icon","class"])]),_:1},8,["class","disabled"]),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:0,class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[1]||(e[1]=v=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Se,[a(k,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(k,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])):m("",!0),a(_,{class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[2]||(e[2]=v=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1},8,["class","disabled"])]),_:1}),a(f,{class:"button-group _margin-top:1",disabled:n.changesLocked},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,v=>(d(),u(_,{key:v.id,outline:"",class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),color:v.class!="dark"?v.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId)!=null&&v.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).mode,onClick:w=>c.setChargePointConnectedVehicleChargeMode(n.chargePointId,v.id)},{default:i(()=>[r(s(v.label),1)]),_:2},1032,["class","color","active","onClick"]))),128))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-5e676b1f"]]),X=x({name:"ExtendedNumberInput",inheritAttrs:!1,props:{modelValue:{type:Number,required:!0,default:NaN},unit:{type:String,default:""},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},labels:{type:Array,default:void 0}},emits:["update:modelValue"],data(){return{minimum:this.labels?0:this.min,maximum:this.labels?this.labels.length-1:this.max,stepSize:this.labels?1:this.step}},computed:{label(){var l;return this.labels&&this.inputValue!=null?this.inputValuec.label=C),plaintext:"",class:"_text-align:right",size:"lg"},{prepend:i(()=>[a(P,{onClick:c.decrement},{default:i(()=>e[1]||(e[1]=[r(" - ")])),_:1},8,["onClick"])]),suffix:i(()=>[r(s(n.unit),1)]),append:i(()=>[a(P,{onClick:c.increment},{default:i(()=>e[2]||(e[2]=[r(" + ")])),_:1},8,["onClick"])]),_:1},8,["modelValue"])}]]),Ie=x({name:"ManualSocInput",components:{ExtendedNumberInput:X,NumberPad:ie},props:{modelValue:{required:!0,type:Boolean,default:!1},vehicleId:{required:!0,type:Number,default:0}},emits:["update:modelValue"],data:()=>({mqttStore:B(),newSoc:0}),methods:{enter(l){let e=10*this.newSoc+parseInt(l);e>=0&&e<=100&&(this.newSoc=e)},removeDigit(){this.newSoc=Math.trunc(this.newSoc/10)},clear(){this.newSoc=0},close(){this.$emit("update:modelValue",!1),this.newSoc=0},updateManualSoc(){this.$root.sendTopicToBroker(`openWB/vehicle/${this.vehicleId}/soc_module/calculated_soc_state/manual_soc`,this.newSoc),this.close()}}},[["render",function(l,e,n,p,t,c){const P=h("extended-number-input"),V=h("i-column"),C=h("i-row"),g=h("NumberPad"),I=h("i-container"),k=h("i-button"),_=h("i-modal");return d(),u(se,{to:"body"},[a(_,{"model-value":n.modelValue,size:"sm","onUpdate:modelValue":e[6]||(e[6]=f=>l.$emit("update:modelValue",f))},{header:i(()=>[r(' SoC für Fahrzeug "'+s(t.mqttStore.getVehicleName(n.vehicleId))+'" ',1)]),footer:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,null,{default:i(()=>[a(k,{color:"danger",onClick:e[4]||(e[4]=f=>c.close())},{default:i(()=>e[7]||(e[7]=[r(" Zurück ")])),_:1})]),_:1}),a(V,{class:"_text-align:right"},{default:i(()=>[a(k,{color:"success",onClick:e[5]||(e[5]=f=>c.updateManualSoc())},{default:i(()=>e[8]||(e[8]=[r(" OK ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:i(()=>[a(I,null,{default:i(()=>[a(C,{center:"",class:"_padding-bottom:1"},{default:i(()=>[a(V,null,{default:i(()=>[a(P,{modelValue:t.newSoc,"onUpdate:modelValue":e[0]||(e[0]=f=>t.newSoc=f),unit:"%",min:0,max:100,step:1,size:"lg",class:"_text-align:center"},null,8,["modelValue"])]),_:1})]),_:1}),a(g,{"onKey:digit":e[1]||(e[1]=f=>c.enter(f)),"onKey:clear":e[2]||(e[2]=f=>c.clear()),"onKey:delete":e[3]||(e[3]=f=>c.removeDigit())})]),_:1})]),_:1},8,["model-value"])])}]]);A.add(ce,de,he,ge);const _e={name:"ChargePointsView",components:{ChargePointCard:pe,SimpleChargePointCard:Ve,ExtendedNumberInput:X,ManualSocInput:Ie,FontAwesomeIcon:$},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B(),modalChargeModeSettingVisible:!1,modalVehicleSelectVisible:!1,modalChargePointSettingsVisible:!1,modalChargePointId:0,modalVehicleId:0,modalActiveTab:"tab-general",modalManualSocInputVisible:!1,simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{vehicleList(){let l=this.mqttStore.getVehicleList;var e=[];return Object.keys(l).forEach(n=>{let p=parseInt(n.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""));e.push({id:p,name:l[n]})}),e},filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},watch:{changesLocked(l,e){e!==!0&&l===!0&&(this.modalChargeModeSettingVisible=!1,this.modalVehicleSelectVisible=!1,this.modalChargePointSettingsVisible=!1,this.modalManualSocInputVisible=!1)}},methods:{toggleChargePointSettings(l){switch(this.mqttStore.getChargePointConnectedVehicleChargeMode(l).mode){case"pv_charging":this.modalActiveTab="tab-pv-charging";break;case"scheduled_charging":this.modalActiveTab="tab-scheduled-charging";break;default:this.modalActiveTab="tab-instant-charging"}this.modalChargePointId=l,this.modalChargePointSettingsVisible=!0},handleChargeModeClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalChargeModeSettingVisible=!0)},handleVehicleClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalVehicleSelectVisible=!0)},handleSocClick(l){let e=this.mqttStore.getChargePointConnectedVehicleId(l);if(this.mqttStore.getVehicleSocIsManual(e))return this.modalVehicleId=e,void(this.modalManualSocInputVisible=!0);this.$root.sendTopicToBroker(`openWB/set/vehicle/${e}/get/force_soc_update`,1)},setChargePointConnectedVehicle(l,e){e.id!=this.mqttStore.getChargePointConnectedVehicleId(l)&&this.$root.sendTopicToBroker(`openWB/chargepoint/${l}/config/ev`,e.id),this.modalVehicleSelectVisible&&(this.modalVehicleSelectVisible=!1)},setChargePointConnectedVehicleChargeMode(l,e){if(e.id!=this.mqttStore.getChargePointConnectedVehicleChargeMode(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/selected`,e)}},setChargePointConnectedVehiclePriority(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePriority(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/prio`,e)}},setChargePointConnectedVehicleTimeChargingActive(l,e){if(e!=this.mqttStore.getChargePointConnectedVehicleTimeChargingActive(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/time_charging/active`,e)}},setChargePointConnectedVehicleInstantChargingCurrent(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/current`,parseFloat(e))}},setChargePointConnectedVehicleInstantChargingLimit(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).selected){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/selected`,e)}},setChargePointConnectedVehicleInstantChargingLimitSoc(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).soc){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/soc`,parseInt(e))}},setChargePointConnectedVehicleInstantChargingLimitAmount(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).amount){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/amount`,e)}},setChargePointConnectedVehiclePvChargingFeedInLimit(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/pv_charging/feed_in_limit`,e)}},setChargePointConnectedVehiclePvChargingMinCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_current`,p)}},setChargePointConnectedVehiclePvChargingMinSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc`,p)}},setChargePointConnectedVehiclePvChargingMinSocCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc_current`,p)}},setChargePointConnectedVehiclePvChargingMaxSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/max_soc`,p)}},setChargePointConnectedVehicleScheduledChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)},setChargePointConnectedVehicleTimeChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)}}},be={class:"charge-points-card-wrapper"},ke={key:0},ve={key:1},qe={key:2},ye={key:3},we={key:4},Me={key:0},Te={key:1},xe={key:0},Le={key:1},Be={key:2},$e={key:3},Ae={key:4},De=x(_e,[["render",function(l,e,n,p,t,c){const P=h("i-button"),V=h("i-button-group"),C=h("i-form-group"),g=h("i-form-label"),I=h("i-form"),k=h("i-modal"),_=h("i-tab-title"),f=h("extended-number-input"),y=h("i-tab"),b=h("font-awesome-icon"),v=h("i-alert"),w=h("i-row"),N=h("i-container"),Y=h("i-tabs"),ee=h("manual-soc-input");return d(),S(M,null,[ue("div",be,[(d(!0),S(M,null,L(t.mqttStore.getChargePointIds,o=>(d(),u(me(t.mqttStore.getSimpleChargePointView?"SimpleChargePointCard":"ChargePointCard"),{key:o,"charge-point-id":o,"changes-locked":n.changesLocked,onVehicleClick:c.handleVehicleClick,onSocClick:c.handleSocClick,onChargeModeClick:c.handleChargeModeClick,onToggleChargePointSettings:c.toggleChargePointSettings,onSetChargePointConnectedVehicleChargeMode:c.setChargePointConnectedVehicleChargeMode},null,40,["charge-point-id","changes-locked","onVehicleClick","onSocClick","onChargeModeClick","onToggleChargePointSettings","onSetChargePointConnectedVehicleChargeMode"]))),128))]),a(k,{modelValue:t.modalChargeModeSettingVisible,"onUpdate:modelValue":e[2]||(e[2]=o=>t.modalChargeModeSettingVisible=o),size:"lg"},{header:i(()=>[r(' Lademodus für "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{block:"",vertical:""},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",outline:"",color:o.class!="dark"?o.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId)!=null&&o.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId).mode,onClick:T=>c.setChargePointConnectedVehicleChargeMode(t.modalChargePointId,o.id)},{default:i(()=>[r(s(o.label),1)]),_:2},1032,["color","active","onClick"]))),128))]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[21]||(e[21]=[r("Priorität")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{size:"lg",class:"large-button",color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)!==!0?"danger":"",onClick:e[0]||(e[0]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!1))},{default:i(()=>e[22]||(e[22]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)===!0?"success":"",onClick:e[1]||(e[1]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!0))},{default:i(()=>e[23]||(e[23]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalVehicleSelectVisible,"onUpdate:modelValue":e[3]||(e[3]=o=>t.modalVehicleSelectVisible=o),class:"modal-vehicle-select",size:"lg"},{header:i(()=>[r(' Fahrzeug an "'+s(t.mqttStore.getChargePointName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{vertical:"",block:""},{default:i(()=>[(d(!0),S(M,null,L(c.vehicleList,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",active:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id,color:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id?"primary":"",onClick:T=>c.setChargePointConnectedVehicle(t.modalChargePointId,o)},{default:i(()=>[r(s(o.name),1)]),_:2},1032,["active","color","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalChargePointSettingsVisible,"onUpdate:modelValue":e[19]||(e[19]=o=>t.modalChargePointSettingsVisible=o),size:"lg"},{header:i(()=>[r(' Einstellungen für Fahrzeug "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" ',1)]),default:i(()=>[a(Y,{modelValue:t.modalActiveTab,"onUpdate:modelValue":e[18]||(e[18]=o=>t.modalActiveTab=o),stretch:""},{header:i(()=>[a(_,{for:"tab-instant-charging"},{default:i(()=>e[24]||(e[24]=[r(" Sofort ")])),_:1}),a(_,{for:"tab-pv-charging"},{default:i(()=>e[25]||(e[25]=[r(" PV ")])),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:0,for:"tab-scheduled-charging"},{default:i(()=>e[26]||(e[26]=[r(" Zielladen ")])),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:1,for:"tab-time-charging"},{default:i(()=>e[27]||(e[27]=[r(" Zeitladen ")])),_:1}))]),default:i(()=>[a(y,{name:"tab-instant-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[28]||(e[28]=[r("Stromstärke")])),_:1}),a(f,{unit:"A",min:6,max:32,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId),"onUpdate:modelValue":e[4]||(e[4]=o=>c.setChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[29]||(e[29]=[r("Begrenzung")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none",onClick:e[5]||(e[5]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"none"))},{default:i(()=>e[30]||(e[30]=[r(" Keine ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc",onClick:e[6]||(e[6]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"soc"))},{default:i(()=>e[31]||(e[31]=[r(" EV-SoC ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount",onClick:e[7]||(e[7]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"amount"))},{default:i(()=>e[32]||(e[32]=[r(" Energie ")])),_:1},8,["color","active"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?(d(),u(C,{key:0},{default:i(()=>[a(g,null,{default:i(()=>e[33]||(e[33]=[r("Max. SoC")])),_:1}),a(f,{unit:"%",min:5,max:100,step:5,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).soc,"onUpdate:modelValue":e[8]||(e[8]=o=>c.setChargePointConnectedVehicleInstantChargingLimitSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})):m("",!0),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?(d(),u(C,{key:1},{default:i(()=>[a(g,null,{default:i(()=>e[34]||(e[34]=[r("Max. Energie")])),_:1}),a(f,{unit:"kWh",min:1,max:100,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).amount/1e3,"onUpdate:modelValue":e[9]||(e[9]=o=>c.setChargePointConnectedVehicleInstantChargingLimitAmount(t.modalChargePointId,1e3*o))},null,8,["model-value"])]),_:1})):m("",!0)]),_:1})]),_:1}),a(y,{name:"tab-pv-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[35]||(e[35]=[r("Einspeisegrenze beachten")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)!==!0?"danger":"",onClick:e[10]||(e[10]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!1))},{default:i(()=>e[36]||(e[36]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)===!0?"success":"",onClick:e[11]||(e[11]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!0))},{default:i(()=>e[37]||(e[37]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[38]||(e[38]=[r("Minimaler Dauerstrom")])),_:1}),a(f,{unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId),"onUpdate:modelValue":e[12]||(e[12]=o=>c.setChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[39]||(e[39]=[r("Mindest-SoC")])),_:1}),a(f,{unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId),"onUpdate:modelValue":e[13]||(e[13]=o=>c.setChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[40]||(e[40]=[r("Mindest-SoC Strom")])),_:1}),a(f,{min:6,max:32,unit:"A","model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId),"onUpdate:modelValue":e[14]||(e[14]=o=>c.setChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[41]||(e[41]=[r("SoC-Limit")])),_:1}),a(f,{unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId),"onUpdate:modelValue":e[15]||(e[15]=o=>c.setChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})]),_:1})]),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:0,name:"tab-scheduled-charging"},{default:i(()=>[Object.keys(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-info-circle"]})]),default:i(()=>[e[42]||(e[42]=r(" Es wurden noch keine Zeitpläne für das Zielladen eingerichtet. "))]),_:1})):(d(),u(I,{key:1},{default:i(()=>[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleScheduledChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",ke,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDate(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",ve,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[43]||(e[43]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",qe,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time)+" ",1),o.limit.selected=="soc"?(d(),S("span",ye,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc_scheduled)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",we,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))]),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:1,name:"tab-time-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[44]||(e[44]=[r("Zeitladen aktivieren")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)!==!0?"danger":"",onClick:e[16]||(e[16]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!1))},{default:i(()=>e[45]||(e[45]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?"success":"",onClick:e[17]||(e[17]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!0))},{default:i(()=>e[46]||(e[46]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?(d(),S("div",Me,[Object.keys(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0,color:"warning",class:"_margin-top:2"},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-circle-info"]})]),default:i(()=>[e[47]||(e[47]=r(" Es wurden noch keine Zeitpläne für das Zeitladen eingerichtet. "))]),_:1})):(d(),S("div",Te,[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleTimeChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",xe,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDateRange(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",Le,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[48]||(e[48]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",Be,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time.join("-"))+" ",1),o.limit.selected=="soc"?(d(),S("span",$e,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",Ae,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]))])):m("",!0)]),_:1})]),_:1}))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),a(ee,{modelValue:t.modalManualSocInputVisible,"onUpdate:modelValue":e[20]||(e[20]=o=>t.modalManualSocInputVisible=o),"vehicle-id":t.modalVehicleId},null,8,["modelValue","vehicle-id"])],64)}],["__scopeId","data-v-76699ceb"]]);export{De as default}; +import{u as B,C as ae,N as ie}from"./index-BSB1CRIg.js";import{D as F}from"./DashBoardCard-Ds7Ht92x.js";import{S as le,C as z}from"./ChargePointPlugBadge-CV-eneFK.js";import{l as $,b as ne,c as oe,F as A,j as re,k as W,m as E,e as U,n as D,o as Z,p as R,q as j,r as K,s as O,t as J,u as G,v as ce,w as de,x as he,y as ge}from"./vendor-fortawesome--vLnJNbG.js";import{_ as x}from"./vendor-inkline-CWAydWlY.js";import{q as h,o as d,l as u,n as i,s as a,y as q,e as S,k as r,F as M,x as s,i as m,A as L,I as se,j as ue,p as me}from"./vendor-DIlzVmqi.js";$.add(ne,oe);const H=x({name:"ChargePointLockButton",components:{FontAwesomeIcon:A},props:{chargePointId:{required:!0,type:Number},changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B()}),computed:{locked(){return this.mqttStore.getChargePointManualLock(this.chargePointId)},stateIcon(){return this.locked?["fas","fa-lock"]:["fas","fa-lock-open"]},stateClass(){return this.locked?["_color:danger"]:"_color:success"}},methods:{toggleChargePointManualLock(){this.changesLocked||this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`,!this.mqttStore.getValueBool(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`))}}},[["render",function(l,e,n,p,t,c){const P=h("font-awesome-icon"),V=h("i-button");return d(),u(V,{size:"lg",disabled:n.changesLocked,outline:n.changesLocked},{default:i(()=>[a(P,{"fixed-width":"",icon:c.stateIcon,class:q(c.stateClass),onClick:e[0]||(e[0]=C=>c.toggleChargePointManualLock())},null,8,["icon","class"])]),_:1},8,["disabled","outline"])}]]);$.add(re);const Q=x({name:"ChargePointCodeButton",components:{FontAwesomeIcon:A,CodeInputModal:ae},props:{chargePointId:{type:Number,required:!0}},data:()=>({mqttStore:B(),modalIdTagEntryVisible:!1,modalIdTagEntryColor:"warning",code:""}),computed:{tagState(){return this.mqttStore.getChargepointTagState(this.chargePointId)},tagButtonColor(){switch(this.tagState){case 2:return"success";case 1:return"warning";default:return""}},tagClass(){switch(this.tagState){case 2:return"_color:success-80";case 1:return"_color:warning-80";default:return""}}},methods:{toggleIdTagModal(){this.modalIdTagEntryVisible=!this.modalIdTagEntryVisible},sendIdTag(l){this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/get/rfid`,l),this.modalIdTagEntryVisible=!1}}},[["render",function(l,e,n,p,t,c){const P=h("FontAwesomeIcon"),V=h("i-button"),C=h("CodeInputModal");return d(),S(M,null,[a(V,{class:"_margin-right:1",size:"lg",color:c.tagButtonColor,disabled:c.tagState==2,onClick:e[0]||(e[0]=g=>c.toggleIdTagModal())},{default:i(()=>[a(P,{"fixed-width":"",icon:["fas","fa-calculator"],class:q(c.tagClass)},null,8,["class"])]),_:1},8,["color","disabled"]),a(C,{ref:"lockInput",modelValue:t.modalIdTagEntryVisible,"onUpdate:modelValue":e[1]||(e[1]=g=>t.modalIdTagEntryVisible=g),"min-length":4,"max-length":20,"onUpdate:inputValue":c.sendIdTag},{header:i(()=>e[2]||(e[2]=[r(" Bitte einen ID-Tag eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]);$.add(W,E,U,D,Z,R,j,K,O,J,G);const Ce={name:"ChargePointCard",components:{DashBoardCard:F,SparkLine:le,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:A},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings"],data:()=>({mqttStore:B()}),methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)}}},Pe={key:0},pe=x(Ce,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("spark-line"),_=h("font-awesome-icon"),f=h("i-badge"),y=h("i-button"),b=h("i-container"),v=h("dash-board-card");return d(),u(v,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(b,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0"},{default:i(()=>[a(k,{color:"var(--color--primary)",data:t.mqttStore.getChargePointPowerChartData(n.chargePointId)},null,8,["data"])]),_:1})]),_:1})]),_:1}),a(g,{md:"6"},{default:i(()=>[a(I,{class:"_display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),onClick:e[0]||(e[0]=w=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId)),1)]),_:1},8,["class"])]),_:1}),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(y,{size:"sm",disabled:n.changesLocked,class:q(n.changesLocked?"":"clickable"),onClick:e[1]||(e[1]=w=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Pe,[a(_,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])]),_:1})):m("",!0)]),_:1}),a(I,{class:"_padding-top:1 _display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),color:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).class,onClick:e[2]||(e[2]=w=>c.handleChargeModeClick(n.chargePointId))},{default:i(()=>[r(s(t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).label)+" ",1),a(_,{"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"],class:q(t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":"")},null,8,["icon","class"])]),_:1},8,["class","color"])]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(f,{size:"lg"},{default:i(()=>[t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(_,{key:0,"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?["fas","fa-clock"]:["far","fa-clock"],class:q(t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?"_color:success":"")},null,8,["icon","class"])):m("",!0)]),_:1})]),_:1})):m("",!0)]),_:1}),n.changesLocked?m("",!0):(d(),u(I,{key:0,class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[a(y,{block:"",onClick:e[3]||(e[3]=w=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-3c6489c4"]]);$.add(W,E,U,D,Z,R,j,K,O,J,G);const fe={name:"ChargePointCard",components:{DashBoardCard:F,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:A},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings","set-charge-point-connected-vehicle-charge-mode"],data:()=>({mqttStore:B(),simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)},setChargePointConnectedVehicleChargeMode(l,e){this.$emit("set-charge-point-connected-vehicle-charge-mode",l,e)}}},Se={key:0},Ve=x(fe,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("font-awesome-icon"),_=h("i-button"),f=h("i-button-group"),y=h("i-container"),b=h("dash-board-card");return d(),u(b,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(y,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 button-group-wrapper"},{default:i(()=>[a(f,{class:"button-group main-button-group"},{default:i(()=>[a(_,{class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[0]||(e[0]=v=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId))+" ",1),a(k,{class:q(["_padding-left:1",t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":""]),"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"]},null,8,["icon","class"])]),_:1},8,["class","disabled"]),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:0,class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[1]||(e[1]=v=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Se,[a(k,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(k,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])):m("",!0),a(_,{class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[2]||(e[2]=v=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1},8,["class","disabled"])]),_:1}),a(f,{class:"button-group _margin-top:1",disabled:n.changesLocked},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,v=>(d(),u(_,{key:v.id,outline:"",class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),color:v.class!="dark"?v.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId)!=null&&v.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).mode,onClick:w=>c.setChargePointConnectedVehicleChargeMode(n.chargePointId,v.id)},{default:i(()=>[r(s(v.label),1)]),_:2},1032,["class","color","active","onClick"]))),128))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-5e676b1f"]]),X=x({name:"ExtendedNumberInput",inheritAttrs:!1,props:{modelValue:{type:Number,required:!0,default:NaN},unit:{type:String,default:""},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},labels:{type:Array,default:void 0}},emits:["update:modelValue"],data(){return{minimum:this.labels?0:this.min,maximum:this.labels?this.labels.length-1:this.max,stepSize:this.labels?1:this.step}},computed:{label(){var l;return this.labels&&this.inputValue!=null?this.inputValuec.label=C),plaintext:"",class:"_text-align:right",size:"lg"},{prepend:i(()=>[a(P,{onClick:c.decrement},{default:i(()=>e[1]||(e[1]=[r(" - ")])),_:1},8,["onClick"])]),suffix:i(()=>[r(s(n.unit),1)]),append:i(()=>[a(P,{onClick:c.increment},{default:i(()=>e[2]||(e[2]=[r(" + ")])),_:1},8,["onClick"])]),_:1},8,["modelValue"])}]]),Ie=x({name:"ManualSocInput",components:{ExtendedNumberInput:X,NumberPad:ie},props:{modelValue:{required:!0,type:Boolean,default:!1},vehicleId:{required:!0,type:Number,default:0}},emits:["update:modelValue"],data:()=>({mqttStore:B(),newSoc:0}),methods:{enter(l){let e=10*this.newSoc+parseInt(l);e>=0&&e<=100&&(this.newSoc=e)},removeDigit(){this.newSoc=Math.trunc(this.newSoc/10)},clear(){this.newSoc=0},close(){this.$emit("update:modelValue",!1),this.newSoc=0},updateManualSoc(){this.$root.sendTopicToBroker(`openWB/vehicle/${this.vehicleId}/soc_module/calculated_soc_state/manual_soc`,this.newSoc),this.close()}}},[["render",function(l,e,n,p,t,c){const P=h("extended-number-input"),V=h("i-column"),C=h("i-row"),g=h("NumberPad"),I=h("i-container"),k=h("i-button"),_=h("i-modal");return d(),u(se,{to:"body"},[a(_,{"model-value":n.modelValue,size:"sm","onUpdate:modelValue":e[6]||(e[6]=f=>l.$emit("update:modelValue",f))},{header:i(()=>[r(' SoC für Fahrzeug "'+s(t.mqttStore.getVehicleName(n.vehicleId))+'" ',1)]),footer:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,null,{default:i(()=>[a(k,{color:"danger",onClick:e[4]||(e[4]=f=>c.close())},{default:i(()=>e[7]||(e[7]=[r(" Zurück ")])),_:1})]),_:1}),a(V,{class:"_text-align:right"},{default:i(()=>[a(k,{color:"success",onClick:e[5]||(e[5]=f=>c.updateManualSoc())},{default:i(()=>e[8]||(e[8]=[r(" OK ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:i(()=>[a(I,null,{default:i(()=>[a(C,{center:"",class:"_padding-bottom:1"},{default:i(()=>[a(V,null,{default:i(()=>[a(P,{modelValue:t.newSoc,"onUpdate:modelValue":e[0]||(e[0]=f=>t.newSoc=f),unit:"%",min:0,max:100,step:1,size:"lg",class:"_text-align:center"},null,8,["modelValue"])]),_:1})]),_:1}),a(g,{"onKey:digit":e[1]||(e[1]=f=>c.enter(f)),"onKey:clear":e[2]||(e[2]=f=>c.clear()),"onKey:delete":e[3]||(e[3]=f=>c.removeDigit())})]),_:1})]),_:1},8,["model-value"])])}]]);$.add(ce,de,he,ge);const _e={name:"ChargePointsView",components:{ChargePointCard:pe,SimpleChargePointCard:Ve,ExtendedNumberInput:X,ManualSocInput:Ie,FontAwesomeIcon:A},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B(),modalChargeModeSettingVisible:!1,modalVehicleSelectVisible:!1,modalChargePointSettingsVisible:!1,modalChargePointId:0,modalVehicleId:0,modalActiveTab:"tab-general",modalManualSocInputVisible:!1,simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{vehicleList(){let l=this.mqttStore.getVehicleList;var e=[];return Object.keys(l).forEach(n=>{let p=parseInt(n.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""));e.push({id:p,name:l[n]})}),e},filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},watch:{changesLocked(l,e){e!==!0&&l===!0&&(this.modalChargeModeSettingVisible=!1,this.modalVehicleSelectVisible=!1,this.modalChargePointSettingsVisible=!1,this.modalManualSocInputVisible=!1)}},methods:{toggleChargePointSettings(l){switch(this.mqttStore.getChargePointConnectedVehicleChargeMode(l).mode){case"pv_charging":this.modalActiveTab="tab-pv-charging";break;case"scheduled_charging":this.modalActiveTab="tab-scheduled-charging";break;default:this.modalActiveTab="tab-instant-charging"}this.modalChargePointId=l,this.modalChargePointSettingsVisible=!0},handleChargeModeClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalChargeModeSettingVisible=!0)},handleVehicleClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalVehicleSelectVisible=!0)},handleSocClick(l){let e=this.mqttStore.getChargePointConnectedVehicleId(l);if(this.mqttStore.getVehicleSocIsManual(e))return this.modalVehicleId=e,void(this.modalManualSocInputVisible=!0);this.$root.sendTopicToBroker(`openWB/set/vehicle/${e}/get/force_soc_update`,1)},setChargePointConnectedVehicle(l,e){e.id!=this.mqttStore.getChargePointConnectedVehicleId(l)&&this.$root.sendTopicToBroker(`openWB/chargepoint/${l}/config/ev`,e.id),this.modalVehicleSelectVisible&&(this.modalVehicleSelectVisible=!1)},setChargePointConnectedVehicleChargeMode(l,e){if(e.id!=this.mqttStore.getChargePointConnectedVehicleChargeMode(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/selected`,e)}},setChargePointConnectedVehiclePriority(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePriority(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/prio`,e)}},setChargePointConnectedVehicleTimeChargingActive(l,e){if(e!=this.mqttStore.getChargePointConnectedVehicleTimeChargingActive(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/time_charging/active`,e)}},setChargePointConnectedVehicleInstantChargingCurrent(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/current`,parseFloat(e))}},setChargePointConnectedVehicleInstantChargingLimit(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).selected){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/selected`,e)}},setChargePointConnectedVehicleInstantChargingLimitSoc(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).soc){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/soc`,parseInt(e))}},setChargePointConnectedVehicleInstantChargingLimitAmount(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).amount){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/amount`,e)}},setChargePointConnectedVehiclePvChargingFeedInLimit(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/pv_charging/feed_in_limit`,e)}},setChargePointConnectedVehiclePvChargingMinCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_current`,p)}},setChargePointConnectedVehiclePvChargingMinSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc`,p)}},setChargePointConnectedVehiclePvChargingMinSocCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc_current`,p)}},setChargePointConnectedVehiclePvChargingMaxSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/max_soc`,p)}},setChargePointConnectedVehicleScheduledChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)},setChargePointConnectedVehicleTimeChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)}}},be={class:"charge-points-card-wrapper"},ke={key:0},ve={key:1},qe={key:2},ye={key:3},we={key:4},Me={key:0},Te={key:1},xe={key:0},Le={key:1},Be={key:2},$e={key:3},Ae={key:4},De=x(_e,[["render",function(l,e,n,p,t,c){const P=h("i-button"),V=h("i-button-group"),C=h("i-form-group"),g=h("i-form-label"),I=h("i-form"),k=h("i-modal"),_=h("i-tab-title"),f=h("extended-number-input"),y=h("i-tab"),b=h("font-awesome-icon"),v=h("i-alert"),w=h("i-row"),N=h("i-container"),Y=h("i-tabs"),ee=h("manual-soc-input");return d(),S(M,null,[ue("div",be,[(d(!0),S(M,null,L(t.mqttStore.getChargePointIds,o=>(d(),u(me(t.mqttStore.getSimpleChargePointView?"SimpleChargePointCard":"ChargePointCard"),{key:o,"charge-point-id":o,"changes-locked":n.changesLocked,onVehicleClick:c.handleVehicleClick,onSocClick:c.handleSocClick,onChargeModeClick:c.handleChargeModeClick,onToggleChargePointSettings:c.toggleChargePointSettings,onSetChargePointConnectedVehicleChargeMode:c.setChargePointConnectedVehicleChargeMode},null,40,["charge-point-id","changes-locked","onVehicleClick","onSocClick","onChargeModeClick","onToggleChargePointSettings","onSetChargePointConnectedVehicleChargeMode"]))),128))]),a(k,{modelValue:t.modalChargeModeSettingVisible,"onUpdate:modelValue":e[2]||(e[2]=o=>t.modalChargeModeSettingVisible=o),size:"lg"},{header:i(()=>[r(' Lademodus für "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{block:"",vertical:""},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",outline:"",color:o.class!="dark"?o.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId)!=null&&o.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId).mode,onClick:T=>c.setChargePointConnectedVehicleChargeMode(t.modalChargePointId,o.id)},{default:i(()=>[r(s(o.label),1)]),_:2},1032,["color","active","onClick"]))),128))]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[21]||(e[21]=[r("Priorität")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{size:"lg",class:"large-button",color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)!==!0?"danger":"",onClick:e[0]||(e[0]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!1))},{default:i(()=>e[22]||(e[22]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)===!0?"success":"",onClick:e[1]||(e[1]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!0))},{default:i(()=>e[23]||(e[23]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalVehicleSelectVisible,"onUpdate:modelValue":e[3]||(e[3]=o=>t.modalVehicleSelectVisible=o),class:"modal-vehicle-select",size:"lg"},{header:i(()=>[r(' Fahrzeug an "'+s(t.mqttStore.getChargePointName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{vertical:"",block:""},{default:i(()=>[(d(!0),S(M,null,L(c.vehicleList,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",active:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id,color:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id?"primary":"",onClick:T=>c.setChargePointConnectedVehicle(t.modalChargePointId,o)},{default:i(()=>[r(s(o.name),1)]),_:2},1032,["active","color","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalChargePointSettingsVisible,"onUpdate:modelValue":e[19]||(e[19]=o=>t.modalChargePointSettingsVisible=o),size:"lg"},{header:i(()=>[r(' Einstellungen für Fahrzeug "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" ',1)]),default:i(()=>[a(Y,{modelValue:t.modalActiveTab,"onUpdate:modelValue":e[18]||(e[18]=o=>t.modalActiveTab=o),stretch:""},{header:i(()=>[a(_,{for:"tab-instant-charging"},{default:i(()=>e[24]||(e[24]=[r(" Sofort ")])),_:1}),a(_,{for:"tab-pv-charging"},{default:i(()=>e[25]||(e[25]=[r(" PV ")])),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:0,for:"tab-scheduled-charging"},{default:i(()=>e[26]||(e[26]=[r(" Zielladen ")])),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:1,for:"tab-time-charging"},{default:i(()=>e[27]||(e[27]=[r(" Zeitladen ")])),_:1}))]),default:i(()=>[a(y,{name:"tab-instant-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[28]||(e[28]=[r("Stromstärke")])),_:1}),a(f,{unit:"A",min:6,max:32,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId),"onUpdate:modelValue":e[4]||(e[4]=o=>c.setChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[29]||(e[29]=[r("Begrenzung")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none",onClick:e[5]||(e[5]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"none"))},{default:i(()=>e[30]||(e[30]=[r(" Keine ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc",onClick:e[6]||(e[6]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"soc"))},{default:i(()=>e[31]||(e[31]=[r(" EV-SoC ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount",onClick:e[7]||(e[7]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"amount"))},{default:i(()=>e[32]||(e[32]=[r(" Energie ")])),_:1},8,["color","active"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?(d(),u(C,{key:0},{default:i(()=>[a(g,null,{default:i(()=>e[33]||(e[33]=[r("Max. SoC")])),_:1}),a(f,{unit:"%",min:5,max:100,step:5,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).soc,"onUpdate:modelValue":e[8]||(e[8]=o=>c.setChargePointConnectedVehicleInstantChargingLimitSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})):m("",!0),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?(d(),u(C,{key:1},{default:i(()=>[a(g,null,{default:i(()=>e[34]||(e[34]=[r("Max. Energie")])),_:1}),a(f,{unit:"kWh",min:1,max:100,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).amount/1e3,"onUpdate:modelValue":e[9]||(e[9]=o=>c.setChargePointConnectedVehicleInstantChargingLimitAmount(t.modalChargePointId,1e3*o))},null,8,["model-value"])]),_:1})):m("",!0)]),_:1})]),_:1}),a(y,{name:"tab-pv-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[35]||(e[35]=[r("Einspeisegrenze beachten")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)!==!0?"danger":"",onClick:e[10]||(e[10]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!1))},{default:i(()=>e[36]||(e[36]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)===!0?"success":"",onClick:e[11]||(e[11]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!0))},{default:i(()=>e[37]||(e[37]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[38]||(e[38]=[r("Minimaler Dauerstrom")])),_:1}),a(f,{unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId),"onUpdate:modelValue":e[12]||(e[12]=o=>c.setChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[39]||(e[39]=[r("Mindest-SoC")])),_:1}),a(f,{unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId),"onUpdate:modelValue":e[13]||(e[13]=o=>c.setChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[40]||(e[40]=[r("Mindest-SoC Strom")])),_:1}),a(f,{min:6,max:32,unit:"A","model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId),"onUpdate:modelValue":e[14]||(e[14]=o=>c.setChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[41]||(e[41]=[r("SoC-Limit")])),_:1}),a(f,{unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId),"onUpdate:modelValue":e[15]||(e[15]=o=>c.setChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})]),_:1})]),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:0,name:"tab-scheduled-charging"},{default:i(()=>[Object.keys(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-info-circle"]})]),default:i(()=>[e[42]||(e[42]=r(" Es wurden noch keine Zeitpläne für das Zielladen eingerichtet. "))]),_:1})):(d(),u(I,{key:1},{default:i(()=>[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleScheduledChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",ke,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDate(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",ve,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[43]||(e[43]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",qe,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time)+" ",1),o.limit.selected=="soc"?(d(),S("span",ye,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc_scheduled)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",we,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))]),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:1,name:"tab-time-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[44]||(e[44]=[r("Zeitladen aktivieren")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)!==!0?"danger":"",onClick:e[16]||(e[16]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!1))},{default:i(()=>e[45]||(e[45]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?"success":"",onClick:e[17]||(e[17]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!0))},{default:i(()=>e[46]||(e[46]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?(d(),S("div",Me,[Object.keys(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0,color:"warning",class:"_margin-top:2"},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-circle-info"]})]),default:i(()=>[e[47]||(e[47]=r(" Es wurden noch keine Zeitpläne für das Zeitladen eingerichtet. "))]),_:1})):(d(),S("div",Te,[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleTimeChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",xe,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDateRange(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",Le,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[48]||(e[48]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",Be,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time.join("-"))+" ",1),o.limit.selected=="soc"?(d(),S("span",$e,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",Ae,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]))])):m("",!0)]),_:1})]),_:1}))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),a(ee,{modelValue:t.modalManualSocInputVisible,"onUpdate:modelValue":e[20]||(e[20]=o=>t.modalManualSocInputVisible=o),"vehicle-id":t.modalVehicleId},null,8,["modelValue","vehicle-id"])],64)}],["__scopeId","data-v-76699ceb"]]);export{De as default}; diff --git a/packages/modules/display_themes/cards/web/assets/DashBoardCard-DJZ2GsC-.js b/packages/modules/display_themes/cards/web/assets/DashBoardCard-DJZ2GsC-.js deleted file mode 100644 index 5c701928a5..0000000000 --- a/packages/modules/display_themes/cards/web/assets/DashBoardCard-DJZ2GsC-.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as u}from"./vendor-inkline-C_NPDnDu.js";import{l,q as a,p as o,o as d,j as r,s as t,f as _}from"./vendor-BMrK3KHF.js";const $=u({name:"DashBoardCard",props:{color:{type:String,required:!0}}},[["render",function(e,p,i,h,g,m){const s=o("i-column"),n=o("i-row"),c=o("i-container"),f=o("i-card");return d(),l(f,{color:i.color},{header:a(()=>[t(c,null,{default:a(()=>[t(n,null,{default:a(()=>[t(s,null,{default:a(()=>[r(e.$slots,"headerLeft",{},void 0,!0)]),_:3}),e.$slots.headerRight?(d(),l(s,{key:0,class:"_flex-grow:0 _text-align:right _white-space:nowrap"},{default:a(()=>[r(e.$slots,"headerRight",{},void 0,!0)]),_:3})):_("",!0)]),_:3})]),_:3})]),default:a(()=>[r(e.$slots,"default",{},void 0,!0)]),_:3},8,["color"])}],["__scopeId","data-v-c53b85bf"]]);export{$ as D}; diff --git a/packages/modules/display_themes/cards/web/assets/DashBoardCard-Ds7Ht92x.js b/packages/modules/display_themes/cards/web/assets/DashBoardCard-Ds7Ht92x.js new file mode 100644 index 0000000000..8d2383f2ce --- /dev/null +++ b/packages/modules/display_themes/cards/web/assets/DashBoardCard-Ds7Ht92x.js @@ -0,0 +1 @@ +import{_ as u}from"./vendor-inkline-CWAydWlY.js";import{o as s,l as d,n as a,s as r,f as t,i as _,q as o}from"./vendor-DIlzVmqi.js";const $=u({name:"DashBoardCard",props:{color:{type:String,required:!0}}},[["render",function(e,h,i,p,g,m){const l=o("i-column"),n=o("i-row"),c=o("i-container"),f=o("i-card");return s(),d(f,{color:i.color},{header:a(()=>[r(c,null,{default:a(()=>[r(n,null,{default:a(()=>[r(l,null,{default:a(()=>[t(e.$slots,"headerLeft",{},void 0,!0)]),_:3}),e.$slots.headerRight?(s(),d(l,{key:0,class:"_flex-grow:0 _text-align:right _white-space:nowrap"},{default:a(()=>[t(e.$slots,"headerRight",{},void 0,!0)]),_:3})):_("",!0)]),_:3})]),_:3})]),default:a(()=>[t(e.$slots,"default",{},void 0,!0)]),_:3},8,["color"])}],["__scopeId","data-v-c53b85bf"]]);export{$ as D}; diff --git a/packages/modules/display_themes/cards/web/assets/DashBoardView-BtH7_3ju.js b/packages/modules/display_themes/cards/web/assets/DashBoardView-BtH7_3ju.js new file mode 100644 index 0000000000..39d3295b00 --- /dev/null +++ b/packages/modules/display_themes/cards/web/assets/DashBoardView-BtH7_3ju.js @@ -0,0 +1 @@ +import{u as l}from"./index-BSB1CRIg.js";import{D as q}from"./DashBoardCard-Ds7Ht92x.js";import{S as P,C as b}from"./ChargePointPlugBadge-CV-eneFK.js";import{l as w,d as I,F as y,e as B,g as D,h as L,i as _}from"./vendor-fortawesome--vLnJNbG.js";import{_ as p}from"./vendor-inkline-CWAydWlY.js";import{o as s,l as c,n as a,s as i,k as g,x as h,q as e,i as m,e as x}from"./vendor-DIlzVmqi.js";w.add(I);const E=p({name:"GridCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return s(),c(d,{color:"danger"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-gauge-high"]}),r[0]||(r[0]=g(" EVU "))]),headerRight:a(()=>[g(h(t.mqttStore.getGridPower()),1)]),default:a(()=>[i(n,{color:"var(--color--danger)","color-negative":"var(--color--success)",data:t.mqttStore.getGridPowerChartData},null,8,["data"])]),_:1})}]]);w.add(B);const F=p({name:"BatteryCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return t.mqttStore.getBatteryConfigured?(s(),c(d,{key:0,color:"warning"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-car-battery"]}),r[0]||(r[0]=g(" Speicher "))]),headerRight:a(()=>[g(h(t.mqttStore.getBatterySoc())+" / "+h(t.mqttStore.getBatteryPower()),1)]),default:a(()=>[i(n,{color:"var(--color--warning)",data:t.mqttStore.getBatteryPowerChartData,"soc-data":t.mqttStore.getBatterySocChartData},null,8,["data","soc-data"])]),_:1})):m("",!0)}]]);w.add(D);const H=p({name:"InverterCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return t.mqttStore.getPvConfigured?(s(),c(d,{key:0,color:"success"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-solar-panel"]}),r[0]||(r[0]=g(" PV "))]),headerRight:a(()=>[g(h(t.mqttStore.getPvPower()),1)]),default:a(()=>[i(n,{color:"var(--color--success)",data:t.mqttStore.getPvPowerChartData,inverted:!0},null,8,["data"])]),_:1})):m("",!0)}]]);w.add(L);const A=p({name:"HomeCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return s(),c(d,{color:"light"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-home"]}),r[0]||(r[0]=g(" Hausverbrauch "))]),headerRight:a(()=>[g(h(t.mqttStore.getHomePower()),1)]),default:a(()=>[i(n,{color:"var(--color--light)",data:t.mqttStore.getHomePowerChartData},null,8,["data"])]),_:1})}]]);w.add(_);const G={name:"DashboardView",components:{GridCard:E,HomeCard:A,BatteryCard:F,InverterCard:H,ChargePointsCard:p({name:"ChargePointsCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y,ChargePointPlugBadge:b},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("charge-point-plug-badge"),d=e("spark-line"),k=e("dash-board-card");return t.mqttStore.getChargePointIds.length>0?(s(),c(k,{key:0,color:"primary"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-charging-station"]}),g(" "+h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointName(t.mqttStore.getChargePointIds[0]):"Ladepunkte"),1)]),headerRight:a(()=>[g(h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPower(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPower())+" ",1),i(n,{"charge-point-id":t.mqttStore.getChargePointIds,"show-energy-charged":!1},null,8,["charge-point-id"])]),default:a(()=>[i(d,{color:"var(--color--primary)",data:t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPowerChartData(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPowerChartData},null,8,["data"])]),_:1})):m("",!0)}]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:l()})},R={class:"dash-board-card-wrapper"},K=p(G,[["render",function(C,r,S,f,t,u){const o=e("grid-card"),n=e("home-card"),d=e("battery-card"),k=e("inverter-card"),v=e("charge-points-card");return s(),x("div",R,[t.mqttStore.getGridCardEnabled?(s(),c(o,{key:0})):m("",!0),t.mqttStore.getHomeCardEnabled?(s(),c(n,{key:1})):m("",!0),t.mqttStore.getBatteryCardEnabled?(s(),c(d,{key:2})):m("",!0),t.mqttStore.getPvCardEnabled?(s(),c(k,{key:3})):m("",!0),t.mqttStore.getChargePointsCardEnabled?(s(),c(v,{key:4})):m("",!0)])}],["__scopeId","data-v-2085947b"]]);export{K as default}; diff --git a/packages/modules/display_themes/cards/web/assets/DashBoardView-BvptEyMO.js b/packages/modules/display_themes/cards/web/assets/DashBoardView-BvptEyMO.js deleted file mode 100644 index 964d4e73b9..0000000000 --- a/packages/modules/display_themes/cards/web/assets/DashBoardView-BvptEyMO.js +++ /dev/null @@ -1 +0,0 @@ -import{u as l}from"./index-nI_NVV5B.js";import{D as q}from"./DashBoardCard-DJZ2GsC-.js";import{S as P,C as b}from"./ChargePointPlugBadge-bP9BlN1o.js";import{F as w,l as y,d as I,e as B,g as D,h as L,i as _}from"./vendor-fortawesome-CpQlJZ13.js";import{_ as p}from"./vendor-inkline-C_NPDnDu.js";import{l as c,q as a,p as e,o as s,s as i,k as g,x as h,f as m,e as x}from"./vendor-BMrK3KHF.js";y.add(I);const E=p({name:"GridCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:w},props:{},data:()=>({mqttStore:l()})},[["render",function(f,r,C,S,t,u){const o=e("font-awesome-icon"),d=e("spark-line"),n=e("dash-board-card");return s(),c(n,{color:"danger"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-gauge-high"]}),r[0]||(r[0]=g(" EVU "))]),headerRight:a(()=>[g(h(t.mqttStore.getGridPower()),1)]),default:a(()=>[i(d,{color:"var(--color--danger)","color-negative":"var(--color--success)",data:t.mqttStore.getGridPowerChartData},null,8,["data"])]),_:1})}]]);y.add(B);const F=p({name:"BatteryCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:w},props:{},data:()=>({mqttStore:l()})},[["render",function(f,r,C,S,t,u){const o=e("font-awesome-icon"),d=e("spark-line"),n=e("dash-board-card");return t.mqttStore.getBatteryConfigured?(s(),c(n,{key:0,color:"warning"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-car-battery"]}),r[0]||(r[0]=g(" Speicher "))]),headerRight:a(()=>[g(h(t.mqttStore.getBatterySoc())+" / "+h(t.mqttStore.getBatteryPower()),1)]),default:a(()=>[i(d,{color:"var(--color--warning)",data:t.mqttStore.getBatteryPowerChartData,"soc-data":t.mqttStore.getBatterySocChartData},null,8,["data","soc-data"])]),_:1})):m("",!0)}]]);y.add(D);const H=p({name:"InverterCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:w},props:{},data:()=>({mqttStore:l()})},[["render",function(f,r,C,S,t,u){const o=e("font-awesome-icon"),d=e("spark-line"),n=e("dash-board-card");return t.mqttStore.getPvConfigured?(s(),c(n,{key:0,color:"success"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-solar-panel"]}),r[0]||(r[0]=g(" PV "))]),headerRight:a(()=>[g(h(t.mqttStore.getPvPower()),1)]),default:a(()=>[i(d,{color:"var(--color--success)",data:t.mqttStore.getPvPowerChartData,inverted:!0},null,8,["data"])]),_:1})):m("",!0)}]]);y.add(L);const A=p({name:"HomeCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:w},props:{},data:()=>({mqttStore:l()})},[["render",function(f,r,C,S,t,u){const o=e("font-awesome-icon"),d=e("spark-line"),n=e("dash-board-card");return s(),c(n,{color:"light"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-home"]}),r[0]||(r[0]=g(" Hausverbrauch "))]),headerRight:a(()=>[g(h(t.mqttStore.getHomePower()),1)]),default:a(()=>[i(d,{color:"var(--color--light)",data:t.mqttStore.getHomePowerChartData},null,8,["data"])]),_:1})}]]);y.add(_);const G={name:"DashboardView",components:{GridCard:E,HomeCard:A,BatteryCard:F,InverterCard:H,ChargePointsCard:p({name:"ChargePointsCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:w,ChargePointPlugBadge:b},props:{},data:()=>({mqttStore:l()})},[["render",function(f,r,C,S,t,u){const o=e("font-awesome-icon"),d=e("charge-point-plug-badge"),n=e("spark-line"),k=e("dash-board-card");return t.mqttStore.getChargePointIds.length>0?(s(),c(k,{key:0,color:"primary"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-charging-station"]}),g(" "+h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointName(t.mqttStore.getChargePointIds[0]):"Ladepunkte"),1)]),headerRight:a(()=>[g(h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPower(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPower())+" ",1),i(d,{"charge-point-id":t.mqttStore.getChargePointIds,"show-energy-charged":!1},null,8,["charge-point-id"])]),default:a(()=>[i(n,{color:"var(--color--primary)",data:t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPowerChartData(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPowerChartData},null,8,["data"])]),_:1})):m("",!0)}]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:l()})},R={class:"dash-board-card-wrapper"},K=p(G,[["render",function(f,r,C,S,t,u){const o=e("grid-card"),d=e("home-card"),n=e("battery-card"),k=e("inverter-card"),v=e("charge-points-card");return s(),x("div",R,[t.mqttStore.getGridCardEnabled?(s(),c(o,{key:0})):m("",!0),t.mqttStore.getHomeCardEnabled?(s(),c(d,{key:1})):m("",!0),t.mqttStore.getBatteryCardEnabled?(s(),c(n,{key:2})):m("",!0),t.mqttStore.getPvCardEnabled?(s(),c(k,{key:3})):m("",!0),t.mqttStore.getChargePointsCardEnabled?(s(),c(v,{key:4})):m("",!0)])}],["__scopeId","data-v-2085947b"]]);export{K as default}; diff --git a/packages/modules/display_themes/cards/web/assets/EnergyFlowView-D3Xr79nb.js b/packages/modules/display_themes/cards/web/assets/EnergyFlowView-0uD4UqSR.js similarity index 92% rename from packages/modules/display_themes/cards/web/assets/EnergyFlowView-D3Xr79nb.js rename to packages/modules/display_themes/cards/web/assets/EnergyFlowView-0uD4UqSR.js index 6ad534270a..2c50a49492 100644 --- a/packages/modules/display_themes/cards/web/assets/EnergyFlowView-D3Xr79nb.js +++ b/packages/modules/display_themes/cards/web/assets/EnergyFlowView-0uD4UqSR.js @@ -1 +1 @@ -import{u as R}from"./index-nI_NVV5B.js";import{D as V}from"./DashBoardCard-DJZ2GsC-.js";import{l as v,q as l,p as d,o as r,s as f,i as s,e as a,F as P,A as C,z as c,f as u,k as b,x as S,O as q}from"./vendor-BMrK3KHF.js";import{_ as w}from"./vendor-inkline-C_NPDnDu.js";import"./vendor-fortawesome-CpQlJZ13.js";const m={name:"DashboardFlowCard",components:{DashBoardCard:V},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:R(),svgSize:{xMin:0,xMax:150,yMin:0,yMax:105,circleRadius:10,strokeWidth:.5,textSize:5,numRows:4,numColumns:3}}),computed:{svgViewBox(){return`${this.svgSize.xMin} ${this.svgSize.yMin} ${this.svgSize.xMax} ${this.svgSize.yMax}`},svgFontSize(){return`${this.svgSize.textSize}px`},svgRectWidth(){return(this.svgSize.xMax-this.svgSize.xMin-this.svgSize.strokeWidth-this.svgSize.numColumns)/this.svgSize.numColumns},svgStrokeWidth(){return this.svgSize.strokeWidth},svgIconWidth(){return this.svgSize.circleRadius},svgIconHeight(){return this.svgSize.circleRadius},gridPower(){return this.mqttStore.getGridPower("object")},pvPower(){return this.mqttStore.getPvPower("object")},homePower(){return this.mqttStore.getHomePower("object")},batteryPower(){return this.mqttStore.getBatteryPower("object")},batterySoc(){return this.mqttStore.getBatterySoc("object").value/100},connectedChargePoints(){return this.mqttStore.getChargePointIds},chargePointSumPower(){return this.mqttStore.getChargePointSumPower("object")},chargePoint1Power(){return this.connectedChargePoints.length>0?this.mqttStore.getChargePointPower(this.connectedChargePoints[0],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint2Power(){return this.connectedChargePoints.length>1?this.mqttStore.getChargePointPower(this.connectedChargePoints[1],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint3Power(){return this.connectedChargePoints.length>2?this.mqttStore.getChargePointPower(this.connectedChargePoints[2],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint1Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[0])},chargePoint2Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[1])},chargePoint3Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[2])},chargePoint1VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[0])},chargePoint2VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[1])},chargePoint3VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[0]).soc/100},chargePoint2ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[1]).soc/100},chargePoint3ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[2]).soc/100},gridConsumption(){return this.gridPower.value>0},gridFeedIn(){return this.gridPower.value<0},homeConsumption(){return this.homePower.value>0},homeProduction(){return this.homePower.value<0},pvProduction(){return this.pvPower.value>0},batteryDischarging(){return this.batteryPower.value<0},batteryCharging(){return this.batteryPower.value>0},chargePointSumCharging(){return this.chargePointSumPower.value>0},chargePointSumDischarging(){return this.chargePointSumPower.value<0},chargePoint1Charging(){return this.chargePoint1Power.value>0},chargePoint1Discharging(){return this.chargePoint1Power.value<0},chargePoint2Charging(){return this.chargePoint2Power.value>0},chargePoint2Discharging(){return this.chargePoint2Power.value<0},chargePoint3Charging(){return this.chargePoint3Power.value>0},chargePoint3Discharging(){return this.chargePoint3Power.value<0},svgComponents(){var e=[];return this.mqttStore.getThemeConfiguration.enable_dashboard_card_grid&&e.push({id:"grid",class:{base:"grid",valueLabel:this.gridFeedIn?"fill-success":this.gridConsumption?"fill-danger":"",animated:this.gridConsumption,animatedReverse:this.gridFeedIn},position:{row:0,column:0},label:["EVU",this.gridPower.textValue],icon:"icons/owbGrid.svg"}),this.mqttStore.getThemeConfiguration.enable_dashboard_card_home_consumption&&e.push({id:"home",class:{base:"home",valueLabel:"",animated:this.homeProduction,animatedReverse:this.homeConsumption},position:{row:0,column:2},label:["Haus",this.homePower.textValue],icon:"icons/owbHouse.svg"}),this.mqttStore.getPvConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_inverter_sum&&e.push({id:"pv",class:{base:"pv",valueLabel:this.pvProduction?"fill-success":"",animated:this.pvProduction,animatedReverse:!1},position:{row:1,column:0},label:["PV",this.pvPower.textValue],icon:"icons/owbPV.svg"}),this.mqttStore.getBatteryConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_battery_sum&&e.push({id:"battery",class:{base:"battery",valueLabel:"",animated:this.batteryDischarging,animatedReverse:this.batteryCharging},position:{row:1,column:2},label:["Speicher",this.batteryPower.textValue],soc:this.batterySoc,icon:"icons/owbBattery.svg"}),this.connectedChargePoints.length>0&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_charge_point_sum&&(this.connectedChargePoints.length<=3?(e.push({id:"charge-point-1",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint1Discharging,animatedReverse:this.chargePoint1Charging},position:{row:2,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1Name,this.chargePoint1Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint1VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-1",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint1ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1ConnectedVehicleName||"---",this.chargePoint1ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint1ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>1&&(e.push({id:"charge-point-2",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint2Discharging,animatedReverse:this.chargePoint2Charging},position:{row:2,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2Name,this.chargePoint2Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint2VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-2",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint2ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2ConnectedVehicleName||"---",this.chargePoint2ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint2ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>2&&(e.push({id:"charge-point-3",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint3Discharging,animatedReverse:this.chargePoint3Charging},position:{row:2,column:2},label:[this.chargePoint3Name,this.chargePoint3Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint3VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-3",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint3ConnectedVehicleChargeMode.class},position:{row:3,column:2},label:[this.chargePoint3ConnectedVehicleName||"---",this.chargePoint3ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint3ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"})))):e.push({id:"charge-point-sum",class:{base:"charge-point",valueLabel:"",animated:this.chargePointSumDischarging,animatedReverse:this.chargePointSumCharging},position:{row:2,column:1},label:["Ladepunkte",this.chargePointSumPower.textValue],icon:"icons/owbChargePoint.svg"})),(!this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles||this.connectedChargePoints.length===0||this.connectedChargePoints.length>3)&&this.setSvgNumRows(3),e}},methods:{setSvgNumRows(e){this.svgSize.numRows=e},calcRowY(e){let o=this.svgSize.yMin+this.svgSize.strokeWidth+this.svgSize.circleRadius;return e*((this.svgSize.yMax-this.svgSize.strokeWidth-this.svgSize.circleRadius-o)/(this.svgSize.numRows-1))+o},calcColumnX(e){let o=this.svgSize.xMin+this.svgSize.strokeWidth+this.svgRectWidth/2;return e*((this.svgSize.xMax-this.svgSize.strokeWidth-this.svgRectWidth/2-o)/(this.svgSize.numColumns-1))+o},calcFlowLineAnchorX(e){let o=this.calcColumnX(e);return e<(this.svgSize.numColumns-1)/2?o+this.svgRectWidth/2-this.svgSize.circleRadius:e>(this.svgSize.numColumns-1)/2?o-this.svgRectWidth/2+this.svgSize.circleRadius:o},calcSvgElementBoundingBox(e){let o=document.getElementById(e);if(o==null)return{x:0,y:0,width:0,height:0};let h=o.getBBox();return{x:h.x,y:h.y,width:h.width,height:h.height}},beginAnimation(e){var o;this.$refs[e]!=null&&((o=this.$refs[e][0])==null||o.beginElement())}}},p=()=>{q(e=>({"2d21ce23":e.svgStrokeWidth,"0cb0615b":e.svgFontSize}))},x=m.setup;m.setup=x?(e,o)=>(p(),x(e,o)):p;const _={class:"svg-container"},W=["viewBox"],k={id:"layer1",style:{display:"inline"}},M=["d"],N={id:"layer2",style:{display:"inline"}},$=["cx","cy","r"],L=["transform","onClick"],B=["id"],D=["x","y","width","height"],I=["id"],F=["x","y","width","height","rx","ry"],j=["x","y","width","height","rx","ry"],T=["clip-path"],A=["id","x","y"],E=["values"],X=["id","x","y"],H=["transform"],Y=["r"],G=["r","clip-path"],O=["href","x","y","height","width"],te=w({name:"EnergyFlowView",components:{FlowCard:w(m,[["render",function(e,o,h,z,t,n){const g=d("i-container"),y=d("dash-board-card");return r(),v(y,{color:"primary"},{headerLeft:l(()=>o[0]||(o[0]=[b(" Übersicht - Energiefluss ")])),default:l(()=>[f(g,null,{default:l(()=>[s("div",_,[(r(),a("svg",{viewBox:n.svgViewBox,version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},[s("g",k,[(r(!0),a(P,null,C(n.svgComponents,i=>(r(),a("path",{key:i.id,class:c([i.class.base,{animated:i.class.animated},{animatedReverse:i.class.animatedReverse}]),d:i.class.base!=="vehicle"?`M ${n.calcFlowLineAnchorX(i.position.column)}, ${n.calcRowY(i.position.row)} ${n.calcColumnX(1)}, ${n.calcRowY(1)}`:""},null,10,M))),128))]),s("g",N,[s("circle",{id:"center",cx:n.calcColumnX(1),cy:n.calcRowY(1),r:t.svgSize.circleRadius/3},null,8,$),(r(!0),a(P,null,C(n.svgComponents,i=>(r(),a("g",{key:i.id,class:c(i.class.base),transform:`translate(${n.calcColumnX(i.position.column)}, ${n.calcRowY(i.position.row)})`,onClick:U=>n.beginAnimation(`animate-label-${i.id}`)},[s("defs",null,[i.soc?(r(),a("clipPath",{key:0,id:`clip-soc-${i.id}`},[s("rect",{x:-t.svgSize.circleRadius-t.svgSize.strokeWidth,y:(t.svgSize.circleRadius+t.svgSize.strokeWidth)*(1-2*i.soc),width:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth),height:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth)*i.soc},null,8,D)],8,B)):u("",!0),s("clipPath",{id:`clip-label-${i.id}`},[s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,F)],8,I)]),s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,j),s("text",{"clip-path":`url(#clip-label-${i.id})`},[s("tspan",{id:`label-${i.id}`,"text-anchor":"start",x:-n.svgRectWidth/2+2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:-t.svgSize.textSize/2},[n.calcSvgElementBoundingBox(`label-${i.id}`).width>n.svgRectWidth-2*t.svgSize.circleRadius-2*t.svgSize.strokeWidth?(r(),a("animate",{key:0,ref_for:!0,ref:`animate-label-${i.id}`,xmlns:"http://www.w3.org/2000/svg",attributeName:"x",dur:"5s",values:"0; "+(-n.calcSvgElementBoundingBox(`label-${i.id}`).width+n.svgRectWidth-2.5*t.svgSize.circleRadius-2*t.svgSize.strokeWidth)+"; 0;",repeatCount:"0",begin:"2s",additive:"sum"},null,8,E)):u("",!0),b(" "+S(i.label[0]),1)],8,A),s("tspan",{id:`value-${i.id}`,class:c(i.class.valueLabel),"text-anchor":"end",x:2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:t.svgSize.textSize},S(i.label[1]),11,X)],8,T),s("g",{transform:`translate(${t.svgSize.circleRadius-n.svgRectWidth/2}, 0)`},[s("circle",{cx:"0",cy:"0",r:t.svgSize.circleRadius,class:c({soc:i.soc})},null,10,Y),i.soc?(r(),a("circle",{key:0,cx:"0",cy:"0",r:t.svgSize.circleRadius,"clip-path":`url(#clip-soc-${i.id})`},null,8,G)):u("",!0),s("image",{href:i.icon,x:-n.svgIconWidth/2,y:-n.svgIconHeight/2,height:n.svgIconHeight,width:n.svgIconWidth},null,8,O)],8,H)],10,L))),128))])],8,W))])]),_:1})]),_:1})}],["__scopeId","data-v-9e868ed0"]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}}},[["render",function(e,o,h,z,t,n){const g=d("FlowCard");return r(),v(g)}]]);export{te as default}; +import{u as R}from"./index-BSB1CRIg.js";import{D as V}from"./DashBoardCard-Ds7Ht92x.js";import{o as r,l as v,n as l,k as P,s as f,j as s,e as a,F as C,A as b,y as c,i as d,x as S,O as q,q as u}from"./vendor-DIlzVmqi.js";import{_ as w}from"./vendor-inkline-CWAydWlY.js";import"./vendor-fortawesome--vLnJNbG.js";const m={name:"DashboardFlowCard",components:{DashBoardCard:V},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:R(),svgSize:{xMin:0,xMax:150,yMin:0,yMax:105,circleRadius:10,strokeWidth:.5,textSize:5,numRows:4,numColumns:3}}),computed:{svgViewBox(){return`${this.svgSize.xMin} ${this.svgSize.yMin} ${this.svgSize.xMax} ${this.svgSize.yMax}`},svgFontSize(){return`${this.svgSize.textSize}px`},svgRectWidth(){return(this.svgSize.xMax-this.svgSize.xMin-this.svgSize.strokeWidth-this.svgSize.numColumns)/this.svgSize.numColumns},svgStrokeWidth(){return this.svgSize.strokeWidth},svgIconWidth(){return this.svgSize.circleRadius},svgIconHeight(){return this.svgSize.circleRadius},gridPower(){return this.mqttStore.getGridPower("object")},pvPower(){return this.mqttStore.getPvPower("object")},homePower(){return this.mqttStore.getHomePower("object")},batteryPower(){return this.mqttStore.getBatteryPower("object")},batterySoc(){return this.mqttStore.getBatterySoc("object").value/100},connectedChargePoints(){return this.mqttStore.getChargePointIds},chargePointSumPower(){return this.mqttStore.getChargePointSumPower("object")},chargePoint1Power(){return this.connectedChargePoints.length>0?this.mqttStore.getChargePointPower(this.connectedChargePoints[0],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint2Power(){return this.connectedChargePoints.length>1?this.mqttStore.getChargePointPower(this.connectedChargePoints[1],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint3Power(){return this.connectedChargePoints.length>2?this.mqttStore.getChargePointPower(this.connectedChargePoints[2],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint1Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[0])},chargePoint2Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[1])},chargePoint3Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[2])},chargePoint1VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[0])},chargePoint2VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[1])},chargePoint3VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[0]).soc/100},chargePoint2ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[1]).soc/100},chargePoint3ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[2]).soc/100},gridConsumption(){return this.gridPower.value>0},gridFeedIn(){return this.gridPower.value<0},homeConsumption(){return this.homePower.value>0},homeProduction(){return this.homePower.value<0},pvProduction(){return this.pvPower.value>0},batteryDischarging(){return this.batteryPower.value<0},batteryCharging(){return this.batteryPower.value>0},chargePointSumCharging(){return this.chargePointSumPower.value>0},chargePointSumDischarging(){return this.chargePointSumPower.value<0},chargePoint1Charging(){return this.chargePoint1Power.value>0},chargePoint1Discharging(){return this.chargePoint1Power.value<0},chargePoint2Charging(){return this.chargePoint2Power.value>0},chargePoint2Discharging(){return this.chargePoint2Power.value<0},chargePoint3Charging(){return this.chargePoint3Power.value>0},chargePoint3Discharging(){return this.chargePoint3Power.value<0},svgComponents(){var e=[];return this.mqttStore.getThemeConfiguration.enable_dashboard_card_grid&&e.push({id:"grid",class:{base:"grid",valueLabel:this.gridFeedIn?"fill-success":this.gridConsumption?"fill-danger":"",animated:this.gridConsumption,animatedReverse:this.gridFeedIn},position:{row:0,column:0},label:["EVU",this.gridPower.textValue],icon:"icons/owbGrid.svg"}),this.mqttStore.getThemeConfiguration.enable_dashboard_card_home_consumption&&e.push({id:"home",class:{base:"home",valueLabel:"",animated:this.homeProduction,animatedReverse:this.homeConsumption},position:{row:0,column:2},label:["Haus",this.homePower.textValue],icon:"icons/owbHouse.svg"}),this.mqttStore.getPvConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_inverter_sum&&e.push({id:"pv",class:{base:"pv",valueLabel:this.pvProduction?"fill-success":"",animated:this.pvProduction,animatedReverse:!1},position:{row:1,column:0},label:["PV",this.pvPower.textValue],icon:"icons/owbPV.svg"}),this.mqttStore.getBatteryConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_battery_sum&&e.push({id:"battery",class:{base:"battery",valueLabel:"",animated:this.batteryDischarging,animatedReverse:this.batteryCharging},position:{row:1,column:2},label:["Speicher",this.batteryPower.textValue],soc:this.batterySoc,icon:"icons/owbBattery.svg"}),this.connectedChargePoints.length>0&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_charge_point_sum&&(this.connectedChargePoints.length<=3?(e.push({id:"charge-point-1",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint1Discharging,animatedReverse:this.chargePoint1Charging},position:{row:2,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1Name,this.chargePoint1Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint1VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-1",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint1ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1ConnectedVehicleName||"---",this.chargePoint1ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint1ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>1&&(e.push({id:"charge-point-2",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint2Discharging,animatedReverse:this.chargePoint2Charging},position:{row:2,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2Name,this.chargePoint2Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint2VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-2",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint2ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2ConnectedVehicleName||"---",this.chargePoint2ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint2ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>2&&(e.push({id:"charge-point-3",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint3Discharging,animatedReverse:this.chargePoint3Charging},position:{row:2,column:2},label:[this.chargePoint3Name,this.chargePoint3Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint3VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-3",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint3ConnectedVehicleChargeMode.class},position:{row:3,column:2},label:[this.chargePoint3ConnectedVehicleName||"---",this.chargePoint3ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint3ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"})))):e.push({id:"charge-point-sum",class:{base:"charge-point",valueLabel:"",animated:this.chargePointSumDischarging,animatedReverse:this.chargePointSumCharging},position:{row:2,column:1},label:["Ladepunkte",this.chargePointSumPower.textValue],icon:"icons/owbChargePoint.svg"})),(!this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles||this.connectedChargePoints.length===0||this.connectedChargePoints.length>3)&&this.setSvgNumRows(3),e}},methods:{setSvgNumRows(e){this.svgSize.numRows=e},calcRowY(e){let o=this.svgSize.yMin+this.svgSize.strokeWidth+this.svgSize.circleRadius;return e*((this.svgSize.yMax-this.svgSize.strokeWidth-this.svgSize.circleRadius-o)/(this.svgSize.numRows-1))+o},calcColumnX(e){let o=this.svgSize.xMin+this.svgSize.strokeWidth+this.svgRectWidth/2;return e*((this.svgSize.xMax-this.svgSize.strokeWidth-this.svgRectWidth/2-o)/(this.svgSize.numColumns-1))+o},calcFlowLineAnchorX(e){let o=this.calcColumnX(e);return e<(this.svgSize.numColumns-1)/2?o+this.svgRectWidth/2-this.svgSize.circleRadius:e>(this.svgSize.numColumns-1)/2?o-this.svgRectWidth/2+this.svgSize.circleRadius:o},calcSvgElementBoundingBox(e){let o=document.getElementById(e);if(o==null)return{x:0,y:0,width:0,height:0};let h=o.getBBox();return{x:h.x,y:h.y,width:h.width,height:h.height}},beginAnimation(e){var o;this.$refs[e]!=null&&((o=this.$refs[e][0])==null||o.beginElement())}}},p=()=>{q(e=>({"2d21ce23":e.svgStrokeWidth,"0cb0615b":e.svgFontSize}))},x=m.setup;m.setup=x?(e,o)=>(p(),x(e,o)):p;const _={class:"svg-container"},W=["viewBox"],k={id:"layer1",style:{display:"inline"}},M=["d"],N={id:"layer2",style:{display:"inline"}},$=["cx","cy","r"],L=["transform","onClick"],B=["id"],D=["x","y","width","height"],I=["id"],F=["x","y","width","height","rx","ry"],j=["x","y","width","height","rx","ry"],T=["clip-path"],A=["id","x","y"],E=["values"],X=["id","x","y"],H=["transform"],Y=["r"],G=["r","clip-path"],O=["href","x","y","height","width"],te=w({name:"EnergyFlowView",components:{FlowCard:w(m,[["render",function(e,o,h,z,t,n){const g=u("i-container"),y=u("dash-board-card");return r(),v(y,{color:"primary"},{headerLeft:l(()=>o[0]||(o[0]=[P(" Übersicht - Energiefluss ")])),default:l(()=>[f(g,null,{default:l(()=>[s("div",_,[(r(),a("svg",{viewBox:n.svgViewBox,version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},[s("g",k,[(r(!0),a(C,null,b(n.svgComponents,i=>(r(),a("path",{key:i.id,class:c([i.class.base,{animated:i.class.animated},{animatedReverse:i.class.animatedReverse}]),d:i.class.base!=="vehicle"?`M ${n.calcFlowLineAnchorX(i.position.column)}, ${n.calcRowY(i.position.row)} ${n.calcColumnX(1)}, ${n.calcRowY(1)}`:""},null,10,M))),128))]),s("g",N,[s("circle",{id:"center",cx:n.calcColumnX(1),cy:n.calcRowY(1),r:t.svgSize.circleRadius/3},null,8,$),(r(!0),a(C,null,b(n.svgComponents,i=>(r(),a("g",{key:i.id,class:c(i.class.base),transform:`translate(${n.calcColumnX(i.position.column)}, ${n.calcRowY(i.position.row)})`,onClick:U=>n.beginAnimation(`animate-label-${i.id}`)},[s("defs",null,[i.soc?(r(),a("clipPath",{key:0,id:`clip-soc-${i.id}`},[s("rect",{x:-t.svgSize.circleRadius-t.svgSize.strokeWidth,y:(t.svgSize.circleRadius+t.svgSize.strokeWidth)*(1-2*i.soc),width:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth),height:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth)*i.soc},null,8,D)],8,B)):d("",!0),s("clipPath",{id:`clip-label-${i.id}`},[s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,F)],8,I)]),s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,j),s("text",{"clip-path":`url(#clip-label-${i.id})`},[s("tspan",{id:`label-${i.id}`,"text-anchor":"start",x:-n.svgRectWidth/2+2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:-t.svgSize.textSize/2},[n.calcSvgElementBoundingBox(`label-${i.id}`).width>n.svgRectWidth-2*t.svgSize.circleRadius-2*t.svgSize.strokeWidth?(r(),a("animate",{key:0,ref_for:!0,ref:`animate-label-${i.id}`,xmlns:"http://www.w3.org/2000/svg",attributeName:"x",dur:"5s",values:"0; "+(-n.calcSvgElementBoundingBox(`label-${i.id}`).width+n.svgRectWidth-2.5*t.svgSize.circleRadius-2*t.svgSize.strokeWidth)+"; 0;",repeatCount:"0",begin:"2s",additive:"sum"},null,8,E)):d("",!0),P(" "+S(i.label[0]),1)],8,A),s("tspan",{id:`value-${i.id}`,class:c(i.class.valueLabel),"text-anchor":"end",x:2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:t.svgSize.textSize},S(i.label[1]),11,X)],8,T),s("g",{transform:`translate(${t.svgSize.circleRadius-n.svgRectWidth/2}, 0)`},[s("circle",{cx:"0",cy:"0",r:t.svgSize.circleRadius,class:c({soc:i.soc})},null,10,Y),i.soc?(r(),a("circle",{key:0,cx:"0",cy:"0",r:t.svgSize.circleRadius,"clip-path":`url(#clip-soc-${i.id})`},null,8,G)):d("",!0),s("image",{href:i.icon,x:-n.svgIconWidth/2,y:-n.svgIconHeight/2,height:n.svgIconHeight,width:n.svgIconWidth},null,8,O)],8,H)],10,L))),128))])],8,W))])]),_:1})]),_:1})}],["__scopeId","data-v-9e868ed0"]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}}},[["render",function(e,o,h,z,t,n){const g=u("FlowCard");return r(),v(g)}]]);export{te as default}; diff --git a/packages/modules/display_themes/cards/web/assets/StatusView-rjhbJP_1.js b/packages/modules/display_themes/cards/web/assets/StatusView-BcF0Zv5l.js similarity index 82% rename from packages/modules/display_themes/cards/web/assets/StatusView-rjhbJP_1.js rename to packages/modules/display_themes/cards/web/assets/StatusView-BcF0Zv5l.js index 206972e98b..9f78574fcf 100644 --- a/packages/modules/display_themes/cards/web/assets/StatusView-rjhbJP_1.js +++ b/packages/modules/display_themes/cards/web/assets/StatusView-BcF0Zv5l.js @@ -1 +1 @@ -import{u as y}from"./index-nI_NVV5B.js";import{F as b,l as k,C as M,D as A}from"./vendor-fortawesome-CpQlJZ13.js";import{_ as p}from"./vendor-inkline-C_NPDnDu.js";import{l as c,q as t,p as l,o as f,k as n,s as o,I as x,i as I,f as C}from"./vendor-BMrK3KHF.js";import{D as z}from"./DashBoardCard-DJZ2GsC-.js";k.add(M);const D=p({name:"ReloadButton",components:{FontAwesomeIcon:b},props:{},data:()=>({}),methods:{reloadDisplay(){location.reload()}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-button");return f(),c(a,{color:"success",size:"lg",onClick:e[0]||(e[0]=s=>m.reloadDisplay())},{default:t(()=>[e[1]||(e[1]=n(" Display neu laden ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]})]),_:1})}]]);k.add(M);const F=p({name:"RebootButton",components:{FontAwesomeIcon:b},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointReboot",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemReboot")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return f(),c(s,{color:"warning",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB neu starten ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]}),(f(),c(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB neu starten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Neustart ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich neu starten? ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]);k.add(A);const Z=p({name:"StatusView",components:{ReloadButton:D,RebootButton:F,ShutdownButton:p({name:"ShutdownButton",components:{FontAwesomeIcon:b},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointShutdown",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemShutdown")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return f(),c(s,{color:"danger",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB ausschalten ")),o(i,{"fixed-width":"",icon:["fas","fa-power-off"]}),(f(),c(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB ausschalten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Ausschalten ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich ausschalten?"),I("br",null,null,-1),n(" Nach dem Ausschalten muss die Ladestation komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]),DashBoardCard:z},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:y()})},[["render",function(w,e,h,S,u,m){const i=l("i-form-label"),a=l("i-column"),s=l("i-input"),d=l("i-row"),_=l("i-form-group"),g=l("reload-button"),r=l("reboot-button"),B=l("shutdown-button"),q=l("i-form"),v=l("i-container"),V=l("dash-board-card");return f(),c(V,{color:"primary"},{headerLeft:t(()=>e[0]||(e[0]=[n(" Status ")])),default:t(()=>[o(v,null,{default:t(()=>[o(q,null,{default:t(()=>[o(d,null,{default:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_margin-top:2"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[1]||(e[1]=[n(" IP-Adresse ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_ip",plaintext:"","model-value":u.mqttStore.getSystemIp},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[2]||(e[2]=[n(" Systemzeit ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_time",plaintext:"","model-value":u.mqttStore.getSystemTime},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[3]||(e[3]=[n(" Version ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_version",plaintext:"","model-value":u.mqttStore.getSystemVersion},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[4]||(e[4]=[n(" Version (Details) ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_commit",plaintext:"","model-value":u.mqttStore.getSystemCurrentCommit},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[5]||(e[5]=[n(" Entwicklungszweig ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_branch",plaintext:"","model-value":u.mqttStore.getSystemBranch},null,8,["model-value"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),h.changesLocked?C("",!0):(f(),c(d,{key:0,class:"_margin-top:5",between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(g,{block:""})]),_:1})]),_:1})),h.changesLocked?C("",!0):(f(),c(d,{key:1,between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(r,{block:"",class:"_margin-top:2"})]),_:1}),o(a,null,{default:t(()=>[o(B,{block:"",class:"_margin-top:2"})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})}]]);export{Z as default}; +import{u as y}from"./index-BSB1CRIg.js";import{l as b,C as M,F as k,D as A}from"./vendor-fortawesome--vLnJNbG.js";import{_ as p}from"./vendor-inkline-CWAydWlY.js";import{o as c,l as f,n as t,k as n,s as o,q as l,I as x,j as I,i as C}from"./vendor-DIlzVmqi.js";import{D as z}from"./DashBoardCard-Ds7Ht92x.js";b.add(M);const D=p({name:"ReloadButton",components:{FontAwesomeIcon:k},props:{},data:()=>({}),methods:{reloadDisplay(){location.reload()}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-button");return c(),f(a,{color:"success",size:"lg",onClick:e[0]||(e[0]=s=>m.reloadDisplay())},{default:t(()=>[e[1]||(e[1]=n(" Display neu laden ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]})]),_:1})}]]);b.add(M);const F=p({name:"RebootButton",components:{FontAwesomeIcon:k},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointReboot",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemReboot")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return c(),f(s,{color:"warning",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB neu starten ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]}),(c(),f(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB neu starten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Neustart ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich neu starten? ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]);b.add(A);const Z=p({name:"StatusView",components:{ReloadButton:D,RebootButton:F,ShutdownButton:p({name:"ShutdownButton",components:{FontAwesomeIcon:k},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointShutdown",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemShutdown")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return c(),f(s,{color:"danger",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB ausschalten ")),o(i,{"fixed-width":"",icon:["fas","fa-power-off"]}),(c(),f(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB ausschalten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Ausschalten ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich ausschalten?"),I("br",null,null,-1),n(" Nach dem Ausschalten muss die Ladestation komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]),DashBoardCard:z},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:y()})},[["render",function(w,e,h,S,u,m){const i=l("i-form-label"),a=l("i-column"),s=l("i-input"),d=l("i-row"),_=l("i-form-group"),g=l("reload-button"),r=l("reboot-button"),B=l("shutdown-button"),q=l("i-form"),v=l("i-container"),V=l("dash-board-card");return c(),f(V,{color:"primary"},{headerLeft:t(()=>e[0]||(e[0]=[n(" Status ")])),default:t(()=>[o(v,null,{default:t(()=>[o(q,null,{default:t(()=>[o(d,null,{default:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_margin-top:2"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[1]||(e[1]=[n(" IP-Adresse ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_ip",plaintext:"","model-value":u.mqttStore.getSystemIp},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[2]||(e[2]=[n(" Systemzeit ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_time",plaintext:"","model-value":u.mqttStore.getSystemTime},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[3]||(e[3]=[n(" Version ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_version",plaintext:"","model-value":u.mqttStore.getSystemVersion},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[4]||(e[4]=[n(" Version (Details) ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_commit",plaintext:"","model-value":u.mqttStore.getSystemCurrentCommit},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[5]||(e[5]=[n(" Entwicklungszweig ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_branch",plaintext:"","model-value":u.mqttStore.getSystemBranch},null,8,["model-value"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),h.changesLocked?C("",!0):(c(),f(d,{key:0,class:"_margin-top:5",between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(g,{block:""})]),_:1})]),_:1})),h.changesLocked?C("",!0):(c(),f(d,{key:1,between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(r,{block:"",class:"_margin-top:2"})]),_:1}),o(a,null,{default:t(()=>[o(B,{block:"",class:"_margin-top:2"})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})}]]);export{Z as default}; diff --git a/packages/modules/display_themes/cards/web/assets/index-nI_NVV5B.js b/packages/modules/display_themes/cards/web/assets/index-BSB1CRIg.js similarity index 95% rename from packages/modules/display_themes/cards/web/assets/index-nI_NVV5B.js rename to packages/modules/display_themes/cards/web/assets/index-BSB1CRIg.js index 2d3f885c16..e6f956abf3 100644 --- a/packages/modules/display_themes/cards/web/assets/index-nI_NVV5B.js +++ b/packages/modules/display_themes/cards/web/assets/index-BSB1CRIg.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashBoardView-BvptEyMO.js","assets/DashBoardCard-DJZ2GsC-.js","assets/vendor-inkline-C_NPDnDu.js","assets/vendor-BMrK3KHF.js","assets/vendor-inkline-BxOXWZNy.css","assets/DashBoardCard-Bl80pQ9w.css","assets/ChargePointPlugBadge-bP9BlN1o.js","assets/vendor-fortawesome-CpQlJZ13.js","assets/ChargePointPlugBadge-HWp2u3dG.css","assets/DashBoardView-CZvLtoU0.css","assets/EnergyFlowView-D3Xr79nb.js","assets/EnergyFlowView-CMZu-SNR.css","assets/ChargePointsView-DAOuhP6h.js","assets/ChargePointsView-ALIhGmhe.css","assets/StatusView-rjhbJP_1.js"])))=>i.map(i=>d[i]); -import{e as P,k as f,j as B,x as k,F as W,o as p,i as T,H as F,l as C,q as c,p as d,f as y,s as l,A as I,I as E,z as A,R as H,J as R,K as U,L as z,M as G,N as K}from"./vendor-BMrK3KHF.js";import{_ as b,I as J,c as Y}from"./vendor-inkline-C_NPDnDu.js";import{l as $,f as L,a as q,F as O,b as Z,c as Q}from"./vendor-fortawesome-CpQlJZ13.js";(function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&t(i)}).observe(document,{childList:!0,subtree:!0})}function t(n){if(n.ep)return;n.ep=!0;const a=function(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}(n);fetch(n.href,a)}})();const X=b({name:"DateTime",data:()=>({dateTimeInterval:"",date:"",time:""}),mounted(){this.update(),this.dateTimeInterval=setInterval(this.update,1e3)},beforeUnmount(){clearInterval(this.dateTimeInterval)},methods:{update(){const e=new Date;this.date=e.toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"2-digit",day:"2-digit"}),this.time=e.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}},[["render",function(e,t,n,a,i,o){return p(),P(W,null,[f(k(i.time),1),B(e.$slots,"default",{},()=>[t[0]||(t[0]=T("br",null,null,-1))]),f(k(i.date),1)],64)}]]),w=F("mqtt",{state:()=>({settings:{localIp:void 0,localBranch:void 0,localCommit:void 0,localVersion:void 0,parentChargePoint1:void 0,parentChargePoint2:void 0},topics:{},chartData:{}}),getters:{getChargePointFilter:e=>{let t=[];return e.settings.parentChargePoint1!==void 0&&t.push(e.settings.parentChargePoint1),e.settings.parentChargePoint2!==void 0&&t.push(e.settings.parentChargePoint2),t},getWildcardIndexList:e=>(t,n=!1)=>{let a=t;n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let i=Object.keys(e.topics).filter(o=>o.match(a));return i.forEach((o,r,s)=>{s[r]=parseInt(o.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),i},getWildcardTopics:e=>(t,n=!1)=>{let a=t;return n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(e.topics).filter(i=>i.match(a)).reduce((i,o)=>({...i,[o]:e.topics[o]}),{})},getObjectIds:e=>t=>function n(a){let i=[];return a!==void 0&&a.forEach(o=>{o.type==t&&i.push(o.id),i=[...i,...n(o.children)]}),i}(e.topics["openWB/counter/get/hierarchy"]),getValueBool:e=>(t,n=!1)=>{let a=e.topics[t];return a!==void 0?a:n},getValueString:e=>(t,n="W",a="",i=!0,o=!1,r="---",s=void 0)=>{var h=!1,g=e.topics[t];if(g===void 0||s!==void 0&&g[s]===void 0)m=r;else{s!==void 0&&(g=g[s]),o&&(g*=-1);for(var m=g.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),u=g;i&&(u>999||u<-999);)switch(u/=1e3,h=!0,a){case"":a="k";break;case"k":a="M";break;case"M":a="G"}m=u.toLocaleString(void 0,{minimumFractionDigits:h?2:0,maximumFractionDigits:h?2:0})}return{textValue:`${m} ${a}${n}`,value:g,unit:n,scaledValue:u,scaledUnit:`${a}${n}`}},getChartData:e=>t=>e.chartData[t]===void 0?[]:e.chartData[t],getDisplayStandby:e=>e.topics["openWB/optional/int_display/standby"],getThemeConfiguration:e=>{if("openWB/optional/int_display/theme"in e.topics&&e.topics["openWB/optional/int_display/theme"]!==void 0&&"configuration"in e.topics["openWB/optional/int_display/theme"])return e.topics["openWB/optional/int_display/theme"].configuration},getDashBoardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_view,getEnergyFlowEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_energy_flow_view,getChargePointsEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_charge_points_view,getStateEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_status_view,getGridCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_grid,getHomeCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_home_consumption,getBatteryCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_battery_sum,getChargePointsCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_charge_point_sum,getPvCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_inverter_sum,getLockChanges:e=>!e.getThemeConfiguration||e.getThemeConfiguration.lock_changes,getSimpleChargePointView:e=>!!e.getThemeConfiguration&&e.getThemeConfiguration.simple_charge_point_view,getGridId(e){let t=e.topics["openWB/counter/get/hierarchy"];if(t!==void 0&&Object.keys(t).length>0){let n=Object.keys(e.topics["openWB/counter/get/hierarchy"])[0];if(e.topics["openWB/counter/get/hierarchy"][n].type=="counter")return e.topics["openWB/counter/get/hierarchy"][n].id}},getGridPower:e=>(t="textValue")=>{let n=e.getGridId;if(n===void 0)return"---";let a=e.getValueString(`openWB/counter/${n}/get/power`,"W");return Object.hasOwnProperty.call(a,t)?a[t]:t=="object"?a:void 0},getGridPowerChartData(e){let t=e.getGridId;return t===void 0?[]:e.getChartData(`openWB/counter/${t}/get/power`)},getHomePower:e=>(t="textValue")=>{let n=e.getValueString("openWB/counter/set/home_consumption","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getHomePowerChartData:e=>e.getChartData("openWB/counter/set/home_consumption"),getBatteryConfigured:e=>e.getValueBool("openWB/bat/config/configured"),getBatteryPower:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatteryPowerChartData:e=>e.getChartData("openWB/bat/get/power"),getBatterySoc:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/soc","%","",!1);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatterySocChartData:e=>e.getChartData("openWB/bat/get/soc"),getPvConfigured:e=>e.getValueBool("openWB/pv/config/configured"),getPvPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/pv/get/power","W","",!0,!0);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getPvPowerChartData:e=>e.getChartData("openWB/pv/get/power").map(t=>-1*t),getChargePointSumPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/chargepoint/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getChargePointSumPowerChartData:e=>e.getChartData("openWB/chargepoint/get/power"),getChargePointIds(e){let t=e.getObjectIds("cp"),n=this.getChargePointFilter;return n.length>0?t.filter(a=>n.includes(a)):t},getChargePointName:e=>t=>e.topics[`openWB/chargepoint/${t}/config`]!==void 0?e.topics[`openWB/chargepoint/${t}/config`].name:"---",getChargePointPower:e=>(t,n="textValue")=>{var a=e.getValueString(`openWB/chargepoint/${t}/get/power`,"W");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointImportedSincePlugged:e=>t=>({energy:e.getValueString(`openWB/chargepoint/${t}/set/log`,"Wh","",!0,!1,"---","imported_since_plugged").textValue,range:e.getValueString(`openWB/chargepoint/${t}/set/log`,"m","k",!1,!1,"---","range_charged").textValue}),getChargePointPowerChartData:e=>t=>e.getChartData(`openWB/chargepoint/${t}/get/power`),getChargePointSetCurrent:e=>(t,n="textValue")=>{let a=e.getValueString(`openWB/chargepoint/${t}/set/current`,"A");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointPhasesInUse:e=>t=>{const n=["/","①","②","③"],a=e.topics[`openWB/chargepoint/${t}/get/phases_in_use`];return a!==void 0&&a>=0&&at=>e.getValueBool(`openWB/chargepoint/${t}/get/plug_state`),getChargePointChargeState:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/get/charge_state`),getChargePointManualLock:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/set/manual_lock`),getChargepointTagState:e=>t=>[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/set/rfid`])?[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/get/rfid`])?0:1:2,getChargePointConnectedVehicleConfig:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/config`],getChargePointConnectedVehicleChargeMode:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.translateChargeMode(e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.selected)},getChargePointConnectedVehiclePriority:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).prio},getChargePointConnectedVehicleInfo:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`],getChargePointConnectedVehicleId:e=>t=>{if(e.getChargePointConnectedVehicleInfo(t))return e.getChargePointConnectedVehicleInfo(t).id},getChargePointConnectedVehicleChargeTemplateIndex:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).charge_template},getChargePointConnectedVehicleChargeTemplate:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.topics[`openWB/vehicle/template/charge_template/${n}`]},getChargePointConnectedVehicleEvTemplate:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).ev_template},getChargePointConnectedVehicleName:e=>t=>{if(e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`])return e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`].name},getChargePointConnectedVehicleSoc:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/soc`],getChargePointConnectedVehicleTimeChargingActive:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).time_charging.active},getChargePointConnectedVehicleTimeChargingRunning:e=>t=>{let n=e.getChargePointConnectedVehicleConfig(t).time_charging_in_use;return n!==void 0&&n},getChargePointConnectedVehicleInstantChargingCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.current},getChargePointConnectedVehicleInstantChargingLimit:e=>t=>e.getChargePointConnectedVehicleChargeTemplate(t)?e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.limit:{selected:void 0},getChargePointConnectedVehiclePvChargingFeedInLimit:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.feed_in_limit},getChargePointConnectedVehiclePvChargingMinCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_current},getChargePointConnectedVehiclePvChargingMinSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc},getChargePointConnectedVehiclePvChargingMinSocCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc_current},getChargePointConnectedVehiclePvChargingMaxSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.max_soc},getChargePointConnectedVehicleScheduledChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/chargemode/scheduled_charging/plans/+`)},getChargePointConnectedVehicleTimeChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/time_charging/plans/+`)},getVehicleList:e=>e.getWildcardTopics("openWB/vehicle/+/name"),getVehicleName:e=>t=>e.topics[`openWB/vehicle/${t}/name`],getVehicleSocConfigured:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type!=null,getVehicleSocIsManual:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type=="manual",getVehicleFaultState:e=>t=>e.topics[`openWB/vehicle/${t}/get/fault_state`]?e.topics[`openWB/vehicle/${t}/get/fault_state`]:0,getSystemTime(e){if(e.topics["openWB/system/time"])return new Date(1e3*e.topics["openWB/system/time"]).toLocaleString()},getSystemIp:e=>e.settings.localIp!==void 0?e.settings.localIp:e.topics["openWB/system/ip_address"]?e.topics["openWB/system/ip_address"]:void 0,getSystemVersion:e=>e.settings.localVersion!==void 0?e.settings.localVersion:e.topics["openWB/system/version"]?e.topics["openWB/system/version"]:void 0,getSystemBranch:e=>e.settings.localBranch!==void 0?e.settings.localBranch:e.topics["openWB/system/current_branch"]?e.topics["openWB/system/current_branch"]:void 0,getSystemCurrentCommit:e=>e.settings.localCommit!==void 0?e.settings.localCommit:e.topics["openWB/system/current_commit"]?e.topics["openWB/system/current_commit"]:void 0,getRfidEnabled(){return this.getValueBool("openWB/optional/rfid/active")}},actions:{updateSetting(e,t){e in this.settings&&(this.settings[e]=t)},initTopic(e,t=void 0){e.includes("#")||e.includes("+")||this.addTopic(e,t)},addTopic(e,t){this.topics[e]=t},removeTopic(e){e.includes("#")||e.includes("+")?Object.keys(this.getWildcardTopics(e)).forEach(t=>{delete this.topics[t]}):delete this.topics[e]},updateTopic(e,t,n=void 0){var a,i,o;e in this.topics&&(n!=null?(a=this.topics[e],o=t,(i=n).split(".").reduce((r,s,h)=>r[s]=i.split(".").length===++h?o:r[s]||{},a)):this.topics[e]=t)},updateChartData(){for(const[e,t]of Object.entries(this.topics))(e.endsWith("home_consumption")||e.endsWith("power")||e.endsWith("soc"))&&(this.chartData[e]===void 0&&(this.chartData[e]=[]),t!=null&&(this.chartData[e].push(t),this.chartData[e].slice(-128)))},updateState(e,t,n=void 0){this.updateTopic(e,t,n)},chargeModeList(){var e=[{id:"instant_charging"},{id:"pv_charging"},{id:"scheduled_charging"},{id:"standby"},{id:"stop"}];return e.forEach(t=>{t.label=this.translateChargeMode(t.id).label,t.class=this.translateChargeMode(t.id).class}),e},translateChargeMode(e){switch(e){case"instant_charging":return{mode:e,label:"Sofort",class:"danger"};case"pv_charging":return{mode:e,label:"PV",class:"success"};case"scheduled_charging":return{mode:e,label:"Zielladen",class:"primary"};case"time_charging":return{mode:e,label:"Zeitladen",class:"warning"};case"standby":return{mode:e,label:"Standby",class:"secondary"};case"stop":return{mode:e,label:"Stop",class:"dark"};default:return{mode:e,label:e,class:e}}},checkChangesLockCode(e){return!(!this.getThemeConfiguration||this.getThemeConfiguration.lock_changes_code!=e)},formatDate:(e,t={year:"numeric",month:"2-digit",day:"2-digit"})=>new Date(e).toLocaleDateString(void 0,t),formatDateRange(e,t="-"){const n={year:"numeric",month:"2-digit",day:"2-digit"};let a={day:"2-digit"};const i=new Date(e[0]),o=new Date(e[1]);return i.getFullYear()==o.getFullYear()?i.getMonth()!=o.getMonth()&&(a.month=n.month):a=n,`${this.formatDate(e[0],a)}${t}${this.formatDate(e[1],n)}`},formatWeeklyScheduleDays(e){const t=["Mo","Di","Mi","Do","Fr","Sa","So"];let n=[];return e.forEach(function(a,i){a==1&&n.push(t[i])}),n.join(",")}}}),ee=b({name:"NavBar",components:{NavItem:b({name:"NavItem",props:{to:{type:Object,required:!0}}},[["render",function(e,t,n,a,i,o){const r=d("i-nav-item");return p(),C(r,{to:n.to,"active-class":"-active",class:"_border _border-color:primary _text-align:center"},{default:c(()=>[B(e.$slots,"default",{},void 0,!0)]),_:3},8,["to"])}],["__scopeId","data-v-1db6ae73"]])},data:()=>({mqttStore:w()})},[["render",function(e,t,n,a,i,o){const r=d("nav-item"),s=d("i-nav");return p(),C(s,{vertical:"",class:"_align-items:stretch",size:"lg"},{default:c(()=>[i.mqttStore.getDashBoardEnabled?(p(),C(r,{key:0,to:{name:"dash-board"}},{default:c(()=>t[0]||(t[0]=[f(" Übersicht ")])),_:1})):y("",!0),i.mqttStore.getEnergyFlowEnabled?(p(),C(r,{key:1,to:{name:"energy-flow"}},{default:c(()=>t[1]||(t[1]=[f(" Energiefluss ")])),_:1})):y("",!0),i.mqttStore.getChargePointsEnabled&&i.mqttStore.getChargePointIds.length>0?(p(),C(r,{key:2,to:{name:"charge-points"}},{default:c(()=>t[2]||(t[2]=[f(" Ladepunkte ")])),_:1})):y("",!0),i.mqttStore.getStateEnabled?(p(),C(r,{key:3,to:{name:"status"}},{default:c(()=>t[3]||(t[3]=[f(" Status ")])),_:1})):y("",!0)]),_:1})}]]);$.add(L,q);const te=b({name:"NumberPad",components:{FontAwesomeIcon:O},emits:["key:digit","key:clear","key:delete"],data:()=>({buttonRows:[[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"}],[{value:4,label:"4"},{value:5,label:"5"},{value:6,label:"6"}],[{value:7,label:"7"},{value:8,label:"8"},{value:9,label:"9"}]]}),methods:{emitDigit(e){this.$emit("key:digit",e)},emitClear(){this.$emit("key:clear")},emitDelete(){this.$emit("key:delete")}}},[["render",function(e,t,n,a,i,o){const r=d("i-button"),s=d("i-column"),h=d("i-row"),g=d("FontAwesomeIcon"),m=d("i-container");return p(),C(m,null,{default:c(()=>[(p(!0),P(W,null,I(i.buttonRows,u=>(p(),C(h,{key:u,center:"",class:"_padding-bottom:1"},{default:c(()=>[(p(!0),P(W,null,I(u,_=>(p(),C(s,{key:_.value,class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:v=>o.emitDigit(_.value)},{default:c(()=>[f(k(_.label),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:2},1024))),128)),l(h,{center:""},{default:c(()=>[l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[0]||(t[0]=u=>o.emitClear())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-eraser"]})]),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[1]||(t[1]=u=>o.emitDigit("0"))},{default:c(()=>t[3]||(t[3]=[f(" 0 ")])),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[2]||(t[2]=u=>o.emitDelete())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-delete-left"]})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-4e2103db"]]),ne=b({name:"CodeInputModal",components:{NumberPad:te},props:{modelValue:{type:Boolean,required:!0},backgroundColor:{type:String,default:"warning"},placeholderCharacter:{type:String,default:"*",validator:e=>e.length==1},inputVisible:{type:Boolean,default:!1},minLength:{type:Number,default:4},maxLength:{type:Number,default:4}},emits:["update:modelValue","update:inputValue"],data(){return{number:"",modalBackground:this.backgroundColor}},computed:{placeholder(){return this.placeholderCharacter.repeat(this.minLength)},enableSubmit(){return this.number.length>=this.minLength&&this.number.length<=this.maxLength}},watch:{modelValue(e,t){e===!1&&t===!0&&this.clear()}},methods:{abort(){this.$emit("update:modelValue",!1)},addDigit(e){this.number.length{this.$emit("update:modelValue",!1),this.modalBackground=this.backgroundColor},500)},error(e="danger"){this.modalBackground=e,setTimeout(()=>{this.clear(),this.modalBackground=this.backgroundColor},2e3)}}},[["render",function(e,t,n,a,i,o){const r=d("i-input"),s=d("i-column"),h=d("i-row"),g=d("NumberPad"),m=d("i-container"),u=d("i-button"),_=d("i-modal");return p(),C(E,{to:"body"},[l(_,{"model-value":n.modelValue,color:i.modalBackground,"onUpdate:modelValue":t[4]||(t[4]=v=>e.$emit("update:modelValue",v))},{header:c(()=>[B(e.$slots,"header",{},()=>[t[5]||(t[5]=f(" **HEADER** "))])]),footer:c(()=>[l(m,null,{default:c(()=>[l(h,null,{default:c(()=>[l(s,null,{default:c(()=>[l(u,{color:"danger",onClick:o.abort},{default:c(()=>[B(e.$slots,"abort",{},()=>[t[6]||(t[6]=f(" Zurück "))])]),_:3},8,["onClick"])]),_:3}),l(s,{class:"_text-align:right"},{default:c(()=>[o.enableSubmit?(p(),C(u,{key:0,color:"success",onClick:o.submit},{default:c(()=>[B(e.$slots,"submit",{},()=>[t[7]||(t[7]=f(" OK "))])]),_:3},8,["onClick"])):y("",!0)]),_:3})]),_:3})]),_:3})]),default:c(()=>[l(m,null,{default:c(()=>[l(h,{center:"",class:"_padding-bottom:1"},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{modelValue:i.number,"onUpdate:modelValue":t[0]||(t[0]=v=>i.number=v),placeholder:o.placeholder,readonly:"",size:"lg",type:n.inputVisible?"text":"password",class:"_text-align:center"},null,8,["modelValue","placeholder","type"])]),_:1})]),_:1}),l(g,{"onKey:digit":t[1]||(t[1]=v=>o.addDigit(v)),"onKey:clear":t[2]||(t[2]=v=>o.clear()),"onKey:delete":t[3]||(t[3]=v=>o.removeDigit(v))})]),_:1})]),_:3},8,["model-value","color"])])}]]);$.add(Z,Q,L,q);const oe={key:0,class:"_padding-left:1"},x="/openWB/web/display/themes/cards/openWB_logo_dark.png",ae=b({name:"OpenwbDisplayCardsApp",components:{RouterView:H,DateTime:X,NavBar:ee,LockNavItem:b({name:"LockNavItem",components:{FontAwesomeIcon:O,CodeInputModal:ne},props:{},data:()=>({mqttStore:w(),modalPinEntryVisible:!1,modalPinEntryColor:"warning",code:"",countdown:0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"]}),computed:{changesLocked:{get(){return this.mqttStore.settings.changesLocked},set(e){this.mqttStore.settings.changesLocked=e}},timer(){return Math.trunc(this.countdown/60).toString()+":"+(this.countdown%60).toString().padStart(2,"0")}},mounted(){this.changesLocked=!0},methods:{toggleChangesLock(){this.changesLocked?this.unlockChanges():this.lockChanges()},unlockChanges(){this.modalPinEntryVisible=!0},checkUnlockCode(e){this.mqttStore.checkChangesLockCode(e)?(this.$refs.lockInput.success("success"),this.changesLocked=!1,this.mqttStore.getDisplayStandby>0&&(this.countdown=this.mqttStore.getDisplayStandby,this.countdownInterval=setInterval(this.updateCountdown,1e3),this.events.forEach(t=>{document.addEventListener(t,this.handleDocumentEvent,{passive:!0})}))):this.$refs.lockInput.error("danger")},lockChanges(){this.changesLocked=!0,this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown-=1,this.countdown<1&&this.lockChanges()},handleDocumentEvent(){this.countdown=this.mqttStore.getDisplayStandby}}},[["render",function(e,t,n,a,i,o){const r=d("FontAwesomeIcon"),s=d("i-button"),h=d("CodeInputModal");return p(),P(W,null,[i.mqttStore.getLockChanges?(p(),C(s,{key:0,class:"_padding-left:0 _padding-right:0 _margin-bottom:1",size:"lg",block:"",color:o.changesLocked?"danger":"success",onClick:t[0]||(t[0]=g=>o.toggleChangesLock())},{default:c(()=>[l(r,{"fixed-width":"",icon:o.changesLocked?["fas","fa-lock"]:["fas","fa-lock-open"],class:A(o.changesLocked?"_color:danger-80":"_color:success-80")},null,8,["icon","class"]),!o.changesLocked&&i.countdownInterval?(p(),P("span",oe,k(o.timer),1)):y("",!0)]),_:1},8,["color"])):y("",!0),l(h,{ref:"lockInput",modelValue:i.modalPinEntryVisible,"onUpdate:modelValue":t[1]||(t[1]=g=>i.modalPinEntryVisible=g),"min-length":4,"max-length":10,"onUpdate:inputValue":o.checkUnlockCode},{header:c(()=>t[2]||(t[2]=[f(" Bitte den PIN zur Freigabe von Änderungen eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]),TouchBlocker:b({name:"TouchBlocker",data:()=>({mqttStore:w(),show:!1,countdown:void 0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"],eventHandlerSetup:!1}),computed:{configuredDisplayStandby(){if(this.mqttStore.getDisplayStandby!==0&&this.mqttStore.getDisplayStandby!==void 0)return this.mqttStore.getDisplayStandby},touchBlockerTimeout(){return Math.max(this.configuredDisplayStandby-3,1)}},mounted(){this.setupEventHandler(),this.setupTimeout()},unmounted(){this.clearEventHandler(),this.clearTimeout()},methods:{handleTouchBlockerClick(e){e===!1&&(this.show=!1,this.setupEventHandler(),this.setupTimeout())},setupEventHandler(){this.eventHandlerSetup||(this.events.forEach(e=>{document.addEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!0)},clearEventHandler(){this.eventHandlerSetup&&(this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!1)},setupTimeout(){this.countdownInterval===void 0&&(this.countdownInterval=setInterval(this.updateCountdown,1e3))},clearTimeout(){this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown===void 0?this.countdown=this.touchBlockerTimeout:(this.countdown-=1,this.countdown<1&&this.showTouchBlocker())},handleDocumentEvent(){this.countdown=this.touchBlockerTimeout,this.show=!1},showTouchBlocker(){this.show=!0,this.clearTimeout()}}},[["render",function(e,t,n,a,i,o){const r=d("IModal");return p(),C(E,{to:"body"},[l(r,{class:"touch-blocker",size:"sm",color:"dark","model-value":i.show,"onUpdate:modelValue":t[0]||(t[0]=s=>o.handleTouchBlockerClick(s))},{default:c(()=>t[1]||(t[1]=[T("img",{class:"logo",src:x},null,-1),T("p",null," Bitte das Display berühren. ",-1)])),_:1},8,["model-value"])])}],["__scopeId","data-v-e4e632d4"]])},data:()=>({client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3},mqttTopicsToSubscribe:["openWB/bat/config/configured","openWB/bat/get/power","openWB/bat/get/soc","openWB/chargepoint/+/config","openWB/chargepoint/+/get/charge_state","openWB/chargepoint/+/get/connected_vehicle/+","openWB/chargepoint/+/get/phases_in_use","openWB/chargepoint/+/get/plug_state","openWB/chargepoint/+/get/power","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/set/current","openWB/chargepoint/+/set/manual_lock","openWB/chargepoint/+/set/log","openWB/chargepoint/+/set/rfid","openWB/chargepoint/get/power","openWB/counter/+/get/power","openWB/counter/get/hierarchy","openWB/counter/set/home_consumption","openWB/optional/int_display/theme","openWB/optional/int_display/standby","openWB/optional/rfid/active","openWB/pv/config/configured","openWB/pv/get/power","openWB/system/current_branch","openWB/system/current_commit","openWB/system/ip_address","openWB/system/time","openWB/system/version","openWB/vehicle/+/get/fault_state","openWB/vehicle/+/name","openWB/vehicle/+/soc_module/config","openWB/vehicle/template/charge_template/#"],mqttStore:w(),chartInterval:"",clearConsoleHandler:void 0}),computed:{changesLocked(){return this.mqttStore.getLockChanges&&this.mqttStore.settings.changesLocked}},created(){this.createConnection()},mounted(){let e=window.location.search;if(e!=""){let a=new URLSearchParams(e);if(a.has("data")){let i=JSON.parse(a.get("data"));Object.entries(i).forEach(([o,r])=>{o.startsWith("parentChargePoint")?this.mqttStore.updateSetting(o,parseInt(r)):this.mqttStore.updateSetting(o,r)})}}this.doSubscribe(this.mqttTopicsToSubscribe),this.chartInterval=setInterval(this.mqttStore.updateChartData,5e3);const t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+1,0,0,0,0).getTime()-t.getTime();this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),n)},beforeUnmount(){this.doUnsubscribe(this.mqttTopicsToSubscribe),clearInterval(this.chartInterval),clearTimeout(this.clearConsoleHandler)},methods:{clearConsole(){this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),864e5)},createConnection(){const{protocol:e,host:t,port:n,endpoint:a,...i}=this.connection,o=`${e}://${t}:${n}${a}`;try{this.client=R.connect(o,i)}catch{}this.client.on("connect",()=>{}),this.client.on("error",r=>{}),this.client.on("message",(r,s)=>{if(s.toString().length>0){let h;try{h=JSON.parse(s.toString())}catch{h=s.toString()}this.mqttStore.addTopic(r,h)}else this.mqttStore.removeTopic(r)})},doSubscribe(e){e.forEach(t=>{this.mqttStore.initTopic(t)}),this.client.subscribe(e,{},t=>{})},doUnsubscribe(e){e.forEach(t=>{this.mqttStore.removeTopic(t)}),this.client.unsubscribe(e,t=>{})},doPublish(e,t,n=!0,a=2){let i={qos:a,retain:n};this.client.publish(e,JSON.stringify(t),i,o=>{})},sendTopicToBroker(e,t=void 0){let n=e.replace("openWB/","openWB/set/");t===void 0&&(t=this.mqttStore.topics[e]),this.doPublish(n,t)},sendCommand(e){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},sendSystemCommand(e,t={}){this.sendCommand({command:e,data:t})}}},[["render",function(e,t,n,a,i,o){const r=d("DateTime"),s=d("i-column"),h=d("i-row"),g=d("i-container"),m=d("LockNavItem"),u=d("NavBar"),_=d("TouchBlocker"),v=d("i-layout-aside"),j=d("RouterView"),M=d("i-layout-content"),N=d("i-layout");return p(),C(N,{vertical:""},{default:c(()=>[l(v,{class:"_position:fixed"},{default:c(()=>[l(g,{fluid:"",class:"_margin-bottom:1"},{default:c(()=>[l(h,{center:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r)]),_:1})]),_:1})]),_:1}),l(m),l(u,{"changes-locked":o.changesLocked},null,8,["changes-locked"]),l(_)]),_:1}),l(M,null,{default:c(()=>[l(j,{"changes-locked":o.changesLocked},null,8,["changes-locked"])]),_:1})]),_:1})}],["__scopeId","data-v-6804b914"]]),D={},S=function(e,t,n){let a=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),r=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));a=Promise.allSettled(t.map(s=>{if((s=function(u){return"/openWB/web/display/themes/cards/"+u}(s))in D)return;D[s]=!0;const h=s.endsWith(".css"),g=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${g}`))return;const m=document.createElement("link");return m.rel=h?"stylesheet":"modulepreload",h||(m.as="script"),m.crossOrigin="",m.href=s,r&&m.setAttribute("nonce",r),document.head.appendChild(m),h?new Promise((u,_)=>{m.addEventListener("load",u),m.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${s}`)))}):void 0}))}function i(o){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=o,window.dispatchEvent(r),!r.defaultPrevented)throw o}return a.then(o=>{for(const r of o||[])r.status==="rejected"&&i(r.reason);return e().catch(i)})},ie=b({name:"WelcomeView",data:()=>({mqttStore:w()}),computed:{firstView(){if(this.mqttStore.getThemeConfiguration){if(this.mqttStore.getThemeConfiguration.enable_dashboard_view)return"dash-board";if(this.mqttStore.getThemeConfiguration.enable_energy_flow_view)return"energy-flow";if(this.mqttStore.getThemeConfiguration.enable_charge_points_view)return"charge-points";if(this.mqttStore.getThemeConfiguration.enable_status_view)return"status"}}},mounted(){setTimeout(this.selectFirstRoute,3e3)},methods:{selectFirstRoute(){this.firstView&&this.$router.push({name:this.firstView})}}},[["render",function(e,t,n,a,i,o){const r=d("i-card"),s=d("i-column"),h=d("i-row"),g=d("i-container");return p(),C(g,null,{default:c(()=>[l(h,{center:"",middle:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{color:"primary"},{header:c(()=>t[0]||(t[0]=[f(" Cards Theme ")])),default:c(()=>[t[1]||(t[1]=T("img",{class:"logo",src:x},null,-1))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-16686e30"]]),re=U({history:z("/openWB/web/display/themes/cards/"),routes:[{path:"/",name:"welcome",component:ie},{path:"/DashBoard",name:"dash-board",component:()=>S(()=>import("./DashBoardView-BvptEyMO.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))},{path:"/EnergyFlow",name:"energy-flow",component:()=>S(()=>import("./EnergyFlowView-D3Xr79nb.js"),__vite__mapDeps([10,1,2,3,4,5,7,11]))},{path:"/ChargePoints",name:"charge-points",component:()=>S(()=>import("./ChargePointsView-DAOuhP6h.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,13]))},{path:"/Status",name:"status",component:()=>S(()=>import("./StatusView-rjhbJP_1.js"),__vite__mapDeps([14,7,3,2,4,1,5]))}]}),V=G(ae);V.use(K()),V.use(re),V.use(J,{colorMode:"dark",components:Y}),V.mount("#app");export{ne as C,te as N,w as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashBoardView-BtH7_3ju.js","assets/DashBoardCard-Ds7Ht92x.js","assets/vendor-inkline-CWAydWlY.js","assets/vendor-DIlzVmqi.js","assets/vendor-inkline-BxOXWZNy.css","assets/DashBoardCard-Bl80pQ9w.css","assets/ChargePointPlugBadge-CV-eneFK.js","assets/vendor-fortawesome--vLnJNbG.js","assets/ChargePointPlugBadge-HWp2u3dG.css","assets/DashBoardView-CZvLtoU0.css","assets/EnergyFlowView-0uD4UqSR.js","assets/EnergyFlowView-CMZu-SNR.css","assets/ChargePointsView-B2Qojiic.js","assets/ChargePointsView-ALIhGmhe.css","assets/StatusView-BcF0Zv5l.js"])))=>i.map(i=>d[i]); +import{o as p,e as P,k as f,x as k,f as B,j as W,F as T,H as F,q as d,l as C,n as c,i as y,A as I,s as l,I as E,y as A,R as H,J as R,K as U,L as z,M as G,N as K}from"./vendor-DIlzVmqi.js";import{_ as b,I as J,c as Y}from"./vendor-inkline-CWAydWlY.js";import{l as $,f as L,a as q,F as O,b as Z,c as Q}from"./vendor-fortawesome--vLnJNbG.js";(function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&t(i)}).observe(document,{childList:!0,subtree:!0})}function t(n){if(n.ep)return;n.ep=!0;const a=function(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}(n);fetch(n.href,a)}})();const X=b({name:"DateTime",data:()=>({dateTimeInterval:"",date:"",time:""}),mounted(){this.update(),this.dateTimeInterval=setInterval(this.update,1e3)},beforeUnmount(){clearInterval(this.dateTimeInterval)},methods:{update(){const e=new Date;this.date=e.toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"2-digit",day:"2-digit"}),this.time=e.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}},[["render",function(e,t,n,a,i,o){return p(),P(T,null,[f(k(i.time),1),B(e.$slots,"default",{},()=>[t[0]||(t[0]=W("br",null,null,-1))]),f(k(i.date),1)],64)}]]),w=F("mqtt",{state:()=>({settings:{localIp:void 0,localBranch:void 0,localCommit:void 0,localVersion:void 0,parentChargePoint1:void 0,parentChargePoint2:void 0},topics:{},chartData:{}}),getters:{getChargePointFilter:e=>{let t=[];return e.settings.parentChargePoint1!==void 0&&t.push(e.settings.parentChargePoint1),e.settings.parentChargePoint2!==void 0&&t.push(e.settings.parentChargePoint2),t},getWildcardIndexList:e=>(t,n=!1)=>{let a=t;n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let i=Object.keys(e.topics).filter(o=>o.match(a));return i.forEach((o,r,s)=>{s[r]=parseInt(o.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),i},getWildcardTopics:e=>(t,n=!1)=>{let a=t;return n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(e.topics).filter(i=>i.match(a)).reduce((i,o)=>({...i,[o]:e.topics[o]}),{})},getObjectIds:e=>t=>function n(a){let i=[];return a!==void 0&&a.forEach(o=>{o.type==t&&i.push(o.id),i=[...i,...n(o.children)]}),i}(e.topics["openWB/counter/get/hierarchy"]),getValueBool:e=>(t,n=!1)=>{let a=e.topics[t];return a!==void 0?a:n},getValueString:e=>(t,n="W",a="",i=!0,o=!1,r="---",s=void 0)=>{var h=!1,g=e.topics[t];if(g===void 0||s!==void 0&&g[s]===void 0)m=r;else{s!==void 0&&(g=g[s]),o&&(g*=-1);for(var m=g.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),u=g;i&&(u>999||u<-999);)switch(u/=1e3,h=!0,a){case"":a="k";break;case"k":a="M";break;case"M":a="G"}m=u.toLocaleString(void 0,{minimumFractionDigits:h?2:0,maximumFractionDigits:h?2:0})}return{textValue:`${m} ${a}${n}`,value:g,unit:n,scaledValue:u,scaledUnit:`${a}${n}`}},getChartData:e=>t=>e.chartData[t]===void 0?[]:e.chartData[t],getDisplayStandby:e=>e.topics["openWB/optional/int_display/standby"],getThemeConfiguration:e=>{if("openWB/optional/int_display/theme"in e.topics&&e.topics["openWB/optional/int_display/theme"]!==void 0&&"configuration"in e.topics["openWB/optional/int_display/theme"])return e.topics["openWB/optional/int_display/theme"].configuration},getDashBoardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_view,getEnergyFlowEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_energy_flow_view,getChargePointsEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_charge_points_view,getStateEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_status_view,getGridCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_grid,getHomeCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_home_consumption,getBatteryCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_battery_sum,getChargePointsCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_charge_point_sum,getPvCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_inverter_sum,getLockChanges:e=>!e.getThemeConfiguration||e.getThemeConfiguration.lock_changes,getSimpleChargePointView:e=>!!e.getThemeConfiguration&&e.getThemeConfiguration.simple_charge_point_view,getGridId(e){let t=e.topics["openWB/counter/get/hierarchy"];if(t!==void 0&&Object.keys(t).length>0){let n=Object.keys(e.topics["openWB/counter/get/hierarchy"])[0];if(e.topics["openWB/counter/get/hierarchy"][n].type=="counter")return e.topics["openWB/counter/get/hierarchy"][n].id}},getGridPower:e=>(t="textValue")=>{let n=e.getGridId;if(n===void 0)return"---";let a=e.getValueString(`openWB/counter/${n}/get/power`,"W");return Object.hasOwnProperty.call(a,t)?a[t]:t=="object"?a:void 0},getGridPowerChartData(e){let t=e.getGridId;return t===void 0?[]:e.getChartData(`openWB/counter/${t}/get/power`)},getHomePower:e=>(t="textValue")=>{let n=e.getValueString("openWB/counter/set/home_consumption","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getHomePowerChartData:e=>e.getChartData("openWB/counter/set/home_consumption"),getBatteryConfigured:e=>e.getValueBool("openWB/bat/config/configured"),getBatteryPower:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatteryPowerChartData:e=>e.getChartData("openWB/bat/get/power"),getBatterySoc:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/soc","%","",!1);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatterySocChartData:e=>e.getChartData("openWB/bat/get/soc"),getPvConfigured:e=>e.getValueBool("openWB/pv/config/configured"),getPvPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/pv/get/power","W","",!0,!0);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getPvPowerChartData:e=>e.getChartData("openWB/pv/get/power").map(t=>-1*t),getChargePointSumPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/chargepoint/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getChargePointSumPowerChartData:e=>e.getChartData("openWB/chargepoint/get/power"),getChargePointIds(e){let t=e.getObjectIds("cp"),n=this.getChargePointFilter;return n.length>0?t.filter(a=>n.includes(a)):t},getChargePointName:e=>t=>e.topics[`openWB/chargepoint/${t}/config`]!==void 0?e.topics[`openWB/chargepoint/${t}/config`].name:"---",getChargePointPower:e=>(t,n="textValue")=>{var a=e.getValueString(`openWB/chargepoint/${t}/get/power`,"W");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointImportedSincePlugged:e=>t=>({energy:e.getValueString(`openWB/chargepoint/${t}/set/log`,"Wh","",!0,!1,"---","imported_since_plugged").textValue,range:e.getValueString(`openWB/chargepoint/${t}/set/log`,"m","k",!1,!1,"---","range_charged").textValue}),getChargePointPowerChartData:e=>t=>e.getChartData(`openWB/chargepoint/${t}/get/power`),getChargePointSetCurrent:e=>(t,n="textValue")=>{let a=e.getValueString(`openWB/chargepoint/${t}/set/current`,"A");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointPhasesInUse:e=>t=>{const n=["/","①","②","③"],a=e.topics[`openWB/chargepoint/${t}/get/phases_in_use`];return a!==void 0&&a>=0&&at=>e.getValueBool(`openWB/chargepoint/${t}/get/plug_state`),getChargePointChargeState:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/get/charge_state`),getChargePointManualLock:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/set/manual_lock`),getChargepointTagState:e=>t=>[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/set/rfid`])?[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/get/rfid`])?0:1:2,getChargePointConnectedVehicleConfig:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/config`],getChargePointConnectedVehicleChargeMode:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.translateChargeMode(e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.selected)},getChargePointConnectedVehiclePriority:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).prio},getChargePointConnectedVehicleInfo:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`],getChargePointConnectedVehicleId:e=>t=>{if(e.getChargePointConnectedVehicleInfo(t))return e.getChargePointConnectedVehicleInfo(t).id},getChargePointConnectedVehicleChargeTemplateIndex:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).charge_template},getChargePointConnectedVehicleChargeTemplate:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.topics[`openWB/vehicle/template/charge_template/${n}`]},getChargePointConnectedVehicleEvTemplate:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).ev_template},getChargePointConnectedVehicleName:e=>t=>{if(e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`])return e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`].name},getChargePointConnectedVehicleSoc:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/soc`],getChargePointConnectedVehicleTimeChargingActive:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).time_charging.active},getChargePointConnectedVehicleTimeChargingRunning:e=>t=>{let n=e.getChargePointConnectedVehicleConfig(t).time_charging_in_use;return n!==void 0&&n},getChargePointConnectedVehicleInstantChargingCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.current},getChargePointConnectedVehicleInstantChargingLimit:e=>t=>e.getChargePointConnectedVehicleChargeTemplate(t)?e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.limit:{selected:void 0},getChargePointConnectedVehiclePvChargingFeedInLimit:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.feed_in_limit},getChargePointConnectedVehiclePvChargingMinCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_current},getChargePointConnectedVehiclePvChargingMinSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc},getChargePointConnectedVehiclePvChargingMinSocCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc_current},getChargePointConnectedVehiclePvChargingMaxSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.max_soc},getChargePointConnectedVehicleScheduledChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/chargemode/scheduled_charging/plans/+`)},getChargePointConnectedVehicleTimeChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/time_charging/plans/+`)},getVehicleList:e=>e.getWildcardTopics("openWB/vehicle/+/name"),getVehicleName:e=>t=>e.topics[`openWB/vehicle/${t}/name`],getVehicleSocConfigured:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type!=null,getVehicleSocIsManual:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type=="manual",getVehicleFaultState:e=>t=>e.topics[`openWB/vehicle/${t}/get/fault_state`]?e.topics[`openWB/vehicle/${t}/get/fault_state`]:0,getSystemTime(e){if(e.topics["openWB/system/time"])return new Date(1e3*e.topics["openWB/system/time"]).toLocaleString()},getSystemIp:e=>e.settings.localIp!==void 0?e.settings.localIp:e.topics["openWB/system/ip_address"]?e.topics["openWB/system/ip_address"]:void 0,getSystemVersion:e=>e.settings.localVersion!==void 0?e.settings.localVersion:e.topics["openWB/system/version"]?e.topics["openWB/system/version"]:void 0,getSystemBranch:e=>e.settings.localBranch!==void 0?e.settings.localBranch:e.topics["openWB/system/current_branch"]?e.topics["openWB/system/current_branch"]:void 0,getSystemCurrentCommit:e=>e.settings.localCommit!==void 0?e.settings.localCommit:e.topics["openWB/system/current_commit"]?e.topics["openWB/system/current_commit"]:void 0,getRfidEnabled(){return this.getValueBool("openWB/optional/rfid/active")}},actions:{updateSetting(e,t){e in this.settings&&(this.settings[e]=t)},initTopic(e,t=void 0){e.includes("#")||e.includes("+")||this.addTopic(e,t)},addTopic(e,t){this.topics[e]=t},removeTopic(e){e.includes("#")||e.includes("+")?Object.keys(this.getWildcardTopics(e)).forEach(t=>{delete this.topics[t]}):delete this.topics[e]},updateTopic(e,t,n=void 0){var a,i,o;e in this.topics&&(n!=null?(a=this.topics[e],o=t,(i=n).split(".").reduce((r,s,h)=>r[s]=i.split(".").length===++h?o:r[s]||{},a)):this.topics[e]=t)},updateChartData(){for(const[e,t]of Object.entries(this.topics))(e.endsWith("home_consumption")||e.endsWith("power")||e.endsWith("soc"))&&(this.chartData[e]===void 0&&(this.chartData[e]=[]),t!=null&&(this.chartData[e].push(t),this.chartData[e].slice(-128)))},updateState(e,t,n=void 0){this.updateTopic(e,t,n)},chargeModeList(){var e=[{id:"instant_charging"},{id:"pv_charging"},{id:"scheduled_charging"},{id:"standby"},{id:"stop"}];return e.forEach(t=>{t.label=this.translateChargeMode(t.id).label,t.class=this.translateChargeMode(t.id).class}),e},translateChargeMode(e){switch(e){case"instant_charging":return{mode:e,label:"Sofort",class:"danger"};case"pv_charging":return{mode:e,label:"PV",class:"success"};case"scheduled_charging":return{mode:e,label:"Zielladen",class:"primary"};case"time_charging":return{mode:e,label:"Zeitladen",class:"warning"};case"standby":return{mode:e,label:"Standby",class:"secondary"};case"stop":return{mode:e,label:"Stop",class:"dark"};default:return{mode:e,label:e,class:e}}},checkChangesLockCode(e){return!(!this.getThemeConfiguration||this.getThemeConfiguration.lock_changes_code!=e)},formatDate:(e,t={year:"numeric",month:"2-digit",day:"2-digit"})=>new Date(e).toLocaleDateString(void 0,t),formatDateRange(e,t="-"){const n={year:"numeric",month:"2-digit",day:"2-digit"};let a={day:"2-digit"};const i=new Date(e[0]),o=new Date(e[1]);return i.getFullYear()==o.getFullYear()?i.getMonth()!=o.getMonth()&&(a.month=n.month):a=n,`${this.formatDate(e[0],a)}${t}${this.formatDate(e[1],n)}`},formatWeeklyScheduleDays(e){const t=["Mo","Di","Mi","Do","Fr","Sa","So"];let n=[];return e.forEach(function(a,i){a==1&&n.push(t[i])}),n.join(",")}}}),ee=b({name:"NavBar",components:{NavItem:b({name:"NavItem",props:{to:{type:Object,required:!0}}},[["render",function(e,t,n,a,i,o){const r=d("i-nav-item");return p(),C(r,{to:n.to,"active-class":"-active",class:"_border _border-color:primary _text-align:center"},{default:c(()=>[B(e.$slots,"default",{},void 0,!0)]),_:3},8,["to"])}],["__scopeId","data-v-1db6ae73"]])},data:()=>({mqttStore:w()})},[["render",function(e,t,n,a,i,o){const r=d("nav-item"),s=d("i-nav");return p(),C(s,{vertical:"",class:"_align-items:stretch",size:"lg"},{default:c(()=>[i.mqttStore.getDashBoardEnabled?(p(),C(r,{key:0,to:{name:"dash-board"}},{default:c(()=>t[0]||(t[0]=[f(" Übersicht ")])),_:1})):y("",!0),i.mqttStore.getEnergyFlowEnabled?(p(),C(r,{key:1,to:{name:"energy-flow"}},{default:c(()=>t[1]||(t[1]=[f(" Energiefluss ")])),_:1})):y("",!0),i.mqttStore.getChargePointsEnabled&&i.mqttStore.getChargePointIds.length>0?(p(),C(r,{key:2,to:{name:"charge-points"}},{default:c(()=>t[2]||(t[2]=[f(" Ladepunkte ")])),_:1})):y("",!0),i.mqttStore.getStateEnabled?(p(),C(r,{key:3,to:{name:"status"}},{default:c(()=>t[3]||(t[3]=[f(" Status ")])),_:1})):y("",!0)]),_:1})}]]);$.add(L,q);const te=b({name:"NumberPad",components:{FontAwesomeIcon:O},emits:["key:digit","key:clear","key:delete"],data:()=>({buttonRows:[[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"}],[{value:4,label:"4"},{value:5,label:"5"},{value:6,label:"6"}],[{value:7,label:"7"},{value:8,label:"8"},{value:9,label:"9"}]]}),methods:{emitDigit(e){this.$emit("key:digit",e)},emitClear(){this.$emit("key:clear")},emitDelete(){this.$emit("key:delete")}}},[["render",function(e,t,n,a,i,o){const r=d("i-button"),s=d("i-column"),h=d("i-row"),g=d("FontAwesomeIcon"),m=d("i-container");return p(),C(m,null,{default:c(()=>[(p(!0),P(T,null,I(i.buttonRows,u=>(p(),C(h,{key:u,center:"",class:"_padding-bottom:1"},{default:c(()=>[(p(!0),P(T,null,I(u,_=>(p(),C(s,{key:_.value,class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:v=>o.emitDigit(_.value)},{default:c(()=>[f(k(_.label),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:2},1024))),128)),l(h,{center:""},{default:c(()=>[l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[0]||(t[0]=u=>o.emitClear())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-eraser"]})]),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[1]||(t[1]=u=>o.emitDigit("0"))},{default:c(()=>t[3]||(t[3]=[f(" 0 ")])),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[2]||(t[2]=u=>o.emitDelete())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-delete-left"]})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-4e2103db"]]),ne=b({name:"CodeInputModal",components:{NumberPad:te},props:{modelValue:{type:Boolean,required:!0},backgroundColor:{type:String,default:"warning"},placeholderCharacter:{type:String,default:"*",validator:e=>e.length==1},inputVisible:{type:Boolean,default:!1},minLength:{type:Number,default:4},maxLength:{type:Number,default:4}},emits:["update:modelValue","update:inputValue"],data(){return{number:"",modalBackground:this.backgroundColor}},computed:{placeholder(){return this.placeholderCharacter.repeat(this.minLength)},enableSubmit(){return this.number.length>=this.minLength&&this.number.length<=this.maxLength}},watch:{modelValue(e,t){e===!1&&t===!0&&this.clear()}},methods:{abort(){this.$emit("update:modelValue",!1)},addDigit(e){this.number.length{this.$emit("update:modelValue",!1),this.modalBackground=this.backgroundColor},500)},error(e="danger"){this.modalBackground=e,setTimeout(()=>{this.clear(),this.modalBackground=this.backgroundColor},2e3)}}},[["render",function(e,t,n,a,i,o){const r=d("i-input"),s=d("i-column"),h=d("i-row"),g=d("NumberPad"),m=d("i-container"),u=d("i-button"),_=d("i-modal");return p(),C(E,{to:"body"},[l(_,{"model-value":n.modelValue,color:i.modalBackground,"onUpdate:modelValue":t[4]||(t[4]=v=>e.$emit("update:modelValue",v))},{header:c(()=>[B(e.$slots,"header",{},()=>[t[5]||(t[5]=f(" **HEADER** "))])]),footer:c(()=>[l(m,null,{default:c(()=>[l(h,null,{default:c(()=>[l(s,null,{default:c(()=>[l(u,{color:"danger",onClick:o.abort},{default:c(()=>[B(e.$slots,"abort",{},()=>[t[6]||(t[6]=f(" Zurück "))])]),_:3},8,["onClick"])]),_:3}),l(s,{class:"_text-align:right"},{default:c(()=>[o.enableSubmit?(p(),C(u,{key:0,color:"success",onClick:o.submit},{default:c(()=>[B(e.$slots,"submit",{},()=>[t[7]||(t[7]=f(" OK "))])]),_:3},8,["onClick"])):y("",!0)]),_:3})]),_:3})]),_:3})]),default:c(()=>[l(m,null,{default:c(()=>[l(h,{center:"",class:"_padding-bottom:1"},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{modelValue:i.number,"onUpdate:modelValue":t[0]||(t[0]=v=>i.number=v),placeholder:o.placeholder,readonly:"",size:"lg",type:n.inputVisible?"text":"password",class:"_text-align:center"},null,8,["modelValue","placeholder","type"])]),_:1})]),_:1}),l(g,{"onKey:digit":t[1]||(t[1]=v=>o.addDigit(v)),"onKey:clear":t[2]||(t[2]=v=>o.clear()),"onKey:delete":t[3]||(t[3]=v=>o.removeDigit(v))})]),_:1})]),_:3},8,["model-value","color"])])}]]);$.add(Z,Q,L,q);const oe={key:0,class:"_padding-left:1"},x="/openWB/web/display/themes/cards/openWB_logo_dark.png",ae=b({name:"OpenwbDisplayCardsApp",components:{RouterView:H,DateTime:X,NavBar:ee,LockNavItem:b({name:"LockNavItem",components:{FontAwesomeIcon:O,CodeInputModal:ne},props:{},data:()=>({mqttStore:w(),modalPinEntryVisible:!1,modalPinEntryColor:"warning",code:"",countdown:0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"]}),computed:{changesLocked:{get(){return this.mqttStore.settings.changesLocked},set(e){this.mqttStore.settings.changesLocked=e}},timer(){return Math.trunc(this.countdown/60).toString()+":"+(this.countdown%60).toString().padStart(2,"0")}},mounted(){this.changesLocked=!0},methods:{toggleChangesLock(){this.changesLocked?this.unlockChanges():this.lockChanges()},unlockChanges(){this.modalPinEntryVisible=!0},checkUnlockCode(e){this.mqttStore.checkChangesLockCode(e)?(this.$refs.lockInput.success("success"),this.changesLocked=!1,this.mqttStore.getDisplayStandby>0&&(this.countdown=this.mqttStore.getDisplayStandby,this.countdownInterval=setInterval(this.updateCountdown,1e3),this.events.forEach(t=>{document.addEventListener(t,this.handleDocumentEvent,{passive:!0})}))):this.$refs.lockInput.error("danger")},lockChanges(){this.changesLocked=!0,this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown-=1,this.countdown<1&&this.lockChanges()},handleDocumentEvent(){this.countdown=this.mqttStore.getDisplayStandby}}},[["render",function(e,t,n,a,i,o){const r=d("FontAwesomeIcon"),s=d("i-button"),h=d("CodeInputModal");return p(),P(T,null,[i.mqttStore.getLockChanges?(p(),C(s,{key:0,class:"_padding-left:0 _padding-right:0 _margin-bottom:1",size:"lg",block:"",color:o.changesLocked?"danger":"success",onClick:t[0]||(t[0]=g=>o.toggleChangesLock())},{default:c(()=>[l(r,{"fixed-width":"",icon:o.changesLocked?["fas","fa-lock"]:["fas","fa-lock-open"],class:A(o.changesLocked?"_color:danger-80":"_color:success-80")},null,8,["icon","class"]),!o.changesLocked&&i.countdownInterval?(p(),P("span",oe,k(o.timer),1)):y("",!0)]),_:1},8,["color"])):y("",!0),l(h,{ref:"lockInput",modelValue:i.modalPinEntryVisible,"onUpdate:modelValue":t[1]||(t[1]=g=>i.modalPinEntryVisible=g),"min-length":4,"max-length":10,"onUpdate:inputValue":o.checkUnlockCode},{header:c(()=>t[2]||(t[2]=[f(" Bitte den PIN zur Freigabe von Änderungen eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]),TouchBlocker:b({name:"TouchBlocker",data:()=>({mqttStore:w(),show:!1,countdown:void 0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"],eventHandlerSetup:!1}),computed:{configuredDisplayStandby(){if(this.mqttStore.getDisplayStandby!==0&&this.mqttStore.getDisplayStandby!==void 0)return this.mqttStore.getDisplayStandby},touchBlockerTimeout(){return Math.max(this.configuredDisplayStandby-3,1)}},mounted(){this.setupEventHandler(),this.setupTimeout()},unmounted(){this.clearEventHandler(),this.clearTimeout()},methods:{handleTouchBlockerClick(e){e===!1&&(this.show=!1,this.setupEventHandler(),this.setupTimeout())},setupEventHandler(){this.eventHandlerSetup||(this.events.forEach(e=>{document.addEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!0)},clearEventHandler(){this.eventHandlerSetup&&(this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!1)},setupTimeout(){this.countdownInterval===void 0&&(this.countdownInterval=setInterval(this.updateCountdown,1e3))},clearTimeout(){this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown===void 0?this.countdown=this.touchBlockerTimeout:(this.countdown-=1,this.countdown<1&&this.showTouchBlocker())},handleDocumentEvent(){this.countdown=this.touchBlockerTimeout,this.show=!1},showTouchBlocker(){this.show=!0,this.clearTimeout()}}},[["render",function(e,t,n,a,i,o){const r=d("IModal");return p(),C(E,{to:"body"},[l(r,{class:"touch-blocker",size:"sm",color:"dark","model-value":i.show,"onUpdate:modelValue":t[0]||(t[0]=s=>o.handleTouchBlockerClick(s))},{default:c(()=>t[1]||(t[1]=[W("img",{class:"logo",src:x},null,-1),W("p",null," Bitte das Display berühren. ",-1)])),_:1},8,["model-value"])])}],["__scopeId","data-v-e4e632d4"]])},data:()=>({client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3},mqttTopicsToSubscribe:["openWB/bat/config/configured","openWB/bat/get/power","openWB/bat/get/soc","openWB/chargepoint/+/config","openWB/chargepoint/+/get/charge_state","openWB/chargepoint/+/get/connected_vehicle/+","openWB/chargepoint/+/get/phases_in_use","openWB/chargepoint/+/get/plug_state","openWB/chargepoint/+/get/power","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/set/current","openWB/chargepoint/+/set/manual_lock","openWB/chargepoint/+/set/log","openWB/chargepoint/+/set/rfid","openWB/chargepoint/get/power","openWB/counter/+/get/power","openWB/counter/get/hierarchy","openWB/counter/set/home_consumption","openWB/optional/int_display/theme","openWB/optional/int_display/standby","openWB/optional/rfid/active","openWB/pv/config/configured","openWB/pv/get/power","openWB/system/current_branch","openWB/system/current_commit","openWB/system/ip_address","openWB/system/time","openWB/system/version","openWB/vehicle/+/get/fault_state","openWB/vehicle/+/name","openWB/vehicle/+/soc_module/config","openWB/vehicle/template/charge_template/#"],mqttStore:w(),chartInterval:"",clearConsoleHandler:void 0}),computed:{changesLocked(){return this.mqttStore.getLockChanges&&this.mqttStore.settings.changesLocked}},created(){this.createConnection()},mounted(){let e=window.location.search;if(e!=""){let a=new URLSearchParams(e);if(a.has("data")){let i=JSON.parse(a.get("data"));Object.entries(i).forEach(([o,r])=>{o.startsWith("parentChargePoint")?this.mqttStore.updateSetting(o,parseInt(r)):this.mqttStore.updateSetting(o,r)})}}this.doSubscribe(this.mqttTopicsToSubscribe),this.chartInterval=setInterval(this.mqttStore.updateChartData,5e3);const t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+1,0,0,0,0).getTime()-t.getTime();this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),n)},beforeUnmount(){this.doUnsubscribe(this.mqttTopicsToSubscribe),clearInterval(this.chartInterval),clearTimeout(this.clearConsoleHandler)},methods:{clearConsole(){this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),864e5)},createConnection(){const{protocol:e,host:t,port:n,endpoint:a,...i}=this.connection,o=`${e}://${t}:${n}${a}`;try{this.client=R.connect(o,i)}catch{}this.client.on("connect",()=>{}),this.client.on("error",r=>{}),this.client.on("message",(r,s)=>{if(s.toString().length>0){let h;try{h=JSON.parse(s.toString())}catch{h=s.toString()}this.mqttStore.addTopic(r,h)}else this.mqttStore.removeTopic(r)})},doSubscribe(e){e.forEach(t=>{this.mqttStore.initTopic(t)}),this.client.subscribe(e,{},t=>{})},doUnsubscribe(e){e.forEach(t=>{this.mqttStore.removeTopic(t)}),this.client.unsubscribe(e,t=>{})},doPublish(e,t,n=!0,a=2){let i={qos:a,retain:n};this.client.publish(e,JSON.stringify(t),i,o=>{})},sendTopicToBroker(e,t=void 0){let n=e.replace("openWB/","openWB/set/");t===void 0&&(t=this.mqttStore.topics[e]),this.doPublish(n,t)},sendCommand(e){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},sendSystemCommand(e,t={}){this.sendCommand({command:e,data:t})}}},[["render",function(e,t,n,a,i,o){const r=d("DateTime"),s=d("i-column"),h=d("i-row"),g=d("i-container"),m=d("LockNavItem"),u=d("NavBar"),_=d("TouchBlocker"),v=d("i-layout-aside"),j=d("RouterView"),M=d("i-layout-content"),N=d("i-layout");return p(),C(N,{vertical:""},{default:c(()=>[l(v,{class:"_position:fixed"},{default:c(()=>[l(g,{fluid:"",class:"_margin-bottom:1"},{default:c(()=>[l(h,{center:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r)]),_:1})]),_:1})]),_:1}),l(m),l(u,{"changes-locked":o.changesLocked},null,8,["changes-locked"]),l(_)]),_:1}),l(M,null,{default:c(()=>[l(j,{"changes-locked":o.changesLocked},null,8,["changes-locked"])]),_:1})]),_:1})}],["__scopeId","data-v-6804b914"]]),D={},S=function(e,t,n){let a=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),r=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));a=Promise.allSettled(t.map(s=>{if((s=function(u){return"/openWB/web/display/themes/cards/"+u}(s))in D)return;D[s]=!0;const h=s.endsWith(".css"),g=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${g}`))return;const m=document.createElement("link");return m.rel=h?"stylesheet":"modulepreload",h||(m.as="script"),m.crossOrigin="",m.href=s,r&&m.setAttribute("nonce",r),document.head.appendChild(m),h?new Promise((u,_)=>{m.addEventListener("load",u),m.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${s}`)))}):void 0}))}function i(o){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=o,window.dispatchEvent(r),!r.defaultPrevented)throw o}return a.then(o=>{for(const r of o||[])r.status==="rejected"&&i(r.reason);return e().catch(i)})},ie=b({name:"WelcomeView",data:()=>({mqttStore:w()}),computed:{firstView(){if(this.mqttStore.getThemeConfiguration){if(this.mqttStore.getThemeConfiguration.enable_dashboard_view)return"dash-board";if(this.mqttStore.getThemeConfiguration.enable_energy_flow_view)return"energy-flow";if(this.mqttStore.getThemeConfiguration.enable_charge_points_view)return"charge-points";if(this.mqttStore.getThemeConfiguration.enable_status_view)return"status"}}},mounted(){setTimeout(this.selectFirstRoute,3e3)},methods:{selectFirstRoute(){this.firstView&&this.$router.push({name:this.firstView})}}},[["render",function(e,t,n,a,i,o){const r=d("i-card"),s=d("i-column"),h=d("i-row"),g=d("i-container");return p(),C(g,null,{default:c(()=>[l(h,{center:"",middle:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{color:"primary"},{header:c(()=>t[0]||(t[0]=[f(" Cards Theme ")])),default:c(()=>[t[1]||(t[1]=W("img",{class:"logo",src:x},null,-1))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-16686e30"]]),re=U({history:z("/openWB/web/display/themes/cards/"),routes:[{path:"/",name:"welcome",component:ie},{path:"/DashBoard",name:"dash-board",component:()=>S(()=>import("./DashBoardView-BtH7_3ju.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))},{path:"/EnergyFlow",name:"energy-flow",component:()=>S(()=>import("./EnergyFlowView-0uD4UqSR.js"),__vite__mapDeps([10,1,2,3,4,5,7,11]))},{path:"/ChargePoints",name:"charge-points",component:()=>S(()=>import("./ChargePointsView-B2Qojiic.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,13]))},{path:"/Status",name:"status",component:()=>S(()=>import("./StatusView-BcF0Zv5l.js"),__vite__mapDeps([14,7,3,2,4,1,5]))}]}),V=G(ae);V.use(K()),V.use(re),V.use(J,{colorMode:"dark",components:Y}),V.mount("#app");export{ne as C,te as N,w as u}; diff --git a/packages/modules/display_themes/cards/web/assets/vendor-BMrK3KHF.js b/packages/modules/display_themes/cards/web/assets/vendor-BMrK3KHF.js deleted file mode 100644 index 469e50f488..0000000000 --- a/packages/modules/display_themes/cards/web/assets/vendor-BMrK3KHF.js +++ /dev/null @@ -1,29 +0,0 @@ -var Dd=Object.defineProperty;var Hl=t=>{throw TypeError(t)};var Fd=(t,e,r)=>e in t?Dd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Ht=(t,e,r)=>Fd(t,typeof e!="symbol"?e+"":e,r),Do=(t,e,r)=>e.has(t)||Hl("Cannot "+r);var K=(t,e,r)=>(Do(t,e,"read from private field"),r?r.call(t):e.get(t)),Pt=(t,e,r)=>e.has(t)?Hl("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),St=(t,e,r,n)=>(Do(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),Et=(t,e,r)=>(Do(t,e,"access private method"),r);var Ii=(t,e,r,n)=>({set _(l){St(t,e,l,r)},get _(){return K(t,e,n)}});const to=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{};/** -* @vue/shared v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function nl(t){const e=Object.create(null);for(const r of t.split(","))e[r]=1;return r=>r in e}const Ut={},kn=[],Ge=()=>{},Wd=()=>!1,bo=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),il=t=>t.startsWith("onUpdate:"),ee=Object.assign,ol=(t,e)=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)},$d=Object.prototype.hasOwnProperty,Mt=(t,e)=>$d.call(t,e),At=Array.isArray,In=t=>vo(t)==="[object Map]",Xc=t=>vo(t)==="[object Set]",It=t=>typeof t=="function",qt=t=>typeof t=="string",gr=t=>typeof t=="symbol",Wt=t=>t!==null&&typeof t=="object",Zc=t=>(Wt(t)||It(t))&&It(t.then)&&It(t.catch),th=Object.prototype.toString,vo=t=>th.call(t),eh=t=>vo(t)==="[object Object]",sl=t=>qt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Jn=nl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),wo=t=>{const e=Object.create(null);return r=>e[r]||(e[r]=t(r))},Vd=/-(\w)/g,Ce=wo(t=>t.replace(Vd,(e,r)=>r?r.toUpperCase():"")),qd=/\B([A-Z])/g,Nr=wo(t=>t.replace(qd,"-$1").toLowerCase()),_o=wo(t=>t.charAt(0).toUpperCase()+t.slice(1)),Fo=wo(t=>t?`on${_o(t)}`:""),Pr=(t,e)=>!Object.is(t,e),Wo=(t,...e)=>{for(let r=0;r{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:r})},Hd=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let zl;const eo=()=>zl||(zl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:to!==void 0?to:{});function Eo(t){if(At(t)){const e={};for(let r=0;r{if(r){const n=r.split(Kd);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function So(t){let e="";if(qt(t))e=t;else if(At(t))for(let r=0;r!(!t||t.__v_isRef!==!0),Jd=t=>qt(t)?t:t==null?"":At(t)||Wt(t)&&(t.toString===th||!It(t.toString))?ih(t)?Jd(t.value):JSON.stringify(t,oh,2):String(t),oh=(t,e)=>ih(e)?oh(t,e.value):In(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((r,[n,l],o)=>(r[$o(n,o)+" =>"]=l,r),{})}:Xc(e)?{[`Set(${e.size})`]:[...e.values()].map(r=>$o(r))}:gr(e)?$o(e):!Wt(e)||At(e)||eh(e)?e:String(e),$o=(t,e="")=>{var r;return gr(t)?`Symbol(${(r=t.description)!=null?r:e})`:t};/** -* @vue/reactivity v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let fe,Ft;class sh{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=fe,!e&&fe&&(this.index=(fe.scopes||(fe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,r;if(this._isPaused=!0,this.scopes)for(e=0,r=this.scopes.length;e0)return;if(Zn){let e=Zn;for(Zn=void 0;e;){const r=e.next;e.next=void 0,e.flags&=-9,e=r}}let t;for(;Xn;){let e=Xn;for(Xn=void 0;e;){const r=e.next;if(e.next=void 0,e.flags&=-9,1&e.flags)try{e.trigger()}catch(n){t||(t=n)}e=r}}if(t)throw t}function fh(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function ph(t){let e,r=t.depsTail,n=r;for(;n;){const l=n.prevDep;n.version===-1?(n===r&&(r=l),ul(n),Xd(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=l}t.deps=e,t.depsTail=r}function Os(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(dh(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function dh(t){if(4&t.flags&&!(16&t.flags)||(t.flags&=-17,t.globalVersion===ui))return;t.globalVersion=ui;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&t.deps&&!Os(t))return void(t.flags&=-3);const r=Ft,n=Ue;Ft=t,Ue=!0;try{fh(t);const l=t.fn(t._value);(e.version===0||Pr(l,t._value))&&(t._value=l,e.version++)}catch(l){throw e.version++,l}finally{Ft=r,Ue=n,ph(t),t.flags&=-3}}function ul(t,e=!1){const{dep:r,prevSub:n,nextSub:l}=t;if(n&&(n.nextSub=l,t.prevSub=void 0),l&&(l.prevSub=n,t.nextSub=void 0),r.subs===t&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let o=r.computed.deps;o;o=o.nextDep)ul(o,!0)}e||--r.sc||!r.map||r.map.delete(r.key)}function Xd(t){const{prevDep:e,nextDep:r}=t;e&&(e.nextDep=r,t.prevDep=void 0),r&&(r.prevDep=e,t.nextDep=void 0)}let Ue=!0;const gh=[];function Lr(){gh.push(Ue),Ue=!1}function jr(){const t=gh.pop();Ue=t===void 0||t}function Kl(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const r=Ft;Ft=void 0;try{e()}finally{Ft=r}}}let ui=0;class Zd{constructor(e,r){this.sub=e,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class cl{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!Ft||!Ue||Ft===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Ft)r=this.activeLink=new Zd(Ft,this),Ft.deps?(r.prevDep=Ft.depsTail,Ft.depsTail.nextDep=r,Ft.depsTail=r):Ft.deps=Ft.depsTail=r,mh(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Ft.depsTail,r.nextDep=void 0,Ft.depsTail.nextDep=r,Ft.depsTail=r,Ft.deps===r&&(Ft.deps=n)}return r}trigger(e){this.version++,ui++,this.notify(e)}notify(e){al();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{ll()}}}function mh(t){if(t.dep.sc++,4&t.sub.flags){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)mh(n)}const r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),t.dep.subs=t}}const ro=new WeakMap,nn=Symbol(""),xs=Symbol(""),ci=Symbol("");function le(t,e,r){if(Ue&&Ft){let n=ro.get(t);n||ro.set(t,n=new Map);let l=n.get(r);l||(n.set(r,l=new cl),l.map=n,l.key=r),l.track()}}function ar(t,e,r,n,l,o){const s=ro.get(t);if(!s)return void ui++;const i=a=>{a&&a.trigger()};if(al(),e==="clear")s.forEach(i);else{const a=At(t),u=a&&sl(r);if(a&&r==="length"){const c=Number(n);s.forEach((d,f)=>{(f==="length"||f===ci||!gr(f)&&f>=c)&&i(d)})}else switch((r!==void 0||s.has(void 0))&&i(s.get(r)),u&&i(s.get(ci)),e){case"add":a?u&&i(s.get("length")):(i(s.get(nn)),In(t)&&i(s.get(xs)));break;case"delete":a||(i(s.get(nn)),In(t)&&i(s.get(xs)));break;case"set":In(t)&&i(s.get(nn))}}ll()}function mn(t){const e=Rt(t);return e===t?e:(le(e,0,ci),xe(t)?e:e.map(ue))}function Ao(t){return le(t=Rt(t),0,ci),t}const tg={__proto__:null,[Symbol.iterator](){return qo(this,Symbol.iterator,ue)},concat(...t){return mn(this).concat(...t.map(e=>At(e)?mn(e):e))},entries(){return qo(this,"entries",t=>(t[1]=ue(t[1]),t))},every(t,e){return Xe(this,"every",t,e,void 0,arguments)},filter(t,e){return Xe(this,"filter",t,e,r=>r.map(ue),arguments)},find(t,e){return Xe(this,"find",t,e,ue,arguments)},findIndex(t,e){return Xe(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Xe(this,"findLast",t,e,ue,arguments)},findLastIndex(t,e){return Xe(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Xe(this,"forEach",t,e,void 0,arguments)},includes(...t){return Ho(this,"includes",t)},indexOf(...t){return Ho(this,"indexOf",t)},join(t){return mn(this).join(t)},lastIndexOf(...t){return Ho(this,"lastIndexOf",t)},map(t,e){return Xe(this,"map",t,e,void 0,arguments)},pop(){return Dn(this,"pop")},push(...t){return Dn(this,"push",t)},reduce(t,...e){return Gl(this,"reduce",t,e)},reduceRight(t,...e){return Gl(this,"reduceRight",t,e)},shift(){return Dn(this,"shift")},some(t,e){return Xe(this,"some",t,e,void 0,arguments)},splice(...t){return Dn(this,"splice",t)},toReversed(){return mn(this).toReversed()},toSorted(t){return mn(this).toSorted(t)},toSpliced(...t){return mn(this).toSpliced(...t)},unshift(...t){return Dn(this,"unshift",t)},values(){return qo(this,"values",ue)}};function qo(t,e,r){const n=Ao(t),l=n[e]();return n===t||xe(t)||(l._next=l.next,l.next=()=>{const o=l._next();return o.value&&(o.value=r(o.value)),o}),l}const eg=Array.prototype;function Xe(t,e,r,n,l,o){const s=Ao(t),i=s!==t&&!xe(t),a=s[e];if(a!==eg[e]){const d=a.apply(t,o);return i?ue(d):d}let u=r;s!==t&&(i?u=function(d,f){return r.call(this,ue(d),f,t)}:r.length>2&&(u=function(d,f){return r.call(this,d,f,t)}));const c=a.call(s,u,n);return i&&l?l(c):c}function Gl(t,e,r,n){const l=Ao(t);let o=r;return l!==t&&(xe(t)?r.length>3&&(o=function(s,i,a){return r.call(this,s,i,a,t)}):o=function(s,i,a){return r.call(this,s,ue(i),a,t)}),l[e](o,...n)}function Ho(t,e,r){const n=Rt(t);le(n,0,ci);const l=n[e](...r);return l!==-1&&l!==!1||!pl(r[0])?l:(r[0]=Rt(r[0]),n[e](...r))}function Dn(t,e,r=[]){Lr(),al();const n=Rt(t)[e].apply(t,r);return ll(),jr(),n}const rg=nl("__proto__,__v_isRef,__isVue"),yh=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(gr));function ng(t){gr(t)||(t=String(t));const e=Rt(this);return le(e,0,t),e.hasOwnProperty(t)}class bh{constructor(e=!1,r=!1){this._isReadonly=e,this._isShallow=r}get(e,r,n){if(r==="__v_skip")return e.__v_skip;const l=this._isReadonly,o=this._isShallow;if(r==="__v_isReactive")return!l;if(r==="__v_isReadonly")return l;if(r==="__v_isShallow")return o;if(r==="__v_raw")return n===(l?o?fg:Eh:o?_h:wh).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=At(e);if(!l){let a;if(s&&(a=tg[r]))return a;if(r==="hasOwnProperty")return ng}const i=Reflect.get(e,r,Qt(e)?e:n);return(gr(r)?yh.has(r):rg(r))?i:(l||le(e,0,r),o?i:Qt(i)?s&&sl(r)?i:i.value:Wt(i)?l?Ah(i):wi(i):i)}}class vh extends bh{constructor(e=!1){super(!1,e)}set(e,r,n,l){let o=e[r];if(!this._isShallow){const a=cn(o);if(xe(n)||cn(n)||(o=Rt(o),n=Rt(n)),!At(e)&&Qt(o)&&!Qt(n))return!a&&(o.value=n,!0)}const s=At(e)&&sl(r)?Number(r)t,Ti=t=>Reflect.getPrototypeOf(t);function Oi(t){return function(...e){return t!=="delete"&&(t==="clear"?void 0:this)}}function lg(t,e){const r={get(n){const l=this.__v_raw,o=Rt(l),s=Rt(n);t||(Pr(n,s)&&le(o,0,n),le(o,0,s));const{has:i}=Ti(o),a=e?zo:t?Ko:ue;return i.call(o,n)?a(l.get(n)):i.call(o,s)?a(l.get(s)):void(l!==o&&l.get(n))},get size(){const n=this.__v_raw;return!t&&le(Rt(n),0,nn),Reflect.get(n,"size",n)},has(n){const l=this.__v_raw,o=Rt(l),s=Rt(n);return t||(Pr(n,s)&&le(o,0,n),le(o,0,s)),n===s?l.has(n):l.has(n)||l.has(s)},forEach(n,l){const o=this,s=o.__v_raw,i=Rt(s),a=e?zo:t?Ko:ue;return!t&&le(i,0,nn),s.forEach((u,c)=>n.call(l,a(u),a(c),o))}};return ee(r,t?{add:Oi("add"),set:Oi("set"),delete:Oi("delete"),clear:Oi("clear")}:{add(n){e||xe(n)||cn(n)||(n=Rt(n));const l=Rt(this);return Ti(l).has.call(l,n)||(l.add(n),ar(l,"add",n,n)),this},set(n,l){e||xe(l)||cn(l)||(l=Rt(l));const o=Rt(this),{has:s,get:i}=Ti(o);let a=s.call(o,n);a||(n=Rt(n),a=s.call(o,n));const u=i.call(o,n);return o.set(n,l),a?Pr(l,u)&&ar(o,"set",n,l):ar(o,"add",n,l),this},delete(n){const l=Rt(this),{has:o,get:s}=Ti(l);let i=o.call(l,n);i||(n=Rt(n),i=o.call(l,n)),s&&s.call(l,n);const a=l.delete(n);return i&&ar(l,"delete",n,void 0),a},clear(){const n=Rt(this),l=n.size!==0,o=n.clear();return l&&ar(n,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(n=>{r[n]=function(l,o,s){return function(...i){const a=this.__v_raw,u=Rt(a),c=In(u),d=l==="entries"||l===Symbol.iterator&&c,f=l==="keys"&&c,g=a[l](...i),b=s?zo:o?Ko:ue;return!o&&le(u,0,f?xs:nn),{next(){const{value:_,done:S}=g.next();return S?{value:_,done:S}:{value:d?[b(_[0]),b(_[1])]:b(_),done:S}},[Symbol.iterator](){return this}}}}(n,t,e)}),r}function hl(t,e){const r=lg(t,e);return(n,l,o)=>l==="__v_isReactive"?!t:l==="__v_isReadonly"?t:l==="__v_raw"?n:Reflect.get(Mt(r,l)&&l in n?r:n,l,o)}const ug={get:hl(!1,!1)},cg={get:hl(!1,!0)},hg={get:hl(!0,!1)},wh=new WeakMap,_h=new WeakMap,Eh=new WeakMap,fg=new WeakMap;function pg(t){return t.__v_skip||!Object.isExtensible(t)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>vo(e).slice(8,-1))(t))}function wi(t){return cn(t)?t:fl(t,!1,og,ug,wh)}function Sh(t){return fl(t,!1,ag,cg,_h)}function Ah(t){return fl(t,!0,sg,hg,Eh)}function fl(t,e,r,n,l){if(!Wt(t)||t.__v_raw&&(!e||!t.__v_isReactive))return t;const o=l.get(t);if(o)return o;const s=pg(t);if(s===0)return t;const i=new Proxy(t,s===2?n:r);return l.set(t,i),i}function Br(t){return cn(t)?Br(t.__v_raw):!(!t||!t.__v_isReactive)}function cn(t){return!(!t||!t.__v_isReadonly)}function xe(t){return!(!t||!t.__v_isShallow)}function pl(t){return!!t&&!!t.__v_raw}function Rt(t){const e=t&&t.__v_raw;return e?Rt(e):t}function dl(t){return!Mt(t,"__v_skip")&&Object.isExtensible(t)&&rh(t,"__v_skip",!0),t}const ue=t=>Wt(t)?wi(t):t,Ko=t=>Wt(t)?Ah(t):t;function Qt(t){return!!t&&t.__v_isRef===!0}function gl(t){return kh(t,!1)}function kh(t,e){return Qt(t)?t:new dg(t,e)}class dg{constructor(e,r){this.dep=new cl,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?e:Rt(e),this._value=r?e:ue(e),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(e){const r=this._rawValue,n=this.__v_isShallow||xe(e)||cn(e);e=n?e:Rt(e),Pr(e,r)&&(this._rawValue=e,this._value=n?e:ue(e),this.dep.trigger())}}function Tn(t){return Qt(t)?t.value:t}const gg={get:(t,e,r)=>e==="__v_raw"?t:Tn(Reflect.get(t,e,r)),set:(t,e,r,n)=>{const l=t[e];return Qt(l)&&!Qt(r)?(l.value=r,!0):Reflect.set(t,e,r,n)}};function Ih(t){return Br(t)?t:new Proxy(t,gg)}class mg{constructor(e,r,n){this._object=e,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,r){const n=ro.get(e);return n&&n.get(r)}(Rt(this._object),this._key)}}function yg(t,e,r){const n=t[e];return Qt(n)?n:new mg(t,e,r)}class bg{constructor(e,r,n){this.fn=e,this.setter=r,this._value=void 0,this.dep=new cl(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ui-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&Ft!==this)return hh(this,!0),!0}get value(){const e=this.dep.track();return dh(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const xi={},Ci=new WeakMap;let Fr;function vg(t,e,r=Ut){const{immediate:n,deep:l,once:o,scheduler:s,augmentJob:i,call:a}=r,u=$=>l?$:xe($)||l===!1||l===0?lr($,1):lr($);let c,d,f,g,b=!1,_=!1;if(Qt(t)?(d=()=>t.value,b=xe(t)):Br(t)?(d=()=>u(t),b=!0):At(t)?(_=!0,b=t.some($=>Br($)||xe($)),d=()=>t.map($=>Qt($)?$.value:Br($)?u($):It($)?a?a($,2):$():void 0)):d=It(t)?e?a?()=>a(t,2):t:()=>{if(f){Lr();try{f()}finally{jr()}}const $=Fr;Fr=c;try{return a?a(t,3,[g]):t(g)}finally{Fr=$}}:Ge,e&&l){const $=d,X=l===!0?1/0:l;d=()=>lr($(),X)}const S=lh(),U=()=>{c.stop(),S&&S.active&&ol(S.effects,c)};if(o&&e){const $=e;e=(...X)=>{$(...X),U()}}let D=_?new Array(t.length).fill(xi):xi;const G=$=>{if(1&c.flags&&(c.dirty||$))if(e){const X=c.run();if(l||b||(_?X.some((B,A)=>Pr(B,D[A])):Pr(X,D))){f&&f();const B=Fr;Fr=c;try{const A=[X,D===xi?void 0:_&&D[0]===xi?[]:D,g];a?a(e,3,A):e(...A),D=X}finally{Fr=B}}}else c.run()};return i&&i(G),c=new uh(d),c.scheduler=s?()=>s(G,!1):G,g=$=>function(X,B=!1,A=Fr){if(A){let E=Ci.get(A);E||Ci.set(A,E=[]),E.push(X)}}($,!1,c),f=c.onStop=()=>{const $=Ci.get(c);if($){if(a)a($,4);else for(const X of $)X();Ci.delete(c)}},e?n?G(!0):D=c.run():s?s(G.bind(null,!0),!0):c.run(),U.pause=c.pause.bind(c),U.resume=c.resume.bind(c),U.stop=U,U}function lr(t,e=1/0,r){if(e<=0||!Wt(t)||t.__v_skip||(r=r||new Set).has(t))return t;if(r.add(t),e--,Qt(t))lr(t.value,e,r);else if(At(t))for(let n=0;n{lr(n,e,r)});else if(eh(t)){for(const n in t)lr(t[n],e,r);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&lr(t[n],e,r)}return t}/** -* @vue/runtime-core v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function _i(t,e,r,n){try{return n?t(...n):t()}catch(l){ko(l,e,r)}}function Ne(t,e,r,n){if(It(t)){const l=_i(t,e,r,n);return l&&Zc(l)&&l.catch(o=>{ko(o,e,r)}),l}if(At(t)){const l=[];for(let o=0;o=ti(r)?pe.push(t):pe.splice(function(n){let l=Ve+1,o=pe.length;for(;l>>1,i=pe[s],a=ti(i);ati(r)-ti(n));if(On.length=0,Tr)return void Tr.push(...e);for(Tr=e,wn=0;wnt.id==null?2&t.flags?-1:1/0:t.id;function Rh(t){try{for(Ve=0;Ve{n._d&&gu(-1);const o=io(e);let s;try{s=t(...l)}finally{io(o),n._d&&gu(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function $y(t,e){if(Jt===null)return t;const r=xo(Jt),n=t.dirs||(t.dirs=[]);for(let l=0;lt.__isTeleport,Gn=t=>t&&(t.disabled||t.disabled===""),Yl=t=>t&&(t.defer||t.defer===""),Jl=t=>typeof SVGElement<"u"&&t instanceof SVGElement,Xl=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,Go=(t,e)=>{const r=t&&t.to;return qt(r)?e?e(r):null:r},Lh={name:"Teleport",__isTeleport:!0,process(t,e,r,n,l,o,s,i,a,u){const{mc:c,pc:d,pbc:f,o:{insert:g,querySelector:b,createText:_,createComment:S}}=u,U=Gn(e.props);let{shapeFlag:D,children:G,dynamicChildren:$}=e;if(t==null){const X=e.el=_(""),B=e.anchor=_("");g(X,r,n),g(B,r,n);const A=(w,M)=>{16&D&&(l&&l.isCE&&(l.ce._teleportTarget=w),c(G,w,M,l,o,s,i,a))},E=()=>{const w=e.target=Go(e.props,b),M=Zl(w,e,_,g);w&&(s!=="svg"&&Jl(w)?s="svg":s!=="mathml"&&Xl(w)&&(s="mathml"),U||(A(w,M),Pi(e,!1)))};U&&(A(r,B),Pi(e,!0)),Yl(e.props)?he(()=>{E(),e.el.__isMounted=!0},o):E()}else{if(Yl(e.props)&&!t.el.__isMounted)return void he(()=>{Lh.process(t,e,r,n,l,o,s,i,a,u),delete t.el.__isMounted},o);e.el=t.el,e.targetStart=t.targetStart;const X=e.anchor=t.anchor,B=e.target=t.target,A=e.targetAnchor=t.targetAnchor,E=Gn(t.props),w=E?r:B,M=E?X:A;if(s==="svg"||Jl(B)?s="svg":(s==="mathml"||Xl(B))&&(s="mathml"),$?(f(t.dynamicChildren,$,w,l,o,s,i),Sl(t,e,!0)):a||d(t,e,w,M,l,o,s,i,!1),U)E?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):Ri(e,r,X,u,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const R=e.target=Go(e.props,b);R&&Ri(e,R,null,u,0)}else E&&Ri(e,B,A,u,1);Pi(e,U)}},remove(t,e,r,{um:n,o:{remove:l}},o){const{shapeFlag:s,children:i,anchor:a,targetStart:u,targetAnchor:c,target:d,props:f}=t;if(d&&(l(u),l(c)),o&&l(a),16&s){const g=o||!Gn(f);for(let b=0;b{const e=t.subTree;return e.component?Uh(e.component):e},_g={name:"BaseTransition",props:jh,setup(t,{slots:e}){const r=cf(),n=function(){const l={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return bl(()=>{l.isMounted=!0}),Hh(()=>{l.isUnmounting=!0}),l}();return()=>{const l=e.default&&Fh(e.default(),!0);if(!l||!l.length)return;const o=Nh(l),s=Rt(t),{mode:i}=s;if(n.isLeaving)return Qo(o);const a=tu(o);if(!a)return Qo(o);let u=Cs(a,s,n,r,d=>u=d);a.type!==de&&hi(a,u);let c=r.subTree&&tu(r.subTree);if(c&&c.type!==de&&!Zr(a,c)&&Uh(r).type!==de){let d=Cs(c,s,n,r);if(hi(c,d),i==="out-in"&&a.type!==de)return n.isLeaving=!0,d.afterLeave=()=>{n.isLeaving=!1,8&r.job.flags||r.update(),delete d.afterLeave,c=void 0},Qo(o);i==="in-out"&&a.type!==de?d.delayLeave=(f,g,b)=>{Dh(n,c)[String(c.key)]=c,f[Or]=()=>{g(),f[Or]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{b(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function Nh(t){let e=t[0];if(t.length>1){for(const r of t)if(r.type!==de){e=r;break}}return e}const Eg=_g;function Dh(t,e){const{leavingVNodes:r}=t;let n=r.get(e.type);return n||(n=Object.create(null),r.set(e.type,n)),n}function Cs(t,e,r,n,l){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:f,onLeave:g,onAfterLeave:b,onLeaveCancelled:_,onBeforeAppear:S,onAppear:U,onAfterAppear:D,onAppearCancelled:G}=e,$=String(t.key),X=Dh(r,t),B=(w,M)=>{w&&Ne(w,n,9,M)},A=(w,M)=>{const R=M[1];B(w,M),At(w)?w.every(nt=>nt.length<=1)&&R():w.length<=1&&R()},E={mode:s,persisted:i,beforeEnter(w){let M=a;if(!r.isMounted){if(!o)return;M=S||a}w[Or]&&w[Or](!0);const R=X[$];R&&Zr(t,R)&&R.el[Or]&&R.el[Or](),B(M,[w])},enter(w){let M=u,R=c,nt=d;if(!r.isMounted){if(!o)return;M=U||u,R=D||c,nt=G||d}let st=!1;const Z=w[Bi]=j=>{st||(st=!0,B(j?nt:R,[w]),E.delayedLeave&&E.delayedLeave(),w[Bi]=void 0)};M?A(M,[w,Z]):Z()},leave(w,M){const R=String(t.key);if(w[Bi]&&w[Bi](!0),r.isUnmounting)return M();B(f,[w]);let nt=!1;const st=w[Or]=Z=>{nt||(nt=!0,M(),B(Z?_:b,[w]),w[Or]=void 0,X[R]===t&&delete X[R])};X[R]=t,g?A(g,[w,st]):st()},clone(w){const M=Cs(w,e,r,n,l);return l&&l(M),M}};return E}function Qo(t){if(Io(t))return(t=Ur(t)).children=null,t}function tu(t){if(!Io(t))return Mh(t.type)&&t.children?Nh(t.children):t;const{shapeFlag:e,children:r}=t;if(r){if(16&e)return r[0];if(32&e&&It(r.default))return r.default()}}function hi(t,e){6&t.shapeFlag&&t.component?(t.transition=e,hi(t.component.subTree,e)):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function Fh(t,e=!1,r){let n=[],l=0;for(let o=0;o1)for(let o=0;ooo(b,e&&(At(e)?e[_]:e),r,n,l));if(Sn(n)&&!l)return void(512&n.shapeFlag&&n.type.__asyncResolved&&n.component.subTree.component&&oo(t,e,r,n.component.subTree));const o=4&n.shapeFlag?xo(n.component):n.el,s=l?null:o,{i,r:a}=t,u=e&&e.r,c=i.refs===Ut?i.refs={}:i.refs,d=i.setupState,f=Rt(d),g=d===Ut?()=>!1:b=>Mt(f,b);if(u!=null&&u!==a&&(qt(u)?(c[u]=null,g(u)&&(d[u]=null)):Qt(u)&&(u.value=null)),It(a))_i(a,i,12,[s,c]);else{const b=qt(a),_=Qt(a);if(b||_){const S=()=>{if(t.f){const U=b?g(a)?d[a]:c[a]:a.value;l?At(U)&&ol(U,o):At(U)?U.includes(o)||U.push(o):b?(c[a]=[o],g(a)&&(d[a]=c[a])):(a.value=[o],t.k&&(c[t.k]=a.value))}else b?(c[a]=s,g(a)&&(d[a]=s)):_&&(a.value=s,t.k&&(c[t.k]=s))};s?(S.id=-1,he(S,r)):S()}}}eo().requestIdleCallback,eo().cancelIdleCallback;const Sn=t=>!!t.type.__asyncLoader,Io=t=>t.type.__isKeepAlive;function Sg(t,e){Vh(t,"a",e)}function Ag(t,e){Vh(t,"da",e)}function Vh(t,e,r=te){const n=t.__wdc||(t.__wdc=()=>{let l=r;for(;l;){if(l.isDeactivated)return;l=l.parent}return t()});if(To(e,n,r),r){let l=r.parent;for(;l&&l.parent;)Io(l.parent.vnode)&&kg(n,e,r,l),l=l.parent}}function kg(t,e,r,n){const l=To(e,t,n,!0);vl(()=>{ol(n[e],l)},r)}function To(t,e,r=te,n=!1){if(r){const l=r[t]||(r[t]=[]),o=e.__weh||(e.__weh=(...s)=>{Lr();const i=Ei(r),a=Ne(e,r,t,s);return i(),jr(),a});return n?l.unshift(o):l.push(o),o}}const mr=t=>(e,r=te)=>{di&&t!=="sp"||To(t,(...n)=>e(...n),r)},Ig=mr("bm"),bl=mr("m"),qh=mr("bu"),Tg=mr("u"),Hh=mr("bum"),vl=mr("um"),Og=mr("sp"),xg=mr("rtg"),Cg=mr("rtc");function Rg(t,e=te){To("ec",t,e)}const wl="components";function qy(t,e){return _l(wl,t,!0,e)||t}const zh=Symbol.for("v-ndc");function Hy(t){return qt(t)?_l(wl,t,!1)||t:t||zh}function zy(t){return _l("directives",t)}function _l(t,e,r=!0,n=!1){const l=Jt||te;if(l){const o=l.type;if(t===wl){const i=Zg(o,!1);if(i&&(i===e||i===Ce(e)||i===_o(Ce(e))))return o}const s=eu(l[t]||o[t],e)||eu(l.appContext[t],e);return!s&&n?o:s}}function eu(t,e){return t&&(t[e]||t[Ce(e)]||t[_o(Ce(e))])}function Ky(t,e,r,n){let l;const o=r,s=At(t);if(s||qt(t)){let i=!1;s&&Br(t)&&(i=!xe(t),t=Ao(t)),l=new Array(t.length);for(let a=0,u=t.length;ae(i,a,void 0,o));else{const i=Object.keys(t);l=new Array(i.length);for(let a=0,u=i.length;a{const o=n.fn(...l);return o&&(o.key=n.key),o}:n.fn)}return t}function Qy(t,e,r={},n,l){if(Jt.ce||Jt.parent&&Sn(Jt.parent)&&Jt.parent.ce)return e!=="default"&&(r.name=e),Ls(),js(me,null,[ye("slot",r,n&&n())],64);let o=t[e];o&&o._c&&(o._d=!1),Ls();const s=o&&Kh(o(r)),i=r.key||s&&s.key,a=js(me,{key:(i&&!gr(i)?i:`_${e}`)+(!s&&n?"_fb":"")},s||(n?n():[]),s&&t._===1?64:-2);return!l&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function Kh(t){return t.some(e=>!pi(e)||e.type!==de&&!(e.type===me&&!Kh(e.children)))?t:null}const Rs=t=>t?hf(t)?xo(t):Rs(t.parent):null,ei=ee(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Rs(t.parent),$root:t=>Rs(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>Qh(t),$forceUpdate:t=>t.f||(t.f=()=>{yl(t.update)}),$nextTick:t=>t.n||(t.n=ml.bind(t.proxy)),$watch:t=>$g.bind(t)}),Yo=(t,e)=>t!==Ut&&!t.__isScriptSetup&&Mt(t,e),Pg={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:r,setupState:n,data:l,props:o,accessCache:s,type:i,appContext:a}=t;let u;if(e[0]!=="$"){const g=s[e];if(g!==void 0)switch(g){case 1:return n[e];case 2:return l[e];case 4:return r[e];case 3:return o[e]}else{if(Yo(n,e))return s[e]=1,n[e];if(l!==Ut&&Mt(l,e))return s[e]=2,l[e];if((u=t.propsOptions[0])&&Mt(u,e))return s[e]=3,o[e];if(r!==Ut&&Mt(r,e))return s[e]=4,r[e];Ps&&(s[e]=0)}}const c=ei[e];let d,f;return c?(e==="$attrs"&&le(t.attrs,0,""),c(t)):(d=i.__cssModules)&&(d=d[e])?d:r!==Ut&&Mt(r,e)?(s[e]=4,r[e]):(f=a.config.globalProperties,Mt(f,e)?f[e]:void 0)},set({_:t},e,r){const{data:n,setupState:l,ctx:o}=t;return Yo(l,e)?(l[e]=r,!0):n!==Ut&&Mt(n,e)?(n[e]=r,!0):!Mt(t.props,e)&&(e[0]!=="$"||!(e.slice(1)in t))&&(o[e]=r,!0)},has({_:{data:t,setupState:e,accessCache:r,ctx:n,appContext:l,propsOptions:o}},s){let i;return!!r[s]||t!==Ut&&Mt(t,s)||Yo(e,s)||(i=o[0])&&Mt(i,s)||Mt(n,s)||Mt(ei,s)||Mt(l.config.globalProperties,s)},defineProperty(t,e,r){return r.get!=null?t._.accessCache[e]=0:Mt(r,"value")&&this.set(t,e,r.value,null),Reflect.defineProperty(t,e,r)}};function ru(t){return At(t)?t.reduce((e,r)=>(e[r]=null,e),{}):t}let Ps=!0;function Bg(t){const e=Qh(t),r=t.proxy,n=t.ctx;Ps=!1,e.beforeCreate&&nu(e.beforeCreate,t,"bc");const{data:l,computed:o,methods:s,watch:i,provide:a,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:g,updated:b,activated:_,deactivated:S,beforeDestroy:U,beforeUnmount:D,destroyed:G,unmounted:$,render:X,renderTracked:B,renderTriggered:A,errorCaptured:E,serverPrefetch:w,expose:M,inheritAttrs:R,components:nt,directives:st,filters:Z}=e;if(u&&function(N,F){At(N)&&(N=Bs(N));for(const it in N){const J=N[it];let Y;Y=Wt(J)?"default"in J?Qe(J.from||it,J.default,!0):Qe(J.from||it):Qe(J),Qt(Y)?Object.defineProperty(F,it,{enumerable:!0,configurable:!0,get:()=>Y.value,set:k=>Y.value=k}):F[it]=Y}}(u,n,null),s)for(const N in s){const F=s[N];It(F)&&(n[N]=F.bind(r))}if(l){const N=l.call(r,r);Wt(N)&&(t.data=wi(N))}if(Ps=!0,o)for(const N in o){const F=o[N],it=It(F)?F.bind(r,r):It(F.get)?F.get.bind(r,r):Ge,J=!It(F)&&It(F.set)?F.set.bind(r):Ge,Y=Te({get:it,set:J});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>Y.value,set:k=>Y.value=k})}if(i)for(const N in i)Gh(i[N],n,r,N);if(a){const N=It(a)?a.call(r):a;Reflect.ownKeys(N).forEach(F=>{$i(F,N[F])})}function j(N,F){At(F)?F.forEach(it=>N(it.bind(r))):F&&N(F.bind(r))}if(c&&nu(c,t,"c"),j(Ig,d),j(bl,f),j(qh,g),j(Tg,b),j(Sg,_),j(Ag,S),j(Rg,E),j(Cg,B),j(xg,A),j(Hh,D),j(vl,$),j(Og,w),At(M))if(M.length){const N=t.exposed||(t.exposed={});M.forEach(F=>{Object.defineProperty(N,F,{get:()=>r[F],set:it=>r[F]=it})})}else t.exposed||(t.exposed={});X&&t.render===Ge&&(t.render=X),R!=null&&(t.inheritAttrs=R),nt&&(t.components=nt),st&&(t.directives=st),w&&$h(t)}function nu(t,e,r){Ne(At(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,r)}function Gh(t,e,r,n){let l=n.includes(".")?nf(r,n):()=>r[n];if(qt(t)){const o=e[t];It(o)&&xn(l,o)}else if(It(t))xn(l,t.bind(r));else if(Wt(t))if(At(t))t.forEach(o=>Gh(o,e,r,n));else{const o=It(t.handler)?t.handler.bind(r):e[t.handler];It(o)&&xn(l,o,t)}}function Qh(t){const e=t.type,{mixins:r,extends:n}=e,{mixins:l,optionsCache:o,config:{optionMergeStrategies:s}}=t.appContext,i=o.get(e);let a;return i?a=i:l.length||r||n?(a={},l.length&&l.forEach(u=>so(a,u,s,!0)),so(a,e,s)):a=e,Wt(e)&&o.set(e,a),a}function so(t,e,r,n=!1){const{mixins:l,extends:o}=e;o&&so(t,o,r,!0),l&&l.forEach(s=>so(t,s,r,!0));for(const s in e)if(!(n&&s==="expose")){const i=Mg[s]||r&&r[s];t[s]=i?i(t[s],e[s]):e[s]}return t}const Mg={data:iu,props:ou,emits:ou,methods:Fn,computed:Fn,beforeCreate:ce,created:ce,beforeMount:ce,mounted:ce,beforeUpdate:ce,updated:ce,beforeDestroy:ce,beforeUnmount:ce,destroyed:ce,unmounted:ce,activated:ce,deactivated:ce,errorCaptured:ce,serverPrefetch:ce,components:Fn,directives:Fn,watch:function(t,e){if(!t)return e;if(!e)return t;const r=ee(Object.create(null),t);for(const n in e)r[n]=ce(t[n],e[n]);return r},provide:iu,inject:function(t,e){return Fn(Bs(t),Bs(e))}};function iu(t,e){return e?t?function(){return ee(It(t)?t.call(this,this):t,It(e)?e.call(this,this):e)}:e:t}function Bs(t){if(At(t)){const e={};for(let r=0;r(o.has(u)||(u&&It(u.install)?(o.add(u),u.install(a,...c)):It(u)&&(o.add(u),u(a,...c))),a),mixin:u=>(l.mixins.includes(u)||l.mixins.push(u),a),component:(u,c)=>c?(l.components[u]=c,a):l.components[u],directive:(u,c)=>c?(l.directives[u]=c,a):l.directives[u],mount(u,c,d){if(!i){const f=a._ceVNode||ye(r,n);return f.appContext=l,d===!0?d="svg":d===!1&&(d=void 0),t(f,u,d),i=!0,a._container=u,u.__vue_app__=a,xo(f.component)}},onUnmount(u){s.push(u)},unmount(){i&&(Ne(s,a._instance,16),t(null,a._container),delete a._container.__vue_app__)},provide:(u,c)=>(l.provides[u]=c,a),runWithContext(u){const c=on;on=a;try{return u()}finally{on=c}}};return a}}let on=null;function $i(t,e){if(te){let r=te.provides;const n=te.parent&&te.parent.provides;n===r&&(r=te.provides=Object.create(n)),r[t]=e}}function Qe(t,e,r=!1){const n=te||Jt;if(n||on){const l=on?on._context.provides:n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(l&&t in l)return l[t];if(arguments.length>1)return r&&It(e)?e.call(n&&n.proxy):e}}const Jh={},su=()=>Object.create(Jh),Xh=t=>Object.getPrototypeOf(t)===Jh;function au(t,e,r,n){const[l,o]=t.propsOptions;let s,i=!1;if(e)for(let a in e){if(Jn(a))continue;const u=e[a];let c;l&&Mt(l,c=Ce(a))?o&&o.includes(c)?(s||(s={}))[c]=u:r[c]=u:ao(t.emitsOptions,a)||a in n&&u===n[a]||(n[a]=u,i=!0)}if(o){const a=Rt(r),u=s||Ut;for(let c=0;c{a=!0;const[f,g]=Zh(d,e,!0);ee(s,f),g&&i.push(...g)};!r&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}if(!o&&!a)return Wt(t)&&n.set(t,kn),kn;if(At(o))for(let c=0;ct[0]==="_"||t==="$stable",El=t=>At(t)?t.map(qe):[qe(t)],Ng=(t,e,r)=>{if(e._n)return e;const n=wg((...l)=>El(e(...l)),r);return n._c=!1,n},uu=(t,e,r)=>{const n=t._ctx;for(const l in t){if(tf(l))continue;const o=t[l];if(It(o))e[l]=Ng(0,o,n);else if(o!=null){const s=El(o);e[l]=()=>s}}},cu=(t,e)=>{const r=El(e);t.slots.default=()=>r},hu=(t,e,r)=>{for(const n in e)(r||n!=="_")&&(t[n]=e[n])},he=function(t,e){e&&e.pendingBranch?At(t)?e.effects.push(...t):e.effects.push(t):xh(t)};function Dg(t){return function(e){eo().__VUE__=!0;const{insert:r,remove:n,patchProp:l,createElement:o,createText:s,createComment:i,setText:a,setElementText:u,parentNode:c,nextSibling:d,setScopeId:f=Ge,insertStaticContent:g}=e,b=(P,W,C,Q=null,h=null,p=null,v=void 0,O=null,x=!!W.dynamicChildren)=>{if(P===W)return;P&&!Zr(P,W)&&(Q=ut(P),k(P,h,p,!0),P=null),W.patchFlag===-2&&(x=!1,W.dynamicChildren=null);const{type:I,ref:m,shapeFlag:y}=W;switch(I){case Oo:_(P,W,C,Q);break;case de:S(P,W,C,Q);break;case Vi:P==null&&U(W,C,Q,v);break;case me:R(P,W,C,Q,h,p,v,O,x);break;default:1&y?$(P,W,C,Q,h,p,v,O,x):6&y?nt(P,W,C,Q,h,p,v,O,x):(64&y||128&y)&&I.process(P,W,C,Q,h,p,v,O,x,rt)}m!=null&&h&&oo(m,P&&P.ref,p,W||P,!W)},_=(P,W,C,Q)=>{if(P==null)r(W.el=s(W.children),C,Q);else{const h=W.el=P.el;W.children!==P.children&&a(h,W.children)}},S=(P,W,C,Q)=>{P==null?r(W.el=i(W.children||""),C,Q):W.el=P.el},U=(P,W,C,Q)=>{[P.el,P.anchor]=g(P.children,W,C,Q,P.el,P.anchor)},D=({el:P,anchor:W},C,Q)=>{let h;for(;P&&P!==W;)h=d(P),r(P,C,Q),P=h;r(W,C,Q)},G=({el:P,anchor:W})=>{let C;for(;P&&P!==W;)C=d(P),n(P),P=C;n(W)},$=(P,W,C,Q,h,p,v,O,x)=>{W.type==="svg"?v="svg":W.type==="math"&&(v="mathml"),P==null?X(W,C,Q,h,p,v,O,x):E(P,W,h,p,v,O,x)},X=(P,W,C,Q,h,p,v,O)=>{let x,I;const{props:m,shapeFlag:y,transition:T,dirs:L}=P;if(x=P.el=o(P.type,p,m&&m.is,m),8&y?u(x,P.children):16&y&&A(P.children,x,null,Q,h,Jo(P,p),v,O),L&&Wr(P,null,Q,"created"),B(x,P,P.scopeId,v,Q),m){for(const V in m)V==="value"||Jn(V)||l(x,V,null,m[V],p,Q);"value"in m&&l(x,"value",null,m.value,p),(I=m.onVnodeBeforeMount)&&Fe(I,Q,P)}L&&Wr(P,null,Q,"beforeMount");const z=function(V,lt){return(!V||V&&!V.pendingBranch)&<&&!lt.persisted}(h,T);z&&T.beforeEnter(x),r(x,W,C),((I=m&&m.onVnodeMounted)||z||L)&&he(()=>{I&&Fe(I,Q,P),z&&T.enter(x),L&&Wr(P,null,Q,"mounted")},h)},B=(P,W,C,Q,h)=>{if(C&&f(P,C),Q)for(let p=0;p{for(let I=x;I{const O=W.el=P.el;let{patchFlag:x,dynamicChildren:I,dirs:m}=W;x|=16&P.patchFlag;const y=P.props||Ut,T=W.props||Ut;let L;if(C&&$r(C,!1),(L=T.onVnodeBeforeUpdate)&&Fe(L,C,W,P),m&&Wr(W,P,C,"beforeUpdate"),C&&$r(C,!0),(y.innerHTML&&T.innerHTML==null||y.textContent&&T.textContent==null)&&u(O,""),I?w(P.dynamicChildren,I,O,C,Q,Jo(W,h),p):v||F(P,W,O,null,C,Q,Jo(W,h),p,!1),x>0){if(16&x)M(O,y,T,C,h);else if(2&x&&y.class!==T.class&&l(O,"class",null,T.class,h),4&x&&l(O,"style",y.style,T.style,h),8&x){const z=W.dynamicProps;for(let V=0;V{L&&Fe(L,C,W,P),m&&Wr(W,P,C,"updated")},Q)},w=(P,W,C,Q,h,p,v)=>{for(let O=0;O{if(W!==C){if(W!==Ut)for(const p in W)Jn(p)||p in C||l(P,p,W[p],null,h,Q);for(const p in C){if(Jn(p))continue;const v=C[p],O=W[p];v!==O&&p!=="value"&&l(P,p,O,v,h,Q)}"value"in C&&l(P,"value",W.value,C.value,h)}},R=(P,W,C,Q,h,p,v,O,x)=>{const I=W.el=P?P.el:s(""),m=W.anchor=P?P.anchor:s("");let{patchFlag:y,dynamicChildren:T,slotScopeIds:L}=W;L&&(O=O?O.concat(L):L),P==null?(r(I,C,Q),r(m,C,Q),A(W.children||[],C,m,h,p,v,O,x)):y>0&&64&y&&T&&P.dynamicChildren?(w(P.dynamicChildren,T,C,h,p,v,O),(W.key!=null||h&&W===h.subTree)&&Sl(P,W,!0)):F(P,W,C,m,h,p,v,O,x)},nt=(P,W,C,Q,h,p,v,O,x)=>{W.slotScopeIds=O,P==null?512&W.shapeFlag?h.ctx.activate(W,C,Q,v,x):st(W,C,Q,h,p,v,x):Z(P,W,x)},st=(P,W,C,Q,h,p,v)=>{const O=P.component=function(x,I,m){const y=x.type,T=(I?I.appContext:x.appContext)||Yg,L={uid:Jg++,vnode:x,type:y,parent:I,appContext:T,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new sh(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:I?I.provides:Object.create(T.provides),ids:I?I.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Zh(y,T),emitsOptions:of(y,T),emit:null,emitted:null,propsDefaults:Ut,inheritAttrs:y.inheritAttrs,ctx:Ut,data:Ut,props:Ut,attrs:Ut,slots:Ut,refs:Ut,setupState:Ut,setupContext:null,suspense:m,suspenseId:m?m.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return L.ctx={_:L},L.root=I?I.root:L,L.emit=qg.bind(null,L),x.ce&&x.ce(L),L}(P,Q,h);if(Io(P)&&(O.ctx.renderer=rt),function(x,I=!1,m=!1){I&&Us(I);const{props:y,children:T}=x.vnode,L=hf(x);(function(V,lt,ct,yt=!1){const bt={},wt=su();V.propsDefaults=Object.create(null),au(V,lt,bt,wt);for(const Ot in V.propsOptions[0])Ot in bt||(bt[Ot]=void 0);ct?V.props=yt?bt:Sh(bt):V.type.props?V.props=bt:V.props=wt,V.attrs=wt})(x,y,L,I),((V,lt,ct)=>{const yt=V.slots=su();if(32&V.vnode.shapeFlag){const bt=lt._;bt?(hu(yt,lt,ct),ct&&rh(yt,"_",bt,!0)):uu(lt,yt)}else lt&&cu(V,lt)})(x,T,m);const z=L?function(V,lt){const ct=V.type;V.accessCache=Object.create(null),V.proxy=new Proxy(V.ctx,Pg);const{setup:yt}=ct;if(yt){Lr();const bt=V.setupContext=yt.length>1?function(_t){const Tt=kt=>{_t.exposed=kt||{}};return{attrs:new Proxy(_t.attrs,Xg),slots:_t.slots,emit:_t.emit,expose:Tt}}(V):null,wt=Ei(V),Ot=_i(yt,V,0,[V.props,bt]),xt=Zc(Ot);if(jr(),wt(),!xt&&!V.sp||Sn(V)||$h(V),xt){if(Ot.then(mu,mu),lt)return Ot.then(_t=>{yu(V,_t)}).catch(_t=>{ko(_t,V,0)});V.asyncDep=Ot}else yu(V,Ot)}else ff(V)}(x,I):void 0;I&&Us(!1)}(O,!1,v),O.asyncDep){if(h&&h.registerDep(O,j,v),!P.el){const x=O.subTree=ye(de);S(null,x,W,C)}}else j(O,P,W,C,h,p,v)},Z=(P,W,C)=>{const Q=W.component=P.component;if(function(h,p,v){const{props:O,children:x,component:I}=h,{props:m,children:y,patchFlag:T}=p,L=I.emitsOptions;if(p.dirs||p.transition)return!0;if(!(v&&T>=0))return!(!x&&!y||y&&y.$stable)||O!==m&&(O?!m||du(O,m,L):!!m);if(1024&T)return!0;if(16&T)return O?du(O,m,L):!!m;if(8&T){const z=p.dynamicProps;for(let V=0;V{const O=()=>{if(P.isMounted){let{next:y,bu:T,u:L,parent:z,vnode:V}=P;{const wt=ef(P);if(wt)return y&&(y.el=V.el,N(P,y,v)),void wt.asyncDep.then(()=>{P.isUnmounted||O()})}let lt,ct=y;$r(P,!1),y?(y.el=V.el,N(P,y,v)):y=V,T&&Wo(T),(lt=y.props&&y.props.onVnodeBeforeUpdate)&&Fe(lt,z,y,V),$r(P,!0);const yt=pu(P),bt=P.subTree;P.subTree=yt,b(bt,yt,c(bt.el),ut(bt),P,h,p),y.el=yt.el,ct===null&&function({vnode:wt,parent:Ot},xt){for(;Ot;){const _t=Ot.subTree;if(_t.suspense&&_t.suspense.activeBranch===wt&&(_t.el=wt.el),_t!==wt)break;(wt=Ot.vnode).el=xt,Ot=Ot.parent}}(P,yt.el),L&&he(L,h),(lt=y.props&&y.props.onVnodeUpdated)&&he(()=>Fe(lt,z,y,V),h)}else{let y;const{el:T,props:L}=W,{bm:z,m:V,parent:lt,root:ct,type:yt}=P,bt=Sn(W);$r(P,!1),z&&Wo(z),!bt&&(y=L&&L.onVnodeBeforeMount)&&Fe(y,lt,W),$r(P,!0);{ct.ce&&ct.ce._injectChildStyle(yt);const wt=P.subTree=pu(P);b(null,wt,C,Q,P,h,p),W.el=wt.el}if(V&&he(V,h),!bt&&(y=L&&L.onVnodeMounted)){const wt=W;he(()=>Fe(y,lt,wt),h)}(256&W.shapeFlag||lt&&Sn(lt.vnode)&&256<.vnode.shapeFlag)&&P.a&&he(P.a,h),P.isMounted=!0,W=C=Q=null}};P.scope.on();const x=P.effect=new uh(O);P.scope.off();const I=P.update=x.run.bind(x),m=P.job=x.runIfDirty.bind(x);m.i=P,m.id=P.uid,x.scheduler=()=>yl(m),$r(P,!0),I()},N=(P,W,C)=>{W.component=P;const Q=P.vnode.props;P.vnode=W,P.next=null,function(h,p,v,O){const{props:x,attrs:I,vnode:{patchFlag:m}}=h,y=Rt(x),[T]=h.propsOptions;let L=!1;if(!(O||m>0)||16&m){let z;au(h,p,x,I)&&(L=!0);for(const V in y)p&&(Mt(p,V)||(z=Nr(V))!==V&&Mt(p,z))||(T?!v||v[V]===void 0&&v[z]===void 0||(x[V]=Ms(T,y,V,void 0,h,!0)):delete x[V]);if(I!==y)for(const V in I)p&&Mt(p,V)||(delete I[V],L=!0)}else if(8&m){const z=h.vnode.dynamicProps;for(let V=0;V{const{vnode:O,slots:x}=h;let I=!0,m=Ut;if(32&O.shapeFlag){const y=p._;y?v&&y===1?I=!1:hu(x,p,v):(I=!p.$stable,uu(p,x)),m=p}else p&&(cu(h,p),m={default:1});if(I)for(const y in x)tf(y)||m[y]!=null||delete x[y]})(P,W.children,C),Lr(),Ql(P),jr()},F=(P,W,C,Q,h,p,v,O,x=!1)=>{const I=P&&P.children,m=P?P.shapeFlag:0,y=W.children,{patchFlag:T,shapeFlag:L}=W;if(T>0){if(128&T)return void J(I,y,C,Q,h,p,v,O,x);if(256&T)return void it(I,y,C,Q,h,p,v,O,x)}8&L?(16&m&&at(I,h,p),y!==I&&u(C,y)):16&m?16&L?J(I,y,C,Q,h,p,v,O,x):at(I,h,p,!0):(8&m&&u(C,""),16&L&&A(y,C,Q,h,p,v,O,x))},it=(P,W,C,Q,h,p,v,O,x)=>{W=W||kn;const I=(P=P||kn).length,m=W.length,y=Math.min(I,m);let T;for(T=0;Tm?at(P,h,p,!0,!1,y):A(W,C,Q,h,p,v,O,x,y)},J=(P,W,C,Q,h,p,v,O,x)=>{let I=0;const m=W.length;let y=P.length-1,T=m-1;for(;I<=y&&I<=T;){const L=P[I],z=W[I]=x?xr(W[I]):qe(W[I]);if(!Zr(L,z))break;b(L,z,C,null,h,p,v,O,x),I++}for(;I<=y&&I<=T;){const L=P[y],z=W[T]=x?xr(W[T]):qe(W[T]);if(!Zr(L,z))break;b(L,z,C,null,h,p,v,O,x),y--,T--}if(I>y){if(I<=T){const L=T+1,z=LT)for(;I<=y;)k(P[I],h,p,!0),I++;else{const L=I,z=I,V=new Map;for(I=z;I<=T;I++){const _t=W[I]=x?xr(W[I]):qe(W[I]);_t.key!=null&&V.set(_t.key,I)}let lt,ct=0;const yt=T-z+1;let bt=!1,wt=0;const Ot=new Array(yt);for(I=0;I=yt){k(_t,h,p,!0);continue}let Tt;if(_t.key!=null)Tt=V.get(_t.key);else for(lt=z;lt<=T;lt++)if(Ot[lt-z]===0&&Zr(_t,W[lt])){Tt=lt;break}Tt===void 0?k(_t,h,p,!0):(Ot[Tt-z]=I+1,Tt>=wt?wt=Tt:bt=!0,b(_t,W[Tt],C,null,h,p,v,O,x),ct++)}const xt=bt?function(_t){const Tt=_t.slice(),kt=[0];let vt,Ct,re,Yt,se;const Je=_t.length;for(vt=0;vt>1,_t[kt[se]]<_e?re=se+1:Yt=se;_e<_t[kt[re]]&&(re>0&&(Tt[vt]=kt[re-1]),kt[re]=vt)}}for(re=kt.length,Yt=kt[re-1];re-- >0;)kt[re]=Yt,Yt=Tt[Yt];return kt}(Ot):kn;for(lt=xt.length-1,I=yt-1;I>=0;I--){const _t=z+I,Tt=W[_t],kt=_t+1{const{el:p,type:v,transition:O,children:x,shapeFlag:I}=P;if(6&I)return void Y(P.component.subTree,W,C,Q);if(128&I)return void P.suspense.move(W,C,Q);if(64&I)return void v.move(P,W,C,rt);if(v===me){r(p,W,C);for(let m=0;mO.enter(p),h);else{const{leave:m,delayLeave:y,afterLeave:T}=O,L=()=>r(p,W,C),z=()=>{m(p,()=>{L(),T&&T()})};y?y(p,L,z):z()}else r(p,W,C)},k=(P,W,C,Q=!1,h=!1)=>{const{type:p,props:v,ref:O,children:x,dynamicChildren:I,shapeFlag:m,patchFlag:y,dirs:T,cacheIndex:L}=P;if(y===-2&&(h=!1),O!=null&&oo(O,null,C,P,!0),L!=null&&(W.renderCache[L]=void 0),256&m)return void W.ctx.deactivate(P);const z=1&m&&T,V=!Sn(P);let lt;if(V&&(lt=v&&v.onVnodeBeforeUnmount)&&Fe(lt,W,P),6&m)ot(P.component,C,Q);else{if(128&m)return void P.suspense.unmount(C,Q);z&&Wr(P,null,W,"beforeUnmount"),64&m?P.type.remove(P,W,C,rt,Q):I&&!I.hasOnce&&(p!==me||y>0&&64&y)?at(I,W,C,!1,!0):(p===me&&384&y||!h&&16&m)&&at(x,W,C),Q&&q(P)}(V&&(lt=v&&v.onVnodeUnmounted)||z)&&he(()=>{lt&&Fe(lt,W,P),z&&Wr(P,null,W,"unmounted")},C)},q=P=>{const{type:W,el:C,anchor:Q,transition:h}=P;if(W===me)return void et(C,Q);if(W===Vi)return void G(P);const p=()=>{n(C),h&&!h.persisted&&h.afterLeave&&h.afterLeave()};if(1&P.shapeFlag&&h&&!h.persisted){const{leave:v,delayLeave:O}=h,x=()=>v(C,p);O?O(P.el,p,x):x()}else p()},et=(P,W)=>{let C;for(;P!==W;)C=d(P),n(P),P=C;n(W)},ot=(P,W,C)=>{const{bum:Q,scope:h,job:p,subTree:v,um:O,m:x,a:I}=P;fu(x),fu(I),Q&&Wo(Q),h.stop(),p&&(p.flags|=8,k(v,P,W,C)),O&&he(O,W),he(()=>{P.isUnmounted=!0},W),W&&W.pendingBranch&&!W.isUnmounted&&P.asyncDep&&!P.asyncResolved&&P.suspenseId===W.pendingId&&(W.deps--,W.deps===0&&W.resolve())},at=(P,W,C,Q=!1,h=!1,p=0)=>{for(let v=p;v{if(6&P.shapeFlag)return ut(P.component.subTree);if(128&P.shapeFlag)return P.suspense.next();const W=d(P.anchor||P.el),C=W&&W[Bh];return C?d(C):W};let dt=!1;const H=(P,W,C)=>{P==null?W._vnode&&k(W._vnode,null,null,!0):b(W._vnode||null,P,W,null,null,null,C),W._vnode=P,dt||(dt=!0,Ql(),Ch(),dt=!1)},rt={p:b,um:k,m:Y,r:q,mt:st,mc:A,pc:F,pbc:w,n:ut,o:e};return{render:H,hydrate:void 0,createApp:jg(H)}}(t)}function Jo({type:t,props:e},r){return r==="svg"&&t==="foreignObject"||r==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:r}function $r({effect:t,job:e},r){r?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Sl(t,e,r=!1){const n=t.children,l=e.children;if(At(n)&&At(l))for(let o=0;oQe(Fg);function xn(t,e,r){return rf(t,e,r)}function rf(t,e,r=Ut){const{immediate:n,deep:l,flush:o,once:s}=r,i=ee({},r),a=e&&n||!e&&o!=="post";let u;if(di){if(o==="sync"){const g=Wg();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!a){const g=()=>{};return g.stop=Ge,g.resume=Ge,g.pause=Ge,g}}const c=te;i.call=(g,b,_)=>Ne(g,c,b,_);let d=!1;o==="post"?i.scheduler=g=>{he(g,c&&c.suspense)}:o!=="sync"&&(d=!0,i.scheduler=(g,b)=>{b?g():yl(g)}),i.augmentJob=g=>{e&&(g.flags|=4),d&&(g.flags|=2,c&&(g.id=c.uid,g.i=c))};const f=vg(t,e,i);return di&&(u?u.push(f):a&&f()),f}function $g(t,e,r){const n=this.proxy,l=qt(t)?t.includes(".")?nf(n,t):()=>n[t]:t.bind(n,n);let o;It(e)?o=e:(o=e.handler,r=e);const s=Ei(this),i=rf(l,o.bind(n),r);return s(),i}function nf(t,e){const r=e.split(".");return()=>{let n=t;for(let l=0;le==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Ce(e)}Modifiers`]||t[`${Nr(e)}Modifiers`];function qg(t,e,...r){if(t.isUnmounted)return;const n=t.vnode.props||Ut;let l=r;const o=e.startsWith("update:"),s=o&&Vg(n,e.slice(7));let i;s&&(s.trim&&(l=r.map(c=>qt(c)?c.trim():c)),s.number&&(l=r.map(Hd)));let a=n[i=Fo(e)]||n[i=Fo(Ce(e))];!a&&o&&(a=n[i=Fo(Nr(e))]),a&&Ne(a,t,6,l);const u=n[i+"Once"];if(u){if(t.emitted){if(t.emitted[i])return}else t.emitted={};t.emitted[i]=!0,Ne(u,t,6,l)}}function of(t,e,r=!1){const n=e.emitsCache,l=n.get(t);if(l!==void 0)return l;const o=t.emits;let s={},i=!1;if(!It(t)){const a=u=>{const c=of(u,e,!0);c&&(i=!0,ee(s,c))};!r&&e.mixins.length&&e.mixins.forEach(a),t.extends&&a(t.extends),t.mixins&&t.mixins.forEach(a)}return o||i?(At(o)?o.forEach(a=>s[a]=null):ee(s,o),Wt(t)&&n.set(t,s),s):(Wt(t)&&n.set(t,null),null)}function ao(t,e){return!(!t||!bo(e))&&(e=e.slice(2).replace(/Once$/,""),Mt(t,e[0].toLowerCase()+e.slice(1))||Mt(t,Nr(e))||Mt(t,e))}function pu(t){const{type:e,vnode:r,proxy:n,withProxy:l,propsOptions:[o],slots:s,attrs:i,emit:a,render:u,renderCache:c,props:d,data:f,setupState:g,ctx:b,inheritAttrs:_}=t,S=io(t);let U,D;try{if(4&r.shapeFlag){const $=l||n,X=$;U=qe(u.call(X,$,c,d,g,f,b)),D=i}else{const $=e;U=qe($.length>1?$(d,{attrs:i,slots:s,emit:a}):$(d,null)),D=e.props?i:Hg(i)}}catch($){ri.length=0,ko($,t,1),U=ye(de)}let G=U;if(D&&_!==!1){const $=Object.keys(D),{shapeFlag:X}=G;$.length&&7&X&&(o&&$.some(il)&&(D=zg(D,o)),G=Ur(G,D,!1,!0))}return r.dirs&&(G=Ur(G,null,!1,!0),G.dirs=G.dirs?G.dirs.concat(r.dirs):r.dirs),r.transition&&hi(G,r.transition),U=G,io(S),U}const Hg=t=>{let e;for(const r in t)(r==="class"||r==="style"||bo(r))&&((e||(e={}))[r]=t[r]);return e},zg=(t,e)=>{const r={};for(const n in t)il(n)&&n.slice(9)in e||(r[n]=t[n]);return r};function du(t,e,r){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!0;for(let l=0;lt.__isSuspense,me=Symbol.for("v-fgt"),Oo=Symbol.for("v-txt"),de=Symbol.for("v-cmt"),Vi=Symbol.for("v-stc"),ri=[];let Se=null;function Ls(t=!1){ri.push(Se=t?null:[])}let fi=1;function gu(t,e=!1){fi+=t,t<0&&Se&&e&&(Se.hasOnce=!0)}function af(t){return t.dynamicChildren=fi>0?Se||kn:null,ri.pop(),Se=ri[ri.length-1]||null,fi>0&&Se&&Se.push(t),t}function Yy(t,e,r,n,l,o){return af(uf(t,e,r,n,l,o,!0))}function js(t,e,r,n,l){return af(ye(t,e,r,n,l,!0))}function pi(t){return!!t&&t.__v_isVNode===!0}function Zr(t,e){return t.type===e.type&&t.key===e.key}const lf=({key:t})=>t??null,qi=({ref:t,ref_key:e,ref_for:r})=>(typeof t=="number"&&(t=""+t),t!=null?qt(t)||Qt(t)||It(t)?{i:Jt,r:t,k:e,f:!!r}:t:null);function uf(t,e=null,r=null,n=0,l=null,o=t===me?0:1,s=!1,i=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&lf(e),ref:e&&qi(e),scopeId:Ph,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:Jt};return i?(Al(a,r),128&o&&t.normalize(a)):r&&(a.shapeFlag|=qt(r)?8:16),fi>0&&!s&&Se&&(a.patchFlag>0||6&o)&&a.patchFlag!==32&&Se.push(a),a}const ye=function(t,e=null,r=null,n=0,l=null,o=!1){if(t&&t!==zh||(t=de),pi(t)){const a=Ur(t,e,!0);return r&&Al(a,r),fi>0&&!o&&Se&&(6&a.shapeFlag?Se[Se.indexOf(t)]=a:Se.push(a)),a.patchFlag=-2,a}s=t,It(s)&&"__vccOpts"in s&&(t=t.__vccOpts);var s;if(e){e=Kg(e);let{class:a,style:u}=e;a&&!qt(a)&&(e.class=So(a)),Wt(u)&&(pl(u)&&!At(u)&&(u=ee({},u)),e.style=Eo(u))}const i=qt(t)?1:sf(t)?128:Mh(t)?64:Wt(t)?4:It(t)?2:0;return uf(t,e,r,n,l,i,o,!0)};function Kg(t){return t?pl(t)||Xh(t)?ee({},t):t:null}function Ur(t,e,r=!1,n=!1){const{props:l,ref:o,patchFlag:s,children:i,transition:a}=t,u=e?Qg(l||{},e):l,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&lf(u),ref:e&&e.ref?r&&o?At(o)?o.concat(qi(e)):[o,qi(e)]:qi(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:i,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==me?s===-1?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Ur(t.ssContent),ssFallback:t.ssFallback&&Ur(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&n&&hi(c,a.clone(c)),c}function Gg(t=" ",e=0){return ye(Oo,null,t,e)}function Jy(t="",e=!1){return e?(Ls(),js(de,null,t)):ye(de,null,t)}function qe(t){return t==null||typeof t=="boolean"?ye(de):At(t)?ye(me,null,t.slice()):pi(t)?xr(t):ye(Oo,null,String(t))}function xr(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Ur(t)}function Al(t,e){let r=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(At(e))r=16;else if(typeof e=="object"){if(65&n){const l=e.default;return void(l&&(l._c&&(l._d=!1),Al(t,l()),l._c&&(l._d=!0)))}{r=32;const l=e._;l||Xh(e)?l===3&&Jt&&(Jt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=Jt}}else It(e)?(e={default:e,_ctx:Jt},r=32):(e=String(e),64&n?(r=16,e=[Gg(e)]):r=8);t.children=e,t.shapeFlag|=r}function Qg(...t){const e={};for(let r=0;rte||Jt;let lo,Us;{const t=eo(),e=(r,n)=>{let l;return(l=t[r])||(l=t[r]=[]),l.push(n),o=>{l.length>1?l.forEach(s=>s(o)):l[0](o)}};lo=e("__VUE_INSTANCE_SETTERS__",r=>te=r),Us=e("__VUE_SSR_SETTERS__",r=>di=r)}const Ei=t=>{const e=te;return lo(t),t.scope.on(),()=>{t.scope.off(),lo(e)}},mu=()=>{te&&te.scope.off(),lo(null)};function hf(t){return 4&t.vnode.shapeFlag}let di=!1;function yu(t,e,r){It(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Wt(e)&&(t.setupState=Ih(e)),ff(t)}function ff(t,e,r){const n=t.type;t.render||(t.render=n.render||Ge);{const l=Ei(t);Lr();try{Bg(t)}finally{jr(),l()}}}const Xg={get:(t,e)=>(le(t,0,""),t[e])};function xo(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Ih(dl(t.exposed)),{get:(e,r)=>r in e?e[r]:r in ei?ei[r](t):void 0,has:(e,r)=>r in e||r in ei})):t.proxy}function Zg(t,e=!0){return It(t)?t.displayName||t.name:t.name||e&&t.__name}const Te=(t,e)=>function(n,l,o=!1){let s,i;return It(n)?s=n:(s=n.get,i=n.set),new bg(s,i,o)}(t,0,di);function kl(t,e,r){const n=arguments.length;return n===2?Wt(e)&&!At(e)?pi(e)?ye(t,null,[e]):ye(t,e):ye(t,null,e):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&pi(r)&&(r=[r]),ye(t,e,r))}const tm="3.5.13";/** -* @vue/runtime-dom v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ns;const bu=typeof window<"u"&&window.trustedTypes;if(bu)try{Ns=bu.createPolicy("vue",{createHTML:t=>t})}catch{}const pf=Ns?t=>Ns.createHTML(t):t=>t,ir=typeof document<"u"?document:null,vu=ir&&ir.createElement("template"),em={insert:(t,e,r)=>{e.insertBefore(t,r||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,r,n)=>{const l=e==="svg"?ir.createElementNS("http://www.w3.org/2000/svg",t):e==="mathml"?ir.createElementNS("http://www.w3.org/1998/Math/MathML",t):r?ir.createElement(t,{is:r}):ir.createElement(t);return t==="select"&&n&&n.multiple!=null&&l.setAttribute("multiple",n.multiple),l},createText:t=>ir.createTextNode(t),createComment:t=>ir.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>ir.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,r,n,l,o){const s=r?r.previousSibling:e.lastChild;if(l&&(l===o||l.nextSibling))for(;e.insertBefore(l.cloneNode(!0),r),l!==o&&(l=l.nextSibling););else{vu.innerHTML=pf(n==="svg"?`${t}`:n==="mathml"?`${t}`:t);const i=vu.content;if(n==="svg"||n==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}e.insertBefore(i,r)}return[s?s.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}},wr="transition",Wn="animation",gi=Symbol("_vtc"),df={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},rm=ee({},jh,df),Xy=(t=>(t.displayName="Transition",t.props=rm,t))((t,{slots:e})=>kl(Eg,function(r){const n={};for(const Z in r)Z in df||(n[Z]=r[Z]);if(r.css===!1)return n;const{name:l="v",type:o,duration:s,enterFromClass:i=`${l}-enter-from`,enterActiveClass:a=`${l}-enter-active`,enterToClass:u=`${l}-enter-to`,appearFromClass:c=i,appearActiveClass:d=a,appearToClass:f=u,leaveFromClass:g=`${l}-leave-from`,leaveActiveClass:b=`${l}-leave-active`,leaveToClass:_=`${l}-leave-to`}=r,S=function(Z){if(Z==null)return null;if(Wt(Z))return[Xo(Z.enter),Xo(Z.leave)];{const j=Xo(Z);return[j,j]}}(s),U=S&&S[0],D=S&&S[1],{onBeforeEnter:G,onEnter:$,onEnterCancelled:X,onLeave:B,onLeaveCancelled:A,onBeforeAppear:E=G,onAppear:w=$,onAppearCancelled:M=X}=n,R=(Z,j,N,F)=>{Z._enterCancelled=F,qr(Z,j?f:u),qr(Z,j?d:a),N&&N()},nt=(Z,j)=>{Z._isLeaving=!1,qr(Z,g),qr(Z,_),qr(Z,b),j&&j()},st=Z=>(j,N)=>{const F=Z?w:$,it=()=>R(j,Z,N);Vr(F,[j,it]),_u(()=>{qr(j,Z?c:i),Ze(j,Z?f:u),wu(F)||Eu(j,o,U,it)})};return ee(n,{onBeforeEnter(Z){Vr(G,[Z]),Ze(Z,i),Ze(Z,a)},onBeforeAppear(Z){Vr(E,[Z]),Ze(Z,c),Ze(Z,d)},onEnter:st(!1),onAppear:st(!0),onLeave(Z,j){Z._isLeaving=!0;const N=()=>nt(Z,j);Ze(Z,g),Z._enterCancelled?(Ze(Z,b),ku()):(ku(),Ze(Z,b)),_u(()=>{Z._isLeaving&&(qr(Z,g),Ze(Z,_),wu(B)||Eu(Z,o,D,N))}),Vr(B,[Z,N])},onEnterCancelled(Z){R(Z,!1,void 0,!0),Vr(X,[Z])},onAppearCancelled(Z){R(Z,!0,void 0,!0),Vr(M,[Z])},onLeaveCancelled(Z){nt(Z),Vr(A,[Z])}})}(t),e)),Vr=(t,e=[])=>{At(t)?t.forEach(r=>r(...e)):t&&t(...e)},wu=t=>!!t&&(At(t)?t.some(e=>e.length>1):t.length>1);function Xo(t){return(r=>{const n=qt(r)?Number(r):NaN;return isNaN(n)?r:n})(t)}function Ze(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.add(r)),(t[gi]||(t[gi]=new Set)).add(e)}function qr(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const r=t[gi];r&&(r.delete(e),r.size||(t[gi]=void 0))}function _u(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let nm=0;function Eu(t,e,r,n){const l=t._endId=++nm,o=()=>{l===t._endId&&n()};if(r!=null)return setTimeout(o,r);const{type:s,timeout:i,propCount:a}=function(g,b){const _=window.getComputedStyle(g),S=R=>(_[R]||"").split(", "),U=S(`${wr}Delay`),D=S(`${wr}Duration`),G=Su(U,D),$=S(`${Wn}Delay`),X=S(`${Wn}Duration`),B=Su($,X);let A=null,E=0,w=0;b===wr?G>0&&(A=wr,E=G,w=D.length):b===Wn?B>0&&(A=Wn,E=B,w=X.length):(E=Math.max(G,B),A=E>0?G>B?wr:Wn:null,w=A?A===wr?D.length:X.length:0);const M=A===wr&&/\b(transform|all)(,|$)/.test(S(`${wr}Property`).toString());return{type:A,timeout:E,propCount:w,hasTransform:M}}(t,e);if(!s)return n();const u=s+"end";let c=0;const d=()=>{t.removeEventListener(u,f),o()},f=g=>{g.target===t&&++c>=a&&d()};setTimeout(()=>{cAu(r)+Au(t[n])))}function Au(t){return t==="auto"?0:1e3*Number(t.slice(0,-1).replace(",","."))}function ku(){return document.body.offsetHeight}const uo=Symbol("_vod"),gf=Symbol("_vsh"),Zy={beforeMount(t,{value:e},{transition:r}){t[uo]=t.style.display==="none"?"":t.style.display,r&&e?r.beforeEnter(t):$n(t,e)},mounted(t,{value:e},{transition:r}){r&&e&&r.enter(t)},updated(t,{value:e,oldValue:r},{transition:n}){!e!=!r&&(n?e?(n.beforeEnter(t),$n(t,!0),n.enter(t)):n.leave(t,()=>{$n(t,!1)}):$n(t,e))},beforeUnmount(t,{value:e}){$n(t,e)}};function $n(t,e){t.style.display=e?t[uo]:"none",t[gf]=!e}const mf=Symbol("");function tb(t){const e=cf();if(!e)return;const r=e.ut=(l=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach(o=>co(o,l))},n=()=>{const l=t(e.proxy);e.ce?co(e.ce,l):Ds(e.subTree,l),r(l)};qh(()=>{xh(n)}),bl(()=>{xn(n,Ge,{flush:"post"});const l=new MutationObserver(n);l.observe(e.subTree.el.parentNode,{childList:!0}),vl(()=>l.disconnect())})}function Ds(t,e){if(128&t.shapeFlag){const r=t.suspense;t=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Ds(r.activeBranch,e)})}for(;t.component;)t=t.component.subTree;if(1&t.shapeFlag&&t.el)co(t.el,e);else if(t.type===me)t.children.forEach(r=>Ds(r,e));else if(t.type===Vi){let{el:r,anchor:n}=t;for(;r&&(co(r,e),r!==n);)r=r.nextSibling}}function co(t,e){if(t.nodeType===1){const r=t.style;let n="";for(const l in e)r.setProperty(`--${l}`,e[l]),n+=`--${l}: ${e[l]};`;r[mf]=n}}const im=/(^|;)\s*display\s*:/,Iu=/\s*!important$/;function Hi(t,e,r){if(At(r))r.forEach(n=>Hi(t,e,n));else if(r==null&&(r=""),e.startsWith("--"))t.setProperty(e,r);else{const n=function(l,o){const s=Zo[o];if(s)return s;let i=Ce(o);if(i!=="filter"&&i in l)return Zo[o]=i;i=_o(i);for(let a=0;a{if(g._vts){if(g._vts<=f.attached)return}else g._vts=Date.now();Ne(function(b,_){if(At(_)){const S=b.stopImmediatePropagation;return b.stopImmediatePropagation=()=>{S.call(b),b._stopped=!0},_.map(U=>D=>!D._stopped&&U&&U(D))}return _}(g,f.value),d,5,[g])};return f.value=c,f.attached=am(),f}(n,l);(function(c,d,f,g){c.addEventListener(d,f,g)})(t,i,u,a)}else s&&(function(u,c,d,f){u.removeEventListener(c,d,f)}(t,i,s,a),o[e]=void 0)}}const Pu=/(?:Once|Passive|Capture)$/;let ts=0;const sm=Promise.resolve(),am=()=>ts||(sm.then(()=>ts=0),ts=Date.now()),Bu=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,lm=["ctrl","shift","alt","meta"],um={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>lm.some(r=>t[`${r}Key`]&&!e.includes(r))},eb=(t,e)=>{const r=t._withMods||(t._withMods={}),n=e.join(".");return r[n]||(r[n]=(l,...o)=>{for(let s=0;s{const r=t._withKeys||(t._withKeys={}),n=e.join(".");return r[n]||(r[n]=l=>{if(!("key"in l))return;const o=Nr(l.key);return e.some(s=>s===o||cm[s]===o)?t(l):void 0})},hm=ee({patchProp:(t,e,r,n,l,o)=>{const s=l==="svg";e==="class"?function(i,a,u){const c=i[gi];c&&(a=(a?[a,...c]:[...c]).join(" ")),a==null?i.removeAttribute("class"):u?i.setAttribute("class",a):i.className=a}(t,n,s):e==="style"?function(i,a,u){const c=i.style,d=qt(u);let f=!1;if(u&&!d){if(a)if(qt(a))for(const g of a.split(";")){const b=g.slice(0,g.indexOf(":")).trim();u[b]==null&&Hi(c,b,"")}else for(const g in a)u[g]==null&&Hi(c,g,"");for(const g in u)g==="display"&&(f=!0),Hi(c,g,u[g])}else if(d){if(a!==u){const g=c[mf];g&&(u+=";"+g),c.cssText=u,f=im.test(u)}}else a&&i.removeAttribute("style");uo in i&&(i[uo]=f?c.display:"",i[gf]&&(c.display="none"))}(t,r,n):bo(e)?il(e)||om(t,e,0,n,o):(e[0]==="."?(e=e.slice(1),1):e[0]==="^"?(e=e.slice(1),0):function(i,a,u,c){if(c)return a==="innerHTML"||a==="textContent"||!!(a in i&&Bu(a)&&It(u));if(a==="spellcheck"||a==="draggable"||a==="translate"||a==="form"||a==="list"&&i.tagName==="INPUT"||a==="type"&&i.tagName==="TEXTAREA")return!1;if(a==="width"||a==="height"){const d=i.tagName;if(d==="IMG"||d==="VIDEO"||d==="CANVAS"||d==="SOURCE")return!1}return Bu(a)&&qt(u)?!1:a in i}(t,e,n,s))?(Cu(t,e,n),t.tagName.includes("-")||e!=="value"&&e!=="checked"&&e!=="selected"||xu(t,e,n,s,0,e!=="value")):!t._isVueCE||!/[A-Z]/.test(e)&&qt(n)?(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),xu(t,e,n,s)):Cu(t,Ce(e),n,0,e)}},em);let Mu;const nb=(...t)=>{const e=(Mu||(Mu=Dg(hm))).createApp(...t),{mount:r}=e;return e.mount=n=>{const l=function(i){return qt(i)?document.querySelector(i):i}(n);if(!l)return;const o=e._component;It(o)||o.render||o.template||(o.template=l.innerHTML),l.nodeType===1&&(l.textContent="");const s=r(l,!1,function(i){if(i instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&i instanceof MathMLElement)return"mathml"}(l));return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),s},e};let yf;const Co=t=>yf=t,bf=Symbol();function Fs(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ni,es;function ib(){const t=ah(!0),e=t.run(()=>gl({}));let r=[],n=[];const l=dl({install(o){Co(l),l._a=o,o.provide(bf,l),o.config.globalProperties.$pinia=l,n.forEach(s=>r.push(s)),n=[]},use(o){return this._a?r.push(o):n.push(o),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return l}(es=ni||(ni={})).direct="direct",es.patchObject="patch object",es.patchFunction="patch function";const vf=()=>{};function Lu(t,e,r,n=vf){t.push(e);const l=()=>{const o=t.indexOf(e);o>-1&&(t.splice(o,1),n())};return!r&&lh()&&function(o){fe&&fe.cleanups.push(o)}(l),l}function yn(t,...e){t.slice().forEach(r=>{r(...e)})}const fm=t=>t(),ju=Symbol(),rs=Symbol();function Ws(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],l=t[r];Fs(l)&&Fs(n)&&t.hasOwnProperty(r)&&!Qt(n)&&!Br(n)?t[r]=Ws(l,n):t[r]=n}return t}const pm=Symbol(),{assign:Er}=Object;function dm(t,e,r,n){const{state:l,actions:o,getters:s}=e,i=r.state.value[t];let a;return a=wf(t,function(){i||(r.state.value[t]=l?l():{});const u=function(c){const d=At(c)?new Array(c.length):{};for(const f in c)d[f]=yg(c,f);return d}(r.state.value[t]);return Er(u,o,Object.keys(s||{}).reduce((c,d)=>(c[d]=dl(Te(()=>{Co(r);const f=r._s.get(t);return s[d].call(f,f)})),c),{}))},e,r,n,!0),a}function wf(t,e,r={},n,l,o){let s;const i=Er({actions:{}},r),a={deep:!0};let u,c,d,f=[],g=[];const b=n.state.value[t];let _;function S(A){let E;u=c=!1,typeof A=="function"?(A(n.state.value[t]),E={type:ni.patchFunction,storeId:t,events:d}):(Ws(n.state.value[t],A),E={type:ni.patchObject,payload:A,storeId:t,events:d});const w=_=Symbol();ml().then(()=>{_===w&&(u=!0)}),c=!0,yn(f,E,n.state.value[t])}o||b||(n.state.value[t]={}),gl({});const U=o?function(){const{state:A}=r,E=A?A():{};this.$patch(w=>{Er(w,E)})}:vf,D=(A,E="")=>{if(ju in A)return A[rs]=E,A;const w=function(){Co(n);const M=Array.from(arguments),R=[],nt=[];let st;yn(g,{args:M,name:w[rs],store:G,after:function(Z){R.push(Z)},onError:function(Z){nt.push(Z)}});try{st=A.apply(this&&this.$id===t?this:G,M)}catch(Z){throw yn(nt,Z),Z}return st instanceof Promise?st.then(Z=>(yn(R,Z),Z)).catch(Z=>(yn(nt,Z),Promise.reject(Z))):(yn(R,st),st)};return w[ju]=!0,w[rs]=E,w},G=wi({_p:n,$id:t,$onAction:Lu.bind(null,g),$patch:S,$reset:U,$subscribe(A,E={}){const w=Lu(f,A,E.detached,()=>M()),M=s.run(()=>xn(()=>n.state.value[t],R=>{(E.flush==="sync"?c:u)&&A({storeId:t,type:ni.direct,events:d},R)},Er({},a,E)));return w},$dispose:function(){s.stop(),f=[],g=[],n._s.delete(t)}});n._s.set(t,G);const $=(n._a&&n._a.runWithContext||fm)(()=>n._e.run(()=>(s=ah()).run(()=>e({action:D}))));for(const A in $){const E=$[A];if(Qt(E)&&(!Qt(B=E)||!B.effect)||Br(E))o||(!b||Fs(X=E)&&X.hasOwnProperty(pm)||(Qt(E)?E.value=b[A]:Ws(E,b[A])),n.state.value[t][A]=E);else if(typeof E=="function"){const w=D(E,A);$[A]=w,i.actions[A]=E}}var X,B;return Er(G,$),Er(Rt(G),$),Object.defineProperty(G,"$state",{get:()=>n.state.value[t],set:A=>{S(E=>{Er(E,A)})}}),n._p.forEach(A=>{Er(G,s.run(()=>A({store:G,app:n._a,pinia:n,options:i})))}),b&&o&&r.hydrate&&r.hydrate(G.$state,b),u=!0,c=!0,G}/*! #__NO_SIDE_EFFECTS__ */function ob(t,e,r){let n,l;const o=typeof e=="function";function s(i,a){return(i=i||(te||Jt||on?Qe(bf,null):null))&&Co(i),(i=yf)._s.has(n)||(o?wf(n,e,l,i):dm(n,l,i)),i._s.get(n)}return n=t,l=o?r:e,s.$id=n,s}/*! - * vue-router v4.5.0 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const _n=typeof document<"u";function Uu(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}const Bt=Object.assign;function ns(t,e){const r={};for(const n in e){const l=e[n];r[n]=De(l)?l.map(t):t(l)}return r}const ii=()=>{},De=Array.isArray,_f=/#/g,gm=/&/g,mm=/\//g,ym=/=/g,bm=/\?/g,Ef=/\+/g,vm=/%5B/g,wm=/%5D/g,Sf=/%5E/g,_m=/%60/g,Af=/%7B/g,Em=/%7C/g,kf=/%7D/g,Sm=/%20/g;function Il(t){return encodeURI(""+t).replace(Em,"|").replace(vm,"[").replace(wm,"]")}function is(t){return Il(t).replace(Ef,"%2B").replace(Sm,"+").replace(_f,"%23").replace(gm,"%26").replace(_m,"`").replace(Af,"{").replace(kf,"}").replace(Sf,"^")}function Am(t){return t==null?"":function(e){return Il(e).replace(_f,"%23").replace(bm,"%3F")}(t).replace(mm,"%2F")}function mi(t){try{return decodeURIComponent(""+t)}catch{}return""+t}const km=/\/$/;function os(t,e,r="/"){let n,l={},o="",s="";const i=e.indexOf("#");let a=e.indexOf("?");return i=0&&(a=-1),a>-1&&(n=e.slice(0,a),o=e.slice(a+1,i>-1?i:e.length),l=t(o)),i>-1&&(n=n||e.slice(0,i),s=e.slice(i,e.length)),n=function(u,c){if(u.startsWith("/"))return u;if(!u)return c;const d=c.split("/"),f=u.split("/"),g=f[f.length-1];g!==".."&&g!=="."||f.push("");let b,_,S=d.length-1;for(b=0;b1&&S--}return d.slice(0,S).join("/")+"/"+f.slice(b).join("/")}(n??e,r),{fullPath:n+(o&&"?")+o+s,path:n,query:l,hash:mi(s)}}function Nu(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function Cn(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function If(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const r in t)if(!Im(t[r],e[r]))return!1;return!0}function Im(t,e){return De(t)?Du(t,e):De(e)?Du(e,t):t===e}function Du(t,e){return De(e)?t.length===e.length&&t.every((r,n)=>r===e[n]):t.length===1&&t[0]===e}const _r={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var yi,Fu,oi,ss;function Tm(t){if(!t)if(_n){const e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),t.replace(km,"")}(Fu=yi||(yi={})).pop="pop",Fu.push="push",(ss=oi||(oi={})).back="back",ss.forward="forward",ss.unknown="";const Om=/^[^#]+#/;function xm(t,e){return t.replace(Om,"#")+e}const Ro=()=>({left:window.scrollX,top:window.scrollY});function Cm(t){let e;if("el"in t){const r=t.el,n=typeof r=="string"&&r.startsWith("#"),l=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!l)return;e=function(o,s){const i=document.documentElement.getBoundingClientRect(),a=o.getBoundingClientRect();return{behavior:s.behavior,left:a.left-i.left-(s.left||0),top:a.top-i.top-(s.top||0)}}(l,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function Wu(t,e){return(history.state?history.state.position-e:-1)+t}const as=new Map;function Tf(t,e){const{pathname:r,search:n,hash:l}=e,o=t.indexOf("#");if(o>-1){let s=l.includes(t.slice(o))?t.slice(o).length:1,i=l.slice(s);return i[0]!=="/"&&(i="/"+i),Nu(i,"")}return Nu(r,t)+n+l}function $u(t,e,r,n=!1,l=!1){return{back:t,current:e,forward:r,replaced:n,position:window.history.length,scroll:l?Ro():null}}function Rm(t){const{history:e,location:r}=window,n={value:Tf(t,r)},l={value:e.state};function o(s,i,a){const u=t.indexOf("#"),c=u>-1?(r.host&&document.querySelector("base")?t:t.slice(u))+s:location.protocol+"//"+location.host+t+s;try{e[a?"replaceState":"pushState"](i,"",c),l.value=i}catch{r[a?"replace":"assign"](c)}}return l.value||o(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:n,state:l,push:function(s,i){const a=Bt({},l.value,e.state,{forward:s,scroll:Ro()});o(a.current,a,!0),o(s,Bt({},$u(n.value,s,null),{position:a.position+1},i),!1),n.value=s},replace:function(s,i){o(s,Bt({},e.state,$u(l.value.back,s,l.value.forward,!0),i,{position:l.value.position}),!0),n.value=s}}}function Pm(t){const e=Rm(t=Tm(t)),r=function(l,o,s,i){let a=[],u=[],c=null;const d=({state:g})=>{const b=Tf(l,location),_=s.value,S=o.value;let U=0;if(g){if(s.value=b,o.value=g,c&&c===_)return void(c=null);U=S?g.position-S.position:0}else i(b);a.forEach(D=>{D(s.value,_,{delta:U,type:yi.pop,direction:U?U>0?oi.forward:oi.back:oi.unknown})})};function f(){const{history:g}=window;g.state&&g.replaceState(Bt({},g.state,{scroll:Ro()}),"")}return window.addEventListener("popstate",d),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:function(){c=s.value},listen:function(g){a.push(g);const b=()=>{const _=a.indexOf(g);_>-1&&a.splice(_,1)};return u.push(b),b},destroy:function(){for(const g of u)g();u=[],window.removeEventListener("popstate",d),window.removeEventListener("beforeunload",f)}}}(t,e.state,e.location,e.replace),n=Bt({location:"",base:t,go:function(l,o=!0){o||r.pauseListeners(),history.go(l)},createHref:xm.bind(null,t)},e,r);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>e.state.value}),n}function sb(t){return(t=location.host?t||location.pathname+location.search:"").includes("#")||(t+="#"),Pm(t)}function Of(t){return typeof t=="string"||typeof t=="symbol"}const xf=Symbol("");var Vu,bn;function Rn(t,e){return Bt(new Error,{type:t,[xf]:!0},e)}function tr(t,e){return t instanceof Error&&xf in t&&(e==null||!!(t.type&e))}(bn=Vu||(Vu={}))[bn.aborted=4]="aborted",bn[bn.cancelled=8]="cancelled",bn[bn.duplicated=16]="duplicated";const qu="[^/]+?",Bm={sensitive:!1,strict:!1,start:!0,end:!0},Mm=/[.+*?^${}()[\]/\\]/g;function Lm(t,e){let r=0;for(;re.length?e.length===1&&e[0]===80?1:-1:0}function Hu(t,e){let r=0;const n=t.score,l=e.score;for(;r0&&e[e.length-1]<0}const jm={type:0,value:""},Um=/[a-zA-Z0-9_]/;function Nm(t,e,r){const n=function(o,s){const i=Bt({},Bm,s),a=[];let u=i.start?"^":"";const c=[];for(const f of o){const g=f.length?[]:[90];i.strict&&!f.length&&(u+="/");for(let b=0;b1&&(f==="*"||f==="+")&&s(`A repeatable param (${b}) must be alone in its segment. eg: '/:ids+.`),c.push({type:1,value:b,regexp:_,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):s("Invalid state to consume buffer"),b="")}function U(){b+=f}for(;g{o(_)}:ii}function o(i){if(Of(i)){const a=n.get(i);a&&(n.delete(i),r.splice(r.indexOf(a),1),a.children.forEach(o),a.alias.forEach(o))}else{const a=r.indexOf(i);a>-1&&(r.splice(a,1),i.record.name&&n.delete(i.record.name),i.children.forEach(o),i.alias.forEach(o))}}function s(i){const a=function(u,c){let d=0,f=c.length;for(;d!==f;){const b=d+f>>1;Hu(u,c[b])<0?f=b:d=b+1}const g=function(b){let _=b;for(;_=_.parent;)if(Ju(_)&&Hu(b,_)===0)return _}(u);return g&&(f=c.lastIndexOf(g,f-1)),f}(i,r);r.splice(a,0,i),i.record.name&&!Qu(i)&&n.set(i.record.name,i)}return e=Yu({strict:!1,end:!0,sensitive:!1},e),t.forEach(i=>l(i)),{addRoute:l,resolve:function(i,a){let u,c,d,f={};if("name"in i&&i.name){if(u=n.get(i.name),!u)throw Rn(1,{location:i});d=u.record.name,f=Bt(Ku(a.params,u.keys.filter(_=>!_.optional).concat(u.parent?u.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),i.params&&Ku(i.params,u.keys.map(_=>_.name))),c=u.stringify(f)}else if(i.path!=null)c=i.path,u=r.find(_=>_.re.test(c)),u&&(f=u.parse(c),d=u.record.name);else{if(u=a.name?n.get(a.name):r.find(_=>_.re.test(a.path)),!u)throw Rn(1,{location:i,currentLocation:a});d=u.record.name,f=Bt({},a.params,i.params),c=u.stringify(f)}const g=[];let b=u;for(;b;)g.unshift(b.record),b=b.parent;return{name:d,path:c,params:f,matched:g,meta:Wm(g)}},removeRoute:o,clearRoutes:function(){r.length=0,n.clear()},getRoutes:function(){return r},getRecordMatcher:function(i){return n.get(i)}}}function Ku(t,e){const r={};for(const n of e)n in t&&(r[n]=t[n]);return r}function Gu(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:Fm(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function Fm(t){const e={},r=t.props||!1;if("component"in t)e.default=r;else for(const n in t.components)e[n]=typeof r=="object"?r[n]:r;return e}function Qu(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function Wm(t){return t.reduce((e,r)=>Bt(e,r.meta),{})}function Yu(t,e){const r={};for(const n in t)r[n]=n in e?e[n]:t[n];return r}function Ju({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function $m(t){const e={};if(t===""||t==="?")return e;const r=(t[0]==="?"?t.slice(1):t).split("&");for(let n=0;no&&is(o)):[n&&is(n)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+r,o!=null&&(e+="="+o))})}return e}function Vm(t){const e={};for(const r in t){const n=t[r];n!==void 0&&(e[r]=De(n)?n.map(l=>l==null?null:""+l):n==null?n:""+n)}return e}const qm=Symbol(""),Zu=Symbol(""),Tl=Symbol(""),Cf=Symbol(""),$s=Symbol("");function Vn(){let t=[];return{add:function(e){return t.push(e),()=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)}},list:()=>t.slice(),reset:function(){t=[]}}}function Cr(t,e,r,n,l,o=s=>s()){const s=n&&(n.enterCallbacks[l]=n.enterCallbacks[l]||[]);return()=>new Promise((i,a)=>{const u=f=>{var g;f===!1?a(Rn(4,{from:r,to:e})):f instanceof Error?a(f):typeof(g=f)=="string"||g&&typeof g=="object"?a(Rn(2,{from:e,to:f})):(s&&n.enterCallbacks[l]===s&&typeof f=="function"&&s.push(f),i())},c=o(()=>t.call(n&&n.instances[l],e,r,u));let d=Promise.resolve(c);t.length<3&&(d=d.then(u)),d.catch(f=>a(f))})}function ls(t,e,r,n,l=o=>o()){const o=[];for(const s of t)for(const i in s.components){let a=s.components[i];if(e==="beforeRouteEnter"||s.instances[i])if(Uu(a)){const u=(a.__vccOpts||a)[e];u&&o.push(Cr(u,r,n,s,i,l))}else{let u=a();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${i}" at "${s.path}"`);const d=(f=c).__esModule||f[Symbol.toStringTag]==="Module"||f.default&&Uu(f.default)?c.default:c;var f;s.mods[i]=c,s.components[i]=d;const g=(d.__vccOpts||d)[e];return g&&Cr(g,r,n,s,i,l)()}))}}return o}function tc(t){const e=Qe(Tl),r=Qe(Cf),n=Te(()=>{const i=Tn(t.to);return e.resolve(i)}),l=Te(()=>{const{matched:i}=n.value,{length:a}=i,u=i[a-1],c=r.matched;if(!u||!c.length)return-1;const d=c.findIndex(Cn.bind(null,u));if(d>-1)return d;const f=ec(i[a-2]);return a>1&&ec(u)===f&&c[c.length-1].path!==f?c.findIndex(Cn.bind(null,i[a-2])):d}),o=Te(()=>l.value>-1&&function(i,a){for(const u in a){const c=a[u],d=i[u];if(typeof c=="string"){if(c!==d)return!1}else if(!De(d)||d.length!==c.length||c.some((f,g)=>f!==d[g]))return!1}return!0}(r.params,n.value.params)),s=Te(()=>l.value>-1&&l.value===r.matched.length-1&&If(r.params,n.value.params));return{route:n,href:Te(()=>n.value.href),isActive:o,isExactActive:s,navigate:function(i={}){if(function(a){if(!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)&&!a.defaultPrevented&&!(a.button!==void 0&&a.button!==0)){if(a.currentTarget&&a.currentTarget.getAttribute){const u=a.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(u))return}return a.preventDefault&&a.preventDefault(),!0}}(i)){const a=e[Tn(t.replace)?"replace":"push"](Tn(t.to)).catch(ii);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}}}const Hm=Wh({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:tc,setup(t,{slots:e}){const r=wi(tc(t)),{options:n}=Qe(Tl),l=Te(()=>({[rc(t.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[rc(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const o=e.default&&((s=e.default(r)).length===1?s[0]:s);var s;return t.custom?o:kl("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:l.value},o)}}});function ec(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const rc=(t,e,r)=>t??e??r;function nc(t,e){if(!t)return null;const r=t(e);return r.length===1?r[0]:r}const zm=Wh({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:r}){const n=Qe($s),l=Te(()=>t.route||n.value),o=Qe(Zu,0),s=Te(()=>{let u=Tn(o);const{matched:c}=l.value;let d;for(;(d=c[u])&&!d.components;)u++;return u}),i=Te(()=>l.value.matched[s.value]);$i(Zu,Te(()=>s.value+1)),$i(qm,i),$i($s,l);const a=gl();return xn(()=>[a.value,i.value,t.name],([u,c,d],[f,g,b])=>{c&&(c.instances[d]=u,g&&g!==c&&u&&u===f&&(c.leaveGuards.size||(c.leaveGuards=g.leaveGuards),c.updateGuards.size||(c.updateGuards=g.updateGuards))),!u||!c||g&&Cn(c,g)&&f||(c.enterCallbacks[d]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=l.value,c=t.name,d=i.value,f=d&&d.components[c];if(!f)return nc(r.default,{Component:f,route:u});const g=d.props[c],b=g?g===!0?u.params:typeof g=="function"?g(u):g:null,_=kl(f,Bt({},b,e,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return nc(r.default,{Component:_,route:u})||_}}});function ab(t){const e=Dm(t.routes,t),r=t.parseQuery||$m,n=t.stringifyQuery||Xu,l=t.history,o=Vn(),s=Vn(),i=Vn(),a=kh(_r,!0);let u=_r;_n&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=ns.bind(null,k=>""+k),d=ns.bind(null,Am),f=ns.bind(null,mi);function g(k,q){if(q=Bt({},q||a.value),typeof k=="string"){const rt=os(r,k,q.path),tt=e.resolve({path:rt.path},q),P=l.createHref(rt.fullPath);return Bt(rt,tt,{params:f(tt.params),hash:mi(rt.hash),redirectedFrom:void 0,href:P})}let et;if(k.path!=null)et=Bt({},k,{path:os(r,k.path,q.path).path});else{const rt=Bt({},k.params);for(const tt in rt)rt[tt]==null&&delete rt[tt];et=Bt({},k,{params:d(rt)}),q.params=d(q.params)}const ot=e.resolve(et,q),at=k.hash||"";ot.params=c(f(ot.params));const ut=function(rt,tt){const P=tt.query?rt(tt.query):"";return tt.path+(P&&"?")+P+(tt.hash||"")}(n,Bt({},k,{hash:(dt=at,Il(dt).replace(Af,"{").replace(kf,"}").replace(Sf,"^")),path:ot.path}));var dt;const H=l.createHref(ut);return Bt({fullPath:ut,hash:at,query:n===Xu?Vm(k.query):k.query||{}},ot,{redirectedFrom:void 0,href:H})}function b(k){return typeof k=="string"?os(r,k,a.value.path):Bt({},k)}function _(k,q){if(u!==k)return Rn(8,{from:q,to:k})}function S(k){return D(k)}function U(k){const q=k.matched[k.matched.length-1];if(q&&q.redirect){const{redirect:et}=q;let ot=typeof et=="function"?et(k):et;return typeof ot=="string"&&(ot=ot.includes("?")||ot.includes("#")?ot=b(ot):{path:ot},ot.params={}),Bt({query:k.query,hash:k.hash,params:ot.path!=null?{}:k.params},ot)}}function D(k,q){const et=u=g(k),ot=a.value,at=k.state,ut=k.force,dt=k.replace===!0,H=U(et);if(H)return D(Bt(b(H),{state:typeof H=="object"?Bt({},at,H.state):at,force:ut,replace:dt}),q||et);const rt=et;let tt;return rt.redirectedFrom=q,!ut&&function(P,W,C){const Q=W.matched.length-1,h=C.matched.length-1;return Q>-1&&Q===h&&Cn(W.matched[Q],C.matched[h])&&If(W.params,C.params)&&P(W.query)===P(C.query)&&W.hash===C.hash}(n,ot,et)&&(tt=Rn(16,{to:rt,from:ot}),j(ot,ot,!0,!1)),(tt?Promise.resolve(tt):X(rt,ot)).catch(P=>tr(P)?tr(P,2)?P:Z(P):st(P,rt,ot)).then(P=>{if(P){if(tr(P,2))return D(Bt({replace:dt},b(P.to),{state:typeof P.to=="object"?Bt({},at,P.to.state):at,force:ut}),q||rt)}else P=A(rt,ot,!0,dt,at);return B(rt,ot,P),P})}function G(k,q){const et=_(k,q);return et?Promise.reject(et):Promise.resolve()}function $(k){const q=it.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(k):k()}function X(k,q){let et;const[ot,at,ut]=function(H,rt){const tt=[],P=[],W=[],C=Math.max(rt.matched.length,H.matched.length);for(let Q=0;QCn(v,h))?P.push(h):tt.push(h));const p=H.matched[Q];p&&(rt.matched.find(v=>Cn(v,p))||W.push(p))}return[tt,P,W]}(k,q);et=ls(ot.reverse(),"beforeRouteLeave",k,q);for(const H of ot)H.leaveGuards.forEach(rt=>{et.push(Cr(rt,k,q))});const dt=G.bind(null,k,q);return et.push(dt),Y(et).then(()=>{et=[];for(const H of o.list())et.push(Cr(H,k,q));return et.push(dt),Y(et)}).then(()=>{et=ls(at,"beforeRouteUpdate",k,q);for(const H of at)H.updateGuards.forEach(rt=>{et.push(Cr(rt,k,q))});return et.push(dt),Y(et)}).then(()=>{et=[];for(const H of ut)if(H.beforeEnter)if(De(H.beforeEnter))for(const rt of H.beforeEnter)et.push(Cr(rt,k,q));else et.push(Cr(H.beforeEnter,k,q));return et.push(dt),Y(et)}).then(()=>(k.matched.forEach(H=>H.enterCallbacks={}),et=ls(ut,"beforeRouteEnter",k,q,$),et.push(dt),Y(et))).then(()=>{et=[];for(const H of s.list())et.push(Cr(H,k,q));return et.push(dt),Y(et)}).catch(H=>tr(H,8)?H:Promise.reject(H))}function B(k,q,et){i.list().forEach(ot=>$(()=>ot(k,q,et)))}function A(k,q,et,ot,at){const ut=_(k,q);if(ut)return ut;const dt=q===_r,H=_n?history.state:{};et&&(ot||dt?l.replace(k.fullPath,Bt({scroll:dt&&H&&H.scroll},at)):l.push(k.fullPath,at)),a.value=k,j(k,q,et,dt),Z()}let E;function w(){E||(E=l.listen((k,q,et)=>{if(!J.listening)return;const ot=g(k),at=U(ot);if(at)return void D(Bt(at,{replace:!0,force:!0}),ot).catch(ii);u=ot;const ut=a.value;var dt,H;_n&&(dt=Wu(ut.fullPath,et.delta),H=Ro(),as.set(dt,H)),X(ot,ut).catch(rt=>tr(rt,12)?rt:tr(rt,2)?(D(Bt(b(rt.to),{force:!0}),ot).then(tt=>{tr(tt,20)&&!et.delta&&et.type===yi.pop&&l.go(-1,!1)}).catch(ii),Promise.reject()):(et.delta&&l.go(-et.delta,!1),st(rt,ot,ut))).then(rt=>{(rt=rt||A(ot,ut,!1))&&(et.delta&&!tr(rt,8)?l.go(-et.delta,!1):et.type===yi.pop&&tr(rt,20)&&l.go(-1,!1)),B(ot,ut,rt)}).catch(ii)}))}let M,R=Vn(),nt=Vn();function st(k,q,et){Z(k);const ot=nt.list();return ot.length&&ot.forEach(at=>at(k,q,et)),Promise.reject(k)}function Z(k){return M||(M=!k,w(),R.list().forEach(([q,et])=>k?et(k):q()),R.reset()),k}function j(k,q,et,ot){const{scrollBehavior:at}=t;if(!_n||!at)return Promise.resolve();const ut=!et&&function(dt){const H=as.get(dt);return as.delete(dt),H}(Wu(k.fullPath,0))||(ot||!et)&&history.state&&history.state.scroll||null;return ml().then(()=>at(k,q,ut)).then(dt=>dt&&Cm(dt)).catch(dt=>st(dt,k,q))}const N=k=>l.go(k);let F;const it=new Set,J={currentRoute:a,listening:!0,addRoute:function(k,q){let et,ot;return Of(k)?(et=e.getRecordMatcher(k),ot=q):ot=k,e.addRoute(ot,et)},removeRoute:function(k){const q=e.getRecordMatcher(k);q&&e.removeRoute(q)},clearRoutes:e.clearRoutes,hasRoute:function(k){return!!e.getRecordMatcher(k)},getRoutes:function(){return e.getRoutes().map(k=>k.record)},resolve:g,options:t,push:S,replace:function(k){return S(Bt(b(k),{replace:!0}))},go:N,back:()=>N(-1),forward:()=>N(1),beforeEach:o.add,beforeResolve:s.add,afterEach:i.add,onError:nt.add,isReady:function(){return M&&a.value!==_r?Promise.resolve():new Promise((k,q)=>{R.add([k,q])})},install(k){k.component("RouterLink",Hm),k.component("RouterView",zm),k.config.globalProperties.$router=this,Object.defineProperty(k.config.globalProperties,"$route",{enumerable:!0,get:()=>Tn(a)}),_n&&!F&&a.value===_r&&(F=!0,S(l.location).catch(ot=>{}));const q={};for(const ot in _r)Object.defineProperty(q,ot,{get:()=>a.value[ot],enumerable:!0});k.provide(Tl,this),k.provide(Cf,Sh(q)),k.provide($s,a);const et=k.unmount;it.add(k),k.unmount=function(){it.delete(k),it.size<1&&(u=_r,E&&E(),E=null,a.value=_r,F=!1,M=!1),et()}}};function Y(k){return k.reduce((q,et)=>q.then(()=>$(et)),Promise.resolve())}return J}var Vs=Object.defineProperty,Km=Object.getOwnPropertyDescriptor,Gm=Object.getOwnPropertyNames,Qm=Object.prototype.hasOwnProperty,ne=(t,e)=>()=>(t&&(e=t(t=0)),e),mt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),fn=(t,e)=>{for(var r in e)Vs(t,r,{get:e[r],enumerable:!0})},Dt=t=>((e,r,n,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Gm(r))!Qm.call(e,o)&&o!==n&&Vs(e,o,{get:()=>r[o],enumerable:!(l=Km(r,o))||l.enumerable});return e})(Vs({},"__esModule",{value:!0}),t),ht=ne(()=>{}),Nt={};function Ol(t){throw new Error("Node.js process "+t+" is not supported by JSPM core outside of Node.js")}function Ym(){!sn||!en||(sn=!1,en.length?He=en.concat(He):si=-1,He.length&&Rf())}function Rf(){if(!sn){var t=setTimeout(Ym,0);sn=!0;for(var e=He.length;e;){for(en=He,He=[];++si1)for(var r=1;rEa,_debugProcess:()=>_a,_events:()=>Vf,_eventsCount:()=>qf,_exiting:()=>aa,_fatalExceptions:()=>ba,_getActiveHandles:()=>Uf,_getActiveRequests:()=>jf,_kill:()=>ca,_linkedBinding:()=>Mf,_maxListeners:()=>$f,_preload_modules:()=>Ma,_rawDebug:()=>ia,_startProfilerIdleNotifier:()=>Sa,_stopProfilerIdleNotifier:()=>Aa,_tickCallback:()=>wa,abort:()=>Oa,addListener:()=>Hf,allowedNodeEnvironmentFlags:()=>ma,arch:()=>Hs,argv:()=>Gs,argv0:()=>Ba,assert:()=>Nf,binding:()=>Zs,chdir:()=>ra,config:()=>la,cpuUsage:()=>Ki,cwd:()=>ea,debugPort:()=>Pa,default:()=>xl,dlopen:()=>Lf,domain:()=>sa,emit:()=>Yf,emitWarning:()=>Xs,env:()=>Ks,execArgv:()=>Qs,execPath:()=>Ra,exit:()=>da,features:()=>ya,hasUncaughtExceptionCaptureCallback:()=>Df,hrtime:()=>zi,kill:()=>pa,listeners:()=>Wf,memoryUsage:()=>fa,moduleLoadList:()=>oa,nextTick:()=>Pf,off:()=>Kf,on:()=>rr,once:()=>zf,openStdin:()=>ga,pid:()=>xa,platform:()=>zs,ppid:()=>Ca,prependListener:()=>Jf,prependOnceListener:()=>Xf,reallyExit:()=>ua,release:()=>na,removeAllListeners:()=>Qf,removeListener:()=>Gf,resourceUsage:()=>ha,setSourceMapsEnabled:()=>La,setUncaughtExceptionCaptureCallback:()=>va,stderr:()=>Ia,stdin:()=>Ta,stdout:()=>ka,title:()=>qs,umask:()=>ta,uptime:()=>Ff,version:()=>Ys,versions:()=>Js});var He,sn,en,si,qs,Hs,zs,Ks,Gs,Qs,Ys,Js,Xs,Zs,ta,ea,ra,na,ia,oa,sa,aa,la,ua,ca,Ki,ha,fa,pa,da,ga,ma,ya,ba,va,wa,_a,Ea,Sa,Aa,ka,Ia,Ta,Oa,xa,Ca,Ra,Pa,Ba,Ma,La,Rr,us,Gi,$f,Vf,qf,Hf,zf,Kf,Gf,Qf,Yf,Jf,Xf,xl,Jm=ne(()=>{ht(),pt(),ft(),He=[],sn=!1,si=-1,Bf.prototype.run=function(){this.fun.apply(null,this.array)},qs="browser",Hs="x64",zs="browser",Ks={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Gs=["/usr/bin/node"],Qs=[],Ys="v16.8.0",Js={},Xs=function(t,e){},Zs=function(t){Ol("binding")},ta=function(t){return 0},ea=function(){return"/"},ra=function(t){},na={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},ia=ae,oa=[],sa={},aa=!1,la={},ua=ae,ca=ae,ha=Ki=function(){return{}},fa=Ki,pa=ae,da=ae,ga=ae,ma={},ya={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},ba=ae,va=ae,wa=ae,_a=ae,Ea=ae,Sa=ae,Aa=ae,ka=void 0,Ia=void 0,Ta=void 0,Oa=ae,xa=2,Ca=1,Ra="/bin/usr/node",Pa=9229,Ba="node",Ma=[],La=ae,(Rr={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0}).now===void 0&&(us=Date.now(),Rr.timing&&Rr.timing.navigationStart&&(us=Rr.timing.navigationStart),Rr.now=()=>Date.now()-us),Gi=1e9,zi.bigint=function(t){var e=zi(t);return typeof BigInt>"u"?e[0]*Gi+e[1]:BigInt(e[0]*Gi)+BigInt(e[1])},xl={version:Ys,versions:Js,arch:Hs,platform:zs,release:na,_rawDebug:ia,moduleLoadList:oa,binding:Zs,_linkedBinding:Mf,_events:Vf={},_eventsCount:qf=0,_maxListeners:$f=10,on:rr,addListener:Hf=rr,once:zf=rr,off:Kf=rr,removeListener:Gf=rr,removeAllListeners:Qf=rr,emit:Yf=ae,prependListener:Jf=rr,prependOnceListener:Xf=rr,listeners:Wf,domain:sa,_exiting:aa,config:la,dlopen:Lf,uptime:Ff,_getActiveRequests:jf,_getActiveHandles:Uf,reallyExit:ua,_kill:ca,cpuUsage:Ki,resourceUsage:ha,memoryUsage:fa,kill:pa,exit:da,openStdin:ga,allowedNodeEnvironmentFlags:ma,assert:Nf,features:ya,_fatalExceptions:ba,setUncaughtExceptionCaptureCallback:va,hasUncaughtExceptionCaptureCallback:Df,emitWarning:Xs,nextTick:Pf,_tickCallback:wa,_debugProcess:_a,_debugEnd:Ea,_startProfilerIdleNotifier:Sa,_stopProfilerIdleNotifier:Aa,stdout:ka,stdin:Ta,stderr:Ia,abort:Oa,umask:ta,chdir:ra,cwd:ea,env:Ks,title:qs,argv:Gs,execArgv:Qs,pid:xa,ppid:Ca,execPath:Ra,debugPort:Pa,hrtime:zi,argv0:Ba,_preload_modules:Ma,setSourceMapsEnabled:La}}),ft=ne(()=>{Jm()}),ie={};function Xm(){if(Na)return Sr;Na=!0;let t=function(){if(ja)return En;ja=!0,En.byteLength=function(T){var L=I(T),z=L[0],V=L[1];return 3*(z+V)/4-V},En.toByteArray=function(T){var L,z,V=I(T),lt=V[0],ct=V[1],yt=new v(function(Ot,xt,_t){return 3*(xt+_t)/4-_t}(0,lt,ct)),bt=0,wt=ct>0?lt-4:lt;for(z=0;z>16&255,yt[bt++]=L>>8&255,yt[bt++]=255&L;return ct===2&&(L=p[T.charCodeAt(z)]<<2|p[T.charCodeAt(z+1)]>>4,yt[bt++]=255&L),ct===1&&(L=p[T.charCodeAt(z)]<<10|p[T.charCodeAt(z+1)]<<4|p[T.charCodeAt(z+2)]>>2,yt[bt++]=L>>8&255,yt[bt++]=255&L),yt},En.fromByteArray=function(T){for(var L,z=T.length,V=z%3,lt=[],ct=16383,yt=0,bt=z-V;ytbt?bt:yt+ct));return V===1?(L=T[z-1],lt.push(h[L>>2]+h[L<<4&63]+"==")):V===2&&(L=(T[z-2]<<8)+T[z-1],lt.push(h[L>>10]+h[L>>4&63]+h[L<<2&63]+"=")),lt.join("")};for(var h=[],p=[],v=typeof Uint8Array<"u"?Uint8Array:Array,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=0;x<64;++x)h[x]=O[x],p[O.charCodeAt(x)]=x;function I(T){var L=T.length;if(L%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var z=T.indexOf("=");return z===-1&&(z=L),[z,z===L?0:4-z%4]}function m(T){return h[T>>18&63]+h[T>>12&63]+h[T>>6&63]+h[63&T]}function y(T,L,z){for(var V,lt=[],ct=L;ct>1,z=-7,V=v?x-1:0,lt=v?-1:1,ct=h[p+V];for(V+=lt,I=ct&(1<<-z)-1,ct>>=-z,z+=y;z>0;I=256*I+h[p+V],V+=lt,z-=8);for(m=I&(1<<-z)-1,I>>=-z,z+=O;z>0;m=256*m+h[p+V],V+=lt,z-=8);if(I===0)I=1-L;else{if(I===T)return m?NaN:1/0*(ct?-1:1);m+=Math.pow(2,O),I-=L}return(ct?-1:1)*m*Math.pow(2,I-O)},Qi.write=function(h,p,v,O,x,I){var m,y,T,L=8*I-x-1,z=(1<>1,lt=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,ct=O?0:I-1,yt=O?1:-1,bt=p<0||p===0&&1/p<0?1:0;for(p=Math.abs(p),isNaN(p)||p===1/0?(y=isNaN(p)?1:0,m=z):(m=Math.floor(Math.log(p)/Math.LN2),p*(T=Math.pow(2,-m))<1&&(m--,T*=2),(p+=m+V>=1?lt/T:lt*Math.pow(2,1-V))*T>=2&&(m++,T/=2),m+V>=z?(y=0,m=z):m+V>=1?(y=(p*T-1)*Math.pow(2,x),m+=V):(y=p*Math.pow(2,V-1)*Math.pow(2,x),m=0));x>=8;h[v+ct]=255&y,ct+=yt,y/=256,x-=8);for(m=m<0;h[v+ct]=255&m,ct+=yt,m/=256,L-=8);h[v+ct-yt]|=128*bt}),Qi),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Sr.Buffer=o,Sr.SlowBuffer=function(h){return+h!=h&&(h=0),o.alloc(+h)},Sr.INSPECT_MAX_BYTES=50;let n=2147483647;function l(h){if(h>n)throw new RangeError('The value "'+h+'" is invalid for option "size"');let p=new Uint8Array(h);return Object.setPrototypeOf(p,o.prototype),p}function o(h,p,v){if(typeof h=="number"){if(typeof p=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return a(h)}return s(h,p,v)}function s(h,p,v){if(typeof h=="string")return function(I,m){if((typeof m!="string"||m==="")&&(m="utf8"),!o.isEncoding(m))throw new TypeError("Unknown encoding: "+m);let y=0|f(I,m),T=l(y),L=T.write(I,m);return L!==y&&(T=T.slice(0,L)),T}(h,p);if(ArrayBuffer.isView(h))return function(I){if(tt(I,Uint8Array)){let m=new Uint8Array(I);return c(m.buffer,m.byteOffset,m.byteLength)}return u(I)}(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(tt(h,ArrayBuffer)||h&&tt(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tt(h,SharedArrayBuffer)||h&&tt(h.buffer,SharedArrayBuffer)))return c(h,p,v);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let O=h.valueOf&&h.valueOf();if(O!=null&&O!==h)return o.from(O,p,v);let x=function(I){if(o.isBuffer(I)){let m=0|d(I.length),y=l(m);return y.length===0||I.copy(y,0,0,m),y}if(I.length!==void 0)return typeof I.length!="number"||P(I.length)?l(0):u(I);if(I.type==="Buffer"&&Array.isArray(I.data))return u(I.data)}(h);if(x)return x;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return o.from(h[Symbol.toPrimitive]("string"),p,v);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}function i(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function a(h){return i(h),l(h<0?0:0|d(h))}function u(h){let p=h.length<0?0:0|d(h.length),v=l(p);for(let O=0;O=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|h}function f(h,p){if(o.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||tt(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);let v=h.length,O=arguments.length>2&&arguments[2]===!0;if(!O&&v===0)return 0;let x=!1;for(;;)switch(p){case"ascii":case"latin1":case"binary":return v;case"utf8":case"utf-8":return dt(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*v;case"hex":return v>>>1;case"base64":return H(h).length;default:if(x)return O?-1:dt(h).length;p=(""+p).toLowerCase(),x=!0}}function g(h,p,v){let O=!1;if((p===void 0||p<0)&&(p=0),p>this.length||((v===void 0||v>this.length)&&(v=this.length),v<=0)||(v>>>=0)<=(p>>>=0))return"";for(h||(h="utf8");;)switch(h){case"hex":return R(this,p,v);case"utf8":case"utf-8":return A(this,p,v);case"ascii":return w(this,p,v);case"latin1":case"binary":return M(this,p,v);case"base64":return B(this,p,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return nt(this,p,v);default:if(O)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),O=!0}}function b(h,p,v){let O=h[p];h[p]=h[v],h[v]=O}function _(h,p,v,O,x){if(h.length===0)return-1;if(typeof v=="string"?(O=v,v=0):v>2147483647?v=2147483647:v<-2147483648&&(v=-2147483648),P(v=+v)&&(v=x?0:h.length-1),v<0&&(v=h.length+v),v>=h.length){if(x)return-1;v=h.length-1}else if(v<0){if(!x)return-1;v=0}if(typeof p=="string"&&(p=o.from(p,O)),o.isBuffer(p))return p.length===0?-1:S(h,p,v,O,x);if(typeof p=="number")return p&=255,typeof Uint8Array.prototype.indexOf=="function"?x?Uint8Array.prototype.indexOf.call(h,p,v):Uint8Array.prototype.lastIndexOf.call(h,p,v):S(h,[p],v,O,x);throw new TypeError("val must be string, number or Buffer")}function S(h,p,v,O,x){let I,m=1,y=h.length,T=p.length;if(O!==void 0&&((O=String(O).toLowerCase())==="ucs2"||O==="ucs-2"||O==="utf16le"||O==="utf-16le")){if(h.length<2||p.length<2)return-1;m=2,y/=2,T/=2,v/=2}function L(z,V){return m===1?z[V]:z.readUInt16BE(V*m)}if(x){let z=-1;for(I=v;Iy&&(v=y-T),I=v;I>=0;I--){let z=!0;for(let V=0;Vx&&(O=x):O=x;let I,m=p.length;for(O>m/2&&(O=m/2),I=0;I>8,T=m%256,L.push(T),L.push(y);return L}(p,h.length-v),h,v,O)}function B(h,p,v){return p===0&&v===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(p,v))}function A(h,p,v){v=Math.min(h.length,v);let O=[],x=p;for(;x239?4:I>223?3:I>191?2:1;if(x+y<=v){let T,L,z,V;switch(y){case 1:I<128&&(m=I);break;case 2:T=h[x+1],(192&T)==128&&(V=(31&I)<<6|63&T,V>127&&(m=V));break;case 3:T=h[x+1],L=h[x+2],(192&T)==128&&(192&L)==128&&(V=(15&I)<<12|(63&T)<<6|63&L,V>2047&&(V<55296||V>57343)&&(m=V));break;case 4:T=h[x+1],L=h[x+2],z=h[x+3],(192&T)==128&&(192&L)==128&&(192&z)==128&&(V=(15&I)<<18|(63&T)<<12|(63&L)<<6|63&z,V>65535&&V<1114112&&(m=V))}}m===null?(m=65533,y=1):m>65535&&(m-=65536,O.push(m>>>10&1023|55296),m=56320|1023&m),O.push(m),x+=y}return function(I){let m=I.length;if(m<=E)return String.fromCharCode.apply(String,I);let y="",T=0;for(;TO.length?(o.isBuffer(I)||(I=o.from(I)),I.copy(O,x)):Uint8Array.prototype.set.call(O,I,x);else{if(!o.isBuffer(I))throw new TypeError('"list" argument must be an Array of Buffers');I.copy(O,x)}x+=I.length}return O},o.byteLength=f,o.prototype._isBuffer=!0,o.prototype.swap16=function(){let h=this.length;if(h%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let p=0;pp&&(h+=" ... "),""},r&&(o.prototype[r]=o.prototype.inspect),o.prototype.compare=function(h,p,v,O,x){if(tt(h,Uint8Array)&&(h=o.from(h,h.offset,h.byteLength)),!o.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(p===void 0&&(p=0),v===void 0&&(v=h?h.length:0),O===void 0&&(O=0),x===void 0&&(x=this.length),p<0||v>h.length||O<0||x>this.length)throw new RangeError("out of range index");if(O>=x&&p>=v)return 0;if(O>=x)return-1;if(p>=v)return 1;if(this===h)return 0;let I=(x>>>=0)-(O>>>=0),m=(v>>>=0)-(p>>>=0),y=Math.min(I,m),T=this.slice(O,x),L=h.slice(p,v);for(let z=0;z>>=0,isFinite(v)?(v>>>=0,O===void 0&&(O="utf8")):(O=v,v=void 0)}let x=this.length-p;if((v===void 0||v>x)&&(v=x),h.length>0&&(v<0||p<0)||p>this.length)throw new RangeError("Attempt to write outside buffer bounds");O||(O="utf8");let I=!1;for(;;)switch(O){case"hex":return U(this,h,p,v);case"utf8":case"utf-8":return D(this,h,p,v);case"ascii":case"latin1":case"binary":return G(this,h,p,v);case"base64":return $(this,h,p,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X(this,h,p,v);default:if(I)throw new TypeError("Unknown encoding: "+O);O=(""+O).toLowerCase(),I=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};let E=4096;function w(h,p,v){let O="";v=Math.min(h.length,v);for(let x=p;xO)&&(v=O);let x="";for(let I=p;Iv)throw new RangeError("Trying to access beyond buffer length")}function Z(h,p,v,O,x,I){if(!o.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(p>x||ph.length)throw new RangeError("Index out of range")}function j(h,p,v,O,x){et(p,O,x,h,v,7);let I=Number(p&BigInt(4294967295));h[v++]=I,I>>=8,h[v++]=I,I>>=8,h[v++]=I,I>>=8,h[v++]=I;let m=Number(p>>BigInt(32)&BigInt(4294967295));return h[v++]=m,m>>=8,h[v++]=m,m>>=8,h[v++]=m,m>>=8,h[v++]=m,v}function N(h,p,v,O,x){et(p,O,x,h,v,7);let I=Number(p&BigInt(4294967295));h[v+7]=I,I>>=8,h[v+6]=I,I>>=8,h[v+5]=I,I>>=8,h[v+4]=I;let m=Number(p>>BigInt(32)&BigInt(4294967295));return h[v+3]=m,m>>=8,h[v+2]=m,m>>=8,h[v+1]=m,m>>=8,h[v]=m,v+8}function F(h,p,v,O,x,I){if(v+O>h.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("Index out of range")}function it(h,p,v,O,x){return p=+p,v>>>=0,x||F(h,0,v,4),e.write(h,p,v,O,23,4),v+4}function J(h,p,v,O,x){return p=+p,v>>>=0,x||F(h,0,v,8),e.write(h,p,v,O,52,8),v+8}o.prototype.slice=function(h,p){let v=this.length;(h=~~h)<0?(h+=v)<0&&(h=0):h>v&&(h=v),(p=p===void 0?v:~~p)<0?(p+=v)<0&&(p=0):p>v&&(p=v),p>>=0,p>>>=0,v||st(h,p,this.length);let O=this[h],x=1,I=0;for(;++I>>=0,p>>>=0,v||st(h,p,this.length);let O=this[h+--p],x=1;for(;p>0&&(x*=256);)O+=this[h+--p]*x;return O},o.prototype.readUint8=o.prototype.readUInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),this[h]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]|this[h+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]<<8|this[h+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+16777216*this[h+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),16777216*this[h]+(this[h+1]<<16|this[h+2]<<8|this[h+3])},o.prototype.readBigUInt64LE=C(function(h){ot(h>>>=0,"offset");let p=this[h],v=this[h+7];(p===void 0||v===void 0)&&at(h,this.length-8);let O=p+256*this[++h]+65536*this[++h]+this[++h]*2**24,x=this[++h]+256*this[++h]+65536*this[++h]+v*2**24;return BigInt(O)+(BigInt(x)<>>=0,"offset");let p=this[h],v=this[h+7];(p===void 0||v===void 0)&&at(h,this.length-8);let O=p*2**24+65536*this[++h]+256*this[++h]+this[++h],x=this[++h]*2**24+65536*this[++h]+256*this[++h]+v;return(BigInt(O)<>>=0,p>>>=0,v||st(h,p,this.length);let O=this[h],x=1,I=0;for(;++I=x&&(O-=Math.pow(2,8*p)),O},o.prototype.readIntBE=function(h,p,v){h>>>=0,p>>>=0,v||st(h,p,this.length);let O=p,x=1,I=this[h+--O];for(;O>0&&(x*=256);)I+=this[h+--O]*x;return x*=128,I>=x&&(I-=Math.pow(2,8*p)),I},o.prototype.readInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),128&this[h]?-1*(255-this[h]+1):this[h]},o.prototype.readInt16LE=function(h,p){h>>>=0,p||st(h,2,this.length);let v=this[h]|this[h+1]<<8;return 32768&v?4294901760|v:v},o.prototype.readInt16BE=function(h,p){h>>>=0,p||st(h,2,this.length);let v=this[h+1]|this[h]<<8;return 32768&v?4294901760|v:v},o.prototype.readInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},o.prototype.readInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},o.prototype.readBigInt64LE=C(function(h){ot(h>>>=0,"offset");let p=this[h],v=this[h+7];(p===void 0||v===void 0)&&at(h,this.length-8);let O=this[h+4]+256*this[h+5]+65536*this[h+6]+(v<<24);return(BigInt(O)<>>=0,"offset");let p=this[h],v=this[h+7];(p===void 0||v===void 0)&&at(h,this.length-8);let O=(p<<24)+65536*this[++h]+256*this[++h]+this[++h];return(BigInt(O)<>>=0,p||st(h,4,this.length),e.read(this,h,!0,23,4)},o.prototype.readFloatBE=function(h,p){return h>>>=0,p||st(h,4,this.length),e.read(this,h,!1,23,4)},o.prototype.readDoubleLE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!0,52,8)},o.prototype.readDoubleBE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(h,p,v,O){h=+h,p>>>=0,v>>>=0,!O&&Z(this,h,p,v,Math.pow(2,8*v)-1,0);let x=1,I=0;for(this[p]=255&h;++I>>=0,v>>>=0,!O&&Z(this,h,p,v,Math.pow(2,8*v)-1,0);let x=v-1,I=1;for(this[p+x]=255&h;--x>=0&&(I*=256);)this[p+x]=h/I&255;return p+v},o.prototype.writeUint8=o.prototype.writeUInt8=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,1,255,0),this[p]=255&h,p+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,2,65535,0),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,2,65535,0),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,4,4294967295,0),this[p+3]=h>>>24,this[p+2]=h>>>16,this[p+1]=h>>>8,this[p]=255&h,p+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,4,4294967295,0),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigUInt64LE=C(function(h,p=0){return j(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=C(function(h,p=0){return N(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(h,p,v,O){if(h=+h,p>>>=0,!O){let y=Math.pow(2,8*v-1);Z(this,h,p,v,y-1,-y)}let x=0,I=1,m=0;for(this[p]=255&h;++x>>=0,!O){let y=Math.pow(2,8*v-1);Z(this,h,p,v,y-1,-y)}let x=v-1,I=1,m=0;for(this[p+x]=255&h;--x>=0&&(I*=256);)h<0&&m===0&&this[p+x+1]!==0&&(m=1),this[p+x]=(h/I|0)-m&255;return p+v},o.prototype.writeInt8=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,1,127,-128),h<0&&(h=255+h+1),this[p]=255&h,p+1},o.prototype.writeInt16LE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,2,32767,-32768),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeInt16BE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,2,32767,-32768),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeInt32LE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,4,2147483647,-2147483648),this[p]=255&h,this[p+1]=h>>>8,this[p+2]=h>>>16,this[p+3]=h>>>24,p+4},o.prototype.writeInt32BE=function(h,p,v){return h=+h,p>>>=0,v||Z(this,h,p,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigInt64LE=C(function(h,p=0){return j(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=C(function(h,p=0){return N(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeFloatLE=function(h,p,v){return it(this,h,p,!0,v)},o.prototype.writeFloatBE=function(h,p,v){return it(this,h,p,!1,v)},o.prototype.writeDoubleLE=function(h,p,v){return J(this,h,p,!0,v)},o.prototype.writeDoubleBE=function(h,p,v){return J(this,h,p,!1,v)},o.prototype.copy=function(h,p,v,O){if(!o.isBuffer(h))throw new TypeError("argument should be a Buffer");if(v||(v=0),!O&&O!==0&&(O=this.length),p>=h.length&&(p=h.length),p||(p=0),O>0&&O=this.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("sourceEnd out of bounds");O>this.length&&(O=this.length),h.length-p>>=0,v=v===void 0?this.length:v>>>0,h||(h=0),typeof h=="number")for(x=p;x=O+4;v-=3)p=`_${h.slice(v-3,v)}${p}`;return`${h.slice(0,v)}${p}`}function et(h,p,v,O,x,I){if(h>v||h= 0${y} and < 2${y} ** ${8*(I+1)}${y}`:`>= -(2${y} ** ${8*(I+1)-1}${y}) and < 2 ** ${8*(I+1)-1}${y}`,new Y.ERR_OUT_OF_RANGE("value",m,h)}(function(m,y,T){ot(y,"offset"),(m[y]===void 0||m[y+T]===void 0)&&at(y,m.length-(T+1))})(O,x,I)}function ot(h,p){if(typeof h!="number")throw new Y.ERR_INVALID_ARG_TYPE(p,"number",h)}function at(h,p,v){throw Math.floor(h)!==h?(ot(h,v),new Y.ERR_OUT_OF_RANGE("offset","an integer",h)):p<0?new Y.ERR_BUFFER_OUT_OF_BOUNDS:new Y.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${p}`,h)}k("ERR_BUFFER_OUT_OF_BOUNDS",function(h){return h?`${h} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),k("ERR_INVALID_ARG_TYPE",function(h,p){return`The "${h}" argument must be of type number. Received type ${typeof p}`},TypeError),k("ERR_OUT_OF_RANGE",function(h,p,v){let O=`The value of "${h}" is out of range.`,x=v;return Number.isInteger(v)&&Math.abs(v)>2**32?x=q(String(v)):typeof v=="bigint"&&(x=String(v),(v>BigInt(2)**BigInt(32)||v<-(BigInt(2)**BigInt(32)))&&(x=q(x)),x+="n"),O+=` It must be ${p}. Received ${x}`,O},RangeError);let ut=/[^+/0-9A-Za-z-_]/g;function dt(h,p){p=p||1/0;let v,O=h.length,x=null,I=[];for(let m=0;m55295&&v<57344){if(!x){if(v>56319){(p-=3)>-1&&I.push(239,191,189);continue}if(m+1===O){(p-=3)>-1&&I.push(239,191,189);continue}x=v;continue}if(v<56320){(p-=3)>-1&&I.push(239,191,189),x=v;continue}v=65536+(x-55296<<10|v-56320)}else x&&(p-=3)>-1&&I.push(239,191,189);if(x=null,v<128){if((p-=1)<0)break;I.push(v)}else if(v<2048){if((p-=2)<0)break;I.push(v>>6|192,63&v|128)}else if(v<65536){if((p-=3)<0)break;I.push(v>>12|224,v>>6&63|128,63&v|128)}else{if(!(v<1114112))throw new Error("Invalid code point");if((p-=4)<0)break;I.push(v>>18|240,v>>12&63|128,v>>6&63|128,63&v|128)}}return I}function H(h){return t.toByteArray(function(p){if((p=(p=p.split("=")[0]).trim().replace(ut,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(h))}function rt(h,p,v,O){let x;for(x=0;x=p.length||x>=h.length);++x)p[x+v]=h[x];return x}function tt(h,p){return h instanceof p||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===p.name}function P(h){return h!=h}let W=function(){let h="0123456789abcdef",p=new Array(256);for(let v=0;v<16;++v){let O=16*v;for(let x=0;x<16;++x)p[O+x]=h[v]+h[x]}return p}();function C(h){return typeof BigInt>"u"?Q:h}function Q(){throw new Error("BigInt not supported")}return Sr}fn(ie,{Buffer:()=>ho,INSPECT_MAX_BYTES:()=>Zf,default:()=>Ar,kMaxLength:()=>tp});var En,ja,Qi,Ua,Sr,Na,Ar,ho,Zf,tp,oe=ne(()=>{ht(),pt(),ft(),En={},ja=!1,Qi={},Ua=!1,Sr={},Na=!1,(Ar=Xm()).Buffer,Ar.SlowBuffer,Ar.INSPECT_MAX_BYTES,Ar.kMaxLength,ho=Ar.Buffer,Zf=Ar.INSPECT_MAX_BYTES,tp=Ar.kMaxLength}),pt=ne(()=>{oe()}),Zm=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.aliasToTopic={},this.max=e}put(e,r){return!(r===0||r>this.max)&&(this.aliasToTopic[r]=e,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(e){return this.aliasToTopic[e]}clear(){this.aliasToTopic={}}}}),Xt=mt((t,e)=>{ht(),pt(),ft(),e.exports={ArrayIsArray:r=>Array.isArray(r),ArrayPrototypeIncludes:(r,n)=>r.includes(n),ArrayPrototypeIndexOf:(r,n)=>r.indexOf(n),ArrayPrototypeJoin:(r,n)=>r.join(n),ArrayPrototypeMap:(r,n)=>r.map(n),ArrayPrototypePop:(r,n)=>r.pop(n),ArrayPrototypePush:(r,n)=>r.push(n),ArrayPrototypeSlice:(r,n,l)=>r.slice(n,l),Error,FunctionPrototypeCall:(r,n,...l)=>r.call(n,...l),FunctionPrototypeSymbolHasInstance:(r,n)=>Function.prototype[Symbol.hasInstance].call(r,n),MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties:(r,n)=>Object.defineProperties(r,n),ObjectDefineProperty:(r,n,l)=>Object.defineProperty(r,n,l),ObjectGetOwnPropertyDescriptor:(r,n)=>Object.getOwnPropertyDescriptor(r,n),ObjectKeys:r=>Object.keys(r),ObjectSetPrototypeOf:(r,n)=>Object.setPrototypeOf(r,n),Promise,PromisePrototypeCatch:(r,n)=>r.catch(n),PromisePrototypeThen:(r,n,l)=>r.then(n,l),PromiseReject:r=>Promise.reject(r),ReflectApply:Reflect.apply,RegExpPrototypeTest:(r,n)=>r.test(n),SafeSet:Set,String,StringPrototypeSlice:(r,n,l)=>r.slice(n,l),StringPrototypeToLowerCase:r=>r.toLowerCase(),StringPrototypeToUpperCase:r=>r.toUpperCase(),StringPrototypeTrim:r=>r.trim(),Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet:(r,n,l)=>r.set(n,l),Uint8Array}}),fr=mt((t,e)=>{ht(),pt(),ft();var r=(oe(),Dt(ie)),n=Object.getPrototypeOf(async function(){}).constructor,l=globalThis.Blob||r.Blob,o=typeof l<"u"?function(i){return i instanceof l}:function(i){return!1},s=class extends Error{constructor(i){if(!Array.isArray(i))throw new TypeError("Expected input to be an Array, got "+typeof i);let a="";for(let u=0;u{i=u,a=c}),resolve:i,reject:a}},promisify:i=>new Promise((a,u)=>{i((c,...d)=>c?u(c):a(...d))}),debuglog:()=>function(){},format:(i,...a)=>i.replace(/%([sdifj])/g,function(...[u,c]){let d=a.shift();return c==="f"?d.toFixed(6):c==="j"?JSON.stringify(d):c==="s"&&typeof d=="object"?`${d.constructor!==Object?d.constructor.name:""} {}`.trim():d.toString()}),inspect(i){switch(typeof i){case"string":if(i.includes("'")){if(!i.includes('"'))return`"${i}"`;if(!i.includes("`")&&!i.includes("${"))return`\`${i}\``}return`'${i}'`;case"number":return isNaN(i)?"NaN":Object.is(i,-0)?String(i):i;case"bigint":return`${String(i)}n`;case"boolean":case"undefined":return String(i);case"object":return"{}"}},types:{isAsyncFunction:i=>i instanceof n,isArrayBufferView:i=>ArrayBuffer.isView(i)},isBlob:o},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),Cl=mt((t,e)=>{ht(),pt(),ft();var{AbortController:r,AbortSignal:n}=typeof self<"u"?self:typeof window<"u"?window:void 0;e.exports=r,e.exports.AbortSignal=n,e.exports.default=r}),we=mt((t,e)=>{ht(),pt(),ft();var{format:r,inspect:n,AggregateError:l}=fr(),o=globalThis.AggregateError||l,s=Symbol("kIsNodeError"),i=["string","function","number","object","Function","Object","boolean","bigint","symbol"],a=/^([A-Z][a-z0-9]*)+$/,u={};function c(_,S){if(!_)throw new u.ERR_INTERNAL_ASSERTION(S)}function d(_){let S="",U=_.length,D=_[0]==="-"?1:0;for(;U>=D+4;U-=3)S=`_${_.slice(U-3,U)}${S}`;return`${_.slice(0,U)}${S}`}function f(_,S,U){U||(U=Error);class D extends U{constructor(...$){super(function(X,B,A){if(typeof B=="function")return c(B.length<=A.length,`Code: ${X}; The provided arguments length (${A.length}) does not match the required ones (${B.length}).`),B(...A);let E=(B.match(/%[dfijoOs]/g)||[]).length;return c(E===A.length,`Code: ${X}; The provided arguments length (${A.length}) does not match the required ones (${E}).`),A.length===0?B:r(B,...A)}(_,S,$))}toString(){return`${this.name} [${_}]: ${this.message}`}}Object.defineProperties(D.prototype,{name:{value:U.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${_}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),D.prototype.code=_,D.prototype[s]=!0,u[_]=D}function g(_){let S="__node_internal_"+_.name;return Object.defineProperty(_,"name",{value:S}),_}var b=class extends Error{constructor(_="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new u.ERR_INVALID_ARG_TYPE("options","Object",S);super(_,S),this.code="ABORT_ERR",this.name="AbortError"}};f("ERR_ASSERTION","%s",Error),f("ERR_INVALID_ARG_TYPE",(_,S,U)=>{c(typeof _=="string","'name' must be a string"),Array.isArray(S)||(S=[S]);let D="The ";_.endsWith(" argument")?D+=`${_} `:D+=`"${_}" ${_.includes(".")?"property":"argument"} `,D+="must be ";let G=[],$=[],X=[];for(let A of S)c(typeof A=="string","All expected entries have to be of type string"),i.includes(A)?G.push(A.toLowerCase()):a.test(A)?$.push(A):(c(A!=="object",'The value "object" should be written as "Object"'),X.push(A));if($.length>0){let A=G.indexOf("object");A!==-1&&(G.splice(G,A,1),$.push("Object"))}if(G.length>0){switch(G.length){case 1:D+=`of type ${G[0]}`;break;case 2:D+=`one of type ${G[0]} or ${G[1]}`;break;default:{let A=G.pop();D+=`one of type ${G.join(", ")}, or ${A}`}}($.length>0||X.length>0)&&(D+=" or ")}if($.length>0){switch($.length){case 1:D+=`an instance of ${$[0]}`;break;case 2:D+=`an instance of ${$[0]} or ${$[1]}`;break;default:{let A=$.pop();D+=`an instance of ${$.join(", ")}, or ${A}`}}X.length>0&&(D+=" or ")}switch(X.length){case 0:break;case 1:X[0].toLowerCase()!==X[0]&&(D+="an "),D+=`${X[0]}`;break;case 2:D+=`one of ${X[0]} or ${X[1]}`;break;default:{let A=X.pop();D+=`one of ${X.join(", ")}, or ${A}`}}if(U==null)D+=`. Received ${U}`;else if(typeof U=="function"&&U.name)D+=`. Received function ${U.name}`;else if(typeof U=="object"){var B;(B=U.constructor)!==null&&B!==void 0&&B.name?D+=`. Received an instance of ${U.constructor.name}`:D+=`. Received ${n(U,{depth:-1})}`}else{let A=n(U,{colors:!1});A.length>25&&(A=`${A.slice(0,25)}...`),D+=`. Received type ${typeof U} (${A})`}return D},TypeError),f("ERR_INVALID_ARG_VALUE",(_,S,U="is invalid")=>{let D=n(S);return D.length>128&&(D=D.slice(0,128)+"..."),`The ${_.includes(".")?"property":"argument"} '${_}' ${U}. Received ${D}`},TypeError),f("ERR_INVALID_RETURN_VALUE",(_,S,U)=>{var D;return`Expected ${_} to be returned from the "${S}" function but got ${U!=null&&(D=U.constructor)!==null&&D!==void 0&&D.name?`instance of ${U.constructor.name}`:"type "+typeof U}.`},TypeError),f("ERR_MISSING_ARGS",(..._)=>{c(_.length>0,"At least one arg needs to be specified");let S,U=_.length;switch(_=(Array.isArray(_)?_:[_]).map(D=>`"${D}"`).join(" or "),U){case 1:S+=`The ${_[0]} argument`;break;case 2:S+=`The ${_[0]} and ${_[1]} arguments`;break;default:{let D=_.pop();S+=`The ${_.join(", ")}, and ${D} arguments`}}return`${S} must be specified`},TypeError),f("ERR_OUT_OF_RANGE",(_,S,U)=>{let D;return c(S,'Missing "range" argument'),Number.isInteger(U)&&Math.abs(U)>2**32?D=d(String(U)):typeof U=="bigint"?(D=String(U),(U>2n**32n||U<-(2n**32n))&&(D=d(D)),D+="n"):D=n(U),`The value of "${_}" is out of range. It must be ${S}. Received ${D}`},RangeError),f("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),f("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),f("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),f("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),f("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),f("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),f("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),f("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),f("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),f("ERR_STREAM_WRITE_AFTER_END","write after end",Error),f("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:b,aggregateTwoErrors:g(function(_,S){if(_&&S&&_!==S){if(Array.isArray(S.errors))return S.errors.push(_),S;let U=new o([S,_],S.message);return U.code=S.code,U}return _||S}),hideStackFrames:g,codes:u}}),Po=mt((t,e)=>{ht(),pt(),ft();var{ArrayIsArray:r,ArrayPrototypeIncludes:n,ArrayPrototypeJoin:l,ArrayPrototypeMap:o,NumberIsInteger:s,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:u,NumberParseInt:c,ObjectPrototypeHasOwnProperty:d,RegExpPrototypeExec:f,String:g,StringPrototypeToUpperCase:b,StringPrototypeTrim:_}=Xt(),{hideStackFrames:S,codes:{ERR_SOCKET_BAD_PORT:U,ERR_INVALID_ARG_TYPE:D,ERR_INVALID_ARG_VALUE:G,ERR_OUT_OF_RANGE:$,ERR_UNKNOWN_SIGNAL:X}}=we(),{normalizeEncoding:B}=fr(),{isAsyncFunction:A,isArrayBufferView:E}=fr().types,w={},M=/^[0-7]+$/,R=S((H,rt,tt=u,P=a)=>{if(typeof H!="number")throw new D(rt,"number",H);if(!s(H))throw new $(rt,"an integer",H);if(HP)throw new $(rt,`>= ${tt} && <= ${P}`,H)}),nt=S((H,rt,tt=-2147483648,P=2147483647)=>{if(typeof H!="number")throw new D(rt,"number",H);if(!s(H))throw new $(rt,"an integer",H);if(HP)throw new $(rt,`>= ${tt} && <= ${P}`,H)}),st=S((H,rt,tt=!1)=>{if(typeof H!="number")throw new D(rt,"number",H);if(!s(H))throw new $(rt,"an integer",H);let P=tt?1:0,W=4294967295;if(HW)throw new $(rt,`>= ${P} && <= ${W}`,H)});function Z(H,rt){if(typeof H!="string")throw new D(rt,"string",H)}var j=S((H,rt,tt)=>{if(!n(tt,H)){let P="must be one of: "+l(o(tt,W=>typeof W=="string"?`'${W}'`:g(W)),", ");throw new G(rt,H,P)}});function N(H,rt){if(typeof H!="boolean")throw new D(rt,"boolean",H)}function F(H,rt,tt){return H!=null&&d(H,rt)?H[rt]:tt}var it=S((H,rt,tt=null)=>{let P=F(tt,"allowArray",!1),W=F(tt,"allowFunction",!1);if(!F(tt,"nullable",!1)&&H===null||!P&&r(H)||typeof H!="object"&&(!W||typeof H!="function"))throw new D(rt,"Object",H)}),J=S((H,rt)=>{if(H!=null&&typeof H!="object"&&typeof H!="function")throw new D(rt,"a dictionary",H)}),Y=S((H,rt,tt=0)=>{if(!r(H))throw new D(rt,"Array",H);if(H.length{if(!E(H))throw new D(rt,["Buffer","TypedArray","DataView"],H)}),q=S((H,rt)=>{if(H!==void 0&&(H===null||typeof H!="object"||!("aborted"in H)))throw new D(rt,"AbortSignal",H)}),et=S((H,rt)=>{if(typeof H!="function")throw new D(rt,"Function",H)}),ot=S((H,rt)=>{if(typeof H!="function"||A(H))throw new D(rt,"Function",H)}),at=S((H,rt)=>{if(H!==void 0)throw new D(rt,"undefined",H)}),ut=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function dt(H,rt){if(typeof H>"u"||!f(ut,H))throw new G(rt,H,'must be an array or string of format "; rel=preload; as=style"')}e.exports={isInt32:function(H){return H===(0|H)},isUint32:function(H){return H===H>>>0},parseFileMode:function(H,rt,tt){if(typeof H>"u"&&(H=tt),typeof H=="string"){if(f(M,H)===null)throw new G(rt,H,"must be a 32-bit unsigned integer or an octal string");H=c(H,8)}return st(H,rt),H},validateArray:Y,validateStringArray:function(H,rt){Y(H,rt);for(let tt=0;ttP||(tt!=null||P!=null)&&i(H))throw new $(rt,`${tt!=null?`>= ${tt}`:""}${tt!=null&&P!=null?" && ":""}${P!=null?`<= ${P}`:""}`,H)},validateObject:it,validateOneOf:j,validatePlainFunction:ot,validatePort:function(H,rt="Port",tt=!0){if(typeof H!="number"&&typeof H!="string"||typeof H=="string"&&_(H).length===0||+H!=+H>>>0||H>65535||H===0&&!tt)throw new U(rt,H,tt);return 0|H},validateSignalName:function(H,rt="signal"){if(Z(H,rt),w[H]===void 0)throw w[b(H)]!==void 0?new X(H+" (signals must use all capital letters)"):new X(H)},validateString:Z,validateUint32:st,validateUndefined:at,validateUnion:function(H,rt,tt){if(!n(tt,H))throw new D(rt,`('${l(tt,"|")}')`,H)},validateAbortSignal:q,validateLinkHeaderValue:function(H){if(typeof H=="string")return dt(H,"hints"),H;if(r(H)){let rt=H.length,tt="";if(rt===0)return tt;for(let P=0;P; rel=preload; as=style"')}}}),pn=mt((t,e)=>{ht(),pt(),ft();var r,n,l=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(S){if(r===setTimeout)return setTimeout(S,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(S,0);try{return r(S,0)}catch{try{return r.call(null,S,0)}catch{return r.call(this,S,0)}}}(function(){try{r=typeof setTimeout=="function"?setTimeout:o}catch{r=o}try{n=typeof clearTimeout=="function"?clearTimeout:s}catch{n=s}})();var a,u=[],c=!1,d=-1;function f(){!c||!a||(c=!1,a.length?u=a.concat(u):d=-1,u.length&&g())}function g(){if(!c){var S=i(f);c=!0;for(var U=u.length;U;){for(a=u,u=[];++d1)for(var D=1;D{ht(),pt(),ft();var{Symbol:r,SymbolAsyncIterator:n,SymbolIterator:l,SymbolFor:o}=Xt(),s=r("kDestroyed"),i=r("kIsErrored"),a=r("kIsReadable"),u=r("kIsDisturbed"),c=o("nodejs.webstream.isClosedPromise"),d=o("nodejs.webstream.controllerErrorFunction");function f(w,M=!1){var R;return!(!w||typeof w.pipe!="function"||typeof w.on!="function"||M&&(typeof w.pause!="function"||typeof w.resume!="function")||w._writableState&&((R=w._readableState)===null||R===void 0?void 0:R.readable)===!1||w._writableState&&!w._readableState)}function g(w){var M;return!(!w||typeof w.write!="function"||typeof w.on!="function"||w._readableState&&((M=w._writableState)===null||M===void 0?void 0:M.writable)===!1)}function b(w){return w&&(w._readableState||w._writableState||typeof w.write=="function"&&typeof w.on=="function"||typeof w.pipe=="function"&&typeof w.on=="function")}function _(w){return!(!w||b(w)||typeof w.pipeThrough!="function"||typeof w.getReader!="function"||typeof w.cancel!="function")}function S(w){return!(!w||b(w)||typeof w.getWriter!="function"||typeof w.abort!="function")}function U(w){return!(!w||b(w)||typeof w.readable!="object"||typeof w.writable!="object")}function D(w){if(!b(w))return null;let M=w._writableState,R=w._readableState,nt=M||R;return!!(w.destroyed||w[s]||nt!=null&&nt.destroyed)}function G(w){if(!g(w))return null;if(w.writableEnded===!0)return!0;let M=w._writableState;return(M==null||!M.errored)&&(typeof(M==null?void 0:M.ended)!="boolean"?null:M.ended)}function $(w,M){if(!f(w))return null;let R=w._readableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.endEmitted)!="boolean"?null:!!(R.endEmitted||M===!1&&R.ended===!0&&R.length===0))}function X(w){return w&&w[a]!=null?w[a]:typeof(w==null?void 0:w.readable)!="boolean"?null:!D(w)&&f(w)&&w.readable&&!$(w)}function B(w){return typeof(w==null?void 0:w.writable)!="boolean"?null:!D(w)&&g(w)&&w.writable&&!G(w)}function A(w){return typeof w._closed=="boolean"&&typeof w._defaultKeepAlive=="boolean"&&typeof w._removedConnection=="boolean"&&typeof w._removedContLen=="boolean"}function E(w){return typeof w._sent100=="boolean"&&A(w)}e.exports={kDestroyed:s,isDisturbed:function(w){var M;return!(!w||!((M=w[u])!==null&&M!==void 0?M:w.readableDidRead||w.readableAborted))},kIsDisturbed:u,isErrored:function(w){var M,R,nt,st,Z,j,N,F,it,J;return!(!w||!((M=(R=(nt=(st=(Z=(j=w[i])!==null&&j!==void 0?j:w.readableErrored)!==null&&Z!==void 0?Z:w.writableErrored)!==null&&st!==void 0?st:(N=w._readableState)===null||N===void 0?void 0:N.errorEmitted)!==null&&nt!==void 0?nt:(F=w._writableState)===null||F===void 0?void 0:F.errorEmitted)!==null&&R!==void 0?R:(it=w._readableState)===null||it===void 0?void 0:it.errored)!==null&&M!==void 0?M:(J=w._writableState)!==null&&J!==void 0&&J.errored))},kIsErrored:i,isReadable:X,kIsReadable:a,kIsClosedPromise:c,kControllerErrorFunction:d,isClosed:function(w){if(!b(w))return null;if(typeof w.closed=="boolean")return w.closed;let M=w._writableState,R=w._readableState;return typeof(M==null?void 0:M.closed)=="boolean"||typeof(R==null?void 0:R.closed)=="boolean"?(M==null?void 0:M.closed)||(R==null?void 0:R.closed):typeof w._closed=="boolean"&&A(w)?w._closed:null},isDestroyed:D,isDuplexNodeStream:function(w){return!(!w||typeof w.pipe!="function"||!w._readableState||typeof w.on!="function"||typeof w.write!="function")},isFinished:function(w,M){return b(w)?!!D(w)||!((M==null?void 0:M.readable)!==!1&&X(w)||(M==null?void 0:M.writable)!==!1&&B(w)):null},isIterable:function(w,M){return w!=null&&(M===!0?typeof w[n]=="function":M===!1?typeof w[l]=="function":typeof w[n]=="function"||typeof w[l]=="function")},isReadableNodeStream:f,isReadableStream:_,isReadableEnded:function(w){if(!f(w))return null;if(w.readableEnded===!0)return!0;let M=w._readableState;return!(!M||M.errored)&&(typeof(M==null?void 0:M.ended)!="boolean"?null:M.ended)},isReadableFinished:$,isReadableErrored:function(w){var M,R;return b(w)?w.readableErrored?w.readableErrored:(M=(R=w._readableState)===null||R===void 0?void 0:R.errored)!==null&&M!==void 0?M:null:null},isNodeStream:b,isWebStream:function(w){return _(w)||S(w)||U(w)},isWritable:B,isWritableNodeStream:g,isWritableStream:S,isWritableEnded:G,isWritableFinished:function(w,M){if(!g(w))return null;if(w.writableFinished===!0)return!0;let R=w._writableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.finished)!="boolean"?null:!!(R.finished||M===!1&&R.ended===!0&&R.length===0))},isWritableErrored:function(w){var M,R;return b(w)?w.writableErrored?w.writableErrored:(M=(R=w._writableState)===null||R===void 0?void 0:R.errored)!==null&&M!==void 0?M:null:null},isServerRequest:function(w){var M;return typeof w._consuming=="boolean"&&typeof w._dumped=="boolean"&&((M=w.req)===null||M===void 0?void 0:M.upgradeOrConnect)===void 0},isServerResponse:E,willEmitClose:function(w){if(!b(w))return null;let M=w._writableState,R=w._readableState,nt=M||R;return!nt&&E(w)||!!(nt&&nt.autoDestroy&&nt.emitClose&&nt.closed===!1)},isTransformStream:U}}),Dr=mt((t,e)=>{ht(),pt(),ft();var r=pn(),{AbortError:n,codes:l}=we(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:s}=l,{kEmptyObject:i,once:a}=fr(),{validateAbortSignal:u,validateFunction:c,validateObject:d,validateBoolean:f}=Po(),{Promise:g,PromisePrototypeThen:b}=Xt(),{isClosed:_,isReadable:S,isReadableNodeStream:U,isReadableStream:D,isReadableFinished:G,isReadableErrored:$,isWritable:X,isWritableNodeStream:B,isWritableStream:A,isWritableFinished:E,isWritableErrored:w,isNodeStream:M,willEmitClose:R,kIsClosedPromise:nt}=yr(),st=()=>{};function Z(j,N,F){var it,J;if(arguments.length===2?(F=N,N=i):N==null?N=i:d(N,"options"),c(F,"callback"),u(N.signal,"options.signal"),F=a(F),D(j)||A(j))return function(p,v,O){let x=!1,I=st;if(v.signal)if(I=()=>{x=!0,O.call(p,new n(void 0,{cause:v.signal.reason}))},v.signal.aborted)r.nextTick(I);else{let y=O;O=a((...T)=>{v.signal.removeEventListener("abort",I),y.apply(p,T)}),v.signal.addEventListener("abort",I)}let m=(...y)=>{x||r.nextTick(()=>O.apply(p,y))};return b(p[nt].promise,m,m),st}(j,N,F);if(!M(j))throw new o("stream",["ReadableStream","WritableStream","Stream"],j);let Y=(it=N.readable)!==null&&it!==void 0?it:U(j),k=(J=N.writable)!==null&&J!==void 0?J:B(j),q=j._writableState,et=j._readableState,ot=()=>{j.writable||dt()},at=R(j)&&U(j)===Y&&B(j)===k,ut=E(j,!1),dt=()=>{ut=!0,j.destroyed&&(at=!1),(!at||j.readable&&!Y)&&(!Y||H)&&F.call(j)},H=G(j,!1),rt=()=>{H=!0,j.destroyed&&(at=!1),(!at||j.writable&&!k)&&(!k||ut)&&F.call(j)},tt=p=>{F.call(j,p)},P=_(j),W=()=>{P=!0;let p=w(j)||$(j);return p&&typeof p!="boolean"?F.call(j,p):Y&&!H&&U(j,!0)&&!G(j,!1)?F.call(j,new s):!k||ut||E(j,!1)?void F.call(j):F.call(j,new s)},C=()=>{P=!0;let p=w(j)||$(j);if(p&&typeof p!="boolean")return F.call(j,p);F.call(j)},Q=()=>{j.req.on("finish",dt)};(function(p){return p.setHeader&&typeof p.abort=="function"})(j)?(j.on("complete",dt),at||j.on("abort",W),j.req?Q():j.on("request",Q)):k&&!q&&(j.on("end",ot),j.on("close",ot)),!at&&typeof j.aborted=="boolean"&&j.on("aborted",W),j.on("end",rt),j.on("finish",dt),N.error!==!1&&j.on("error",tt),j.on("close",W),P?r.nextTick(W):q!=null&&q.errorEmitted||et!=null&&et.errorEmitted?at||r.nextTick(C):(!Y&&(!at||S(j))&&(ut||X(j)===!1)||!k&&(!at||X(j))&&(H||S(j)===!1)||et&&j.req&&j.aborted)&&r.nextTick(C);let h=()=>{F=st,j.removeListener("aborted",W),j.removeListener("complete",dt),j.removeListener("abort",W),j.removeListener("request",Q),j.req&&j.req.removeListener("finish",dt),j.removeListener("end",ot),j.removeListener("close",ot),j.removeListener("finish",dt),j.removeListener("end",rt),j.removeListener("error",tt),j.removeListener("close",W)};if(N.signal&&!P){let p=()=>{let v=F;h(),v.call(j,new n(void 0,{cause:N.signal.reason}))};if(N.signal.aborted)r.nextTick(p);else{let v=F;F=a((...O)=>{N.signal.removeEventListener("abort",p),v.apply(j,O)}),N.signal.addEventListener("abort",p)}}return h}e.exports=Z,e.exports.finished=function(j,N){var F;let it=!1;return N===null&&(N=i),(F=N)!==null&&F!==void 0&&F.cleanup&&(f(N.cleanup,"cleanup"),it=N.cleanup),new g((J,Y)=>{let k=Z(j,N,q=>{it&&k(),q?Y(q):J()})})}}),jn=mt((t,e)=>{ht(),pt(),ft();var r=pn(),{aggregateTwoErrors:n,codes:{ERR_MULTIPLE_CALLBACK:l},AbortError:o}=we(),{Symbol:s}=Xt(),{kDestroyed:i,isDestroyed:a,isFinished:u,isServerRequest:c}=yr(),d=s("kDestroy"),f=s("kConstruct");function g(E,w,M){E&&(E.stack,w&&!w.errored&&(w.errored=E),M&&!M.errored&&(M.errored=E))}function b(E,w,M){let R=!1;function nt(st){if(R)return;R=!0;let Z=E._readableState,j=E._writableState;g(st,j,Z),j&&(j.closed=!0),Z&&(Z.closed=!0),typeof M=="function"&&M(st),st?r.nextTick(_,E,st):r.nextTick(S,E)}try{E._destroy(w||null,nt)}catch(st){nt(st)}}function _(E,w){U(E,w),S(E)}function S(E){let w=E._readableState,M=E._writableState;M&&(M.closeEmitted=!0),w&&(w.closeEmitted=!0),(M!=null&&M.emitClose||w!=null&&w.emitClose)&&E.emit("close")}function U(E,w){let M=E._readableState,R=E._writableState;R!=null&&R.errorEmitted||M!=null&&M.errorEmitted||(R&&(R.errorEmitted=!0),M&&(M.errorEmitted=!0),E.emit("error",w))}function D(E,w,M){let R=E._readableState,nt=E._writableState;if(nt!=null&&nt.destroyed||R!=null&&R.destroyed)return this;R!=null&&R.autoDestroy||nt!=null&&nt.autoDestroy?E.destroy(w):w&&(w.stack,nt&&!nt.errored&&(nt.errored=w),R&&!R.errored&&(R.errored=w),M?r.nextTick(U,E,w):U(E,w))}function G(E){let w=!1;function M(R){if(w)return void D(E,R??new l);w=!0;let nt=E._readableState,st=E._writableState,Z=st||nt;nt&&(nt.constructed=!0),st&&(st.constructed=!0),Z.destroyed?E.emit(d,R):R?D(E,R,!0):r.nextTick($,E)}try{E._construct(R=>{r.nextTick(M,R)})}catch(R){r.nextTick(M,R)}}function $(E){E.emit(f)}function X(E){return(E==null?void 0:E.setHeader)&&typeof E.abort=="function"}function B(E){E.emit("close")}function A(E,w){E.emit("error",w),r.nextTick(B,E)}e.exports={construct:function(E,w){if(typeof E._construct!="function")return;let M=E._readableState,R=E._writableState;M&&(M.constructed=!1),R&&(R.constructed=!1),E.once(f,w),!(E.listenerCount(f)>1)&&r.nextTick(G,E)},destroyer:function(E,w){!E||a(E)||(!w&&!u(E)&&(w=new o),c(E)?(E.socket=null,E.destroy(w)):X(E)?E.abort():X(E.req)?E.req.abort():typeof E.destroy=="function"?E.destroy(w):typeof E.close=="function"?E.close():w?r.nextTick(A,E,w):r.nextTick(B,E),E.destroyed||(E[i]=!0))},destroy:function(E,w){let M=this._readableState,R=this._writableState,nt=R||M;return R!=null&&R.destroyed||M!=null&&M.destroyed?(typeof w=="function"&&w(),this):(g(E,R,M),R&&(R.destroyed=!0),M&&(M.destroyed=!0),nt.constructed?b(this,E,w):this.once(d,function(st){b(this,n(st,E),w)}),this)},undestroy:function(){let E=this._readableState,w=this._writableState;E&&(E.constructed=!0,E.closed=!1,E.closeEmitted=!1,E.destroyed=!1,E.errored=null,E.errorEmitted=!1,E.reading=!1,E.ended=E.readable===!1,E.endEmitted=E.readable===!1),w&&(w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1)},errorOrDestroy:D}});function Lt(){Lt.init.call(this)}function Yi(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function ep(t){return t._maxListeners===void 0?Lt.defaultMaxListeners:t._maxListeners}function ic(t,e,r,n){var l,o,s;if(Yi(r),(o=t._events)===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(l=ep(t))>0&&s.length>l&&!s.warned){s.warned=!0;var i=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");i.name="MaxListenersExceededWarning",i.emitter=t,i.type=e,i.count=s.length}return t}function t0(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function oc(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},l=t0.bind(n);return l.listener=r,n.wrapFn=l,l}function sc(t,e,r){var n=t._events;if(n===void 0)return[];var l=n[e];return l===void 0?[]:typeof l=="function"?r?[l.listener||l]:[l]:r?function(o){for(var s=new Array(o.length),i=0;i{ht(),pt(),ft(),Hr=typeof Reflect=="object"?Reflect:null,cs=Hr&&typeof Hr.apply=="function"?Hr.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)},uc=Hr&&typeof Hr.ownKeys=="function"?Hr.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)},hs=Number.isNaN||function(t){return t!=t},lc=Lt,Lt.EventEmitter=Lt,Lt.prototype._events=void 0,Lt.prototype._eventsCount=0,Lt.prototype._maxListeners=void 0,fs=10,Object.defineProperty(Lt,"defaultMaxListeners",{enumerable:!0,get:function(){return fs},set:function(t){if(typeof t!="number"||t<0||hs(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");fs=t}}),Lt.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Lt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||hs(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},Lt.prototype.getMaxListeners=function(){return ep(this)},Lt.prototype.emit=function(t){for(var e=[],r=1;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var i=l[t];if(i===void 0)return!1;if(typeof i=="function")cs(i,this,e);else{var a=i.length,u=rp(i,a);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,l=o;break}if(l<0)return this;l===0?r.shift():function(i,a){for(;a+1=0;n--)this.removeListener(t,e[n]);return this},Lt.prototype.listeners=function(t){return sc(this,t,!0)},Lt.prototype.rawListeners=function(t){return sc(this,t,!1)},Lt.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):ac.call(t,e)},Lt.prototype.listenerCount=ac,Lt.prototype.eventNames=function(){return this._eventsCount>0?uc(this._events):[]},(Ie=lc).EventEmitter,Ie.defaultMaxListeners,Ie.init,Ie.listenerCount,Ie.EventEmitter,Ie.defaultMaxListeners,Ie.init,Ie.listenerCount}),dn={};fn(dn,{EventEmitter:()=>np,default:()=>Ie,defaultMaxListeners:()=>ip,init:()=>op,listenerCount:()=>sp,on:()=>ap,once:()=>lp});var np,ip,op,sp,ap,lp,Un=ne(()=>{ht(),pt(),ft(),cc(),cc(),Ie.once=function(t,e){return new Promise((r,n)=>{function l(...s){o!==void 0&&t.removeListener("error",o),r(s)}let o;e!=="error"&&(o=s=>{t.removeListener(name,l),n(s)},t.once("error",o)),t.once(e,l)})},Ie.on=function(t,e){let r=[],n=[],l=null,o=!1,s={async next(){let u=r.shift();if(u)return createIterResult(u,!1);if(l){let c=Promise.reject(l);return l=null,c}return o?createIterResult(void 0,!0):new Promise((c,d)=>n.push({resolve:c,reject:d}))},async return(){t.removeListener(e,i),t.removeListener("error",a),o=!0;for(let u of n)u.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(u){l=u,t.removeListener(e,i),t.removeListener("error",a)},[Symbol.asyncIterator](){return this}};return t.on(e,i),t.on("error",a),s;function i(...u){let c=n.shift();c?c.resolve(createIterResult(u,!1)):r.push(u)}function a(u){o=!0;let c=n.shift();c?c.reject(u):l=u,s.return()}},{EventEmitter:np,defaultMaxListeners:ip,init:op,listenerCount:sp,on:ap,once:lp}=Ie}),Rl=mt((t,e)=>{ht(),pt(),ft();var{ArrayIsArray:r,ObjectSetPrototypeOf:n}=Xt(),{EventEmitter:l}=(Un(),Dt(dn));function o(i){l.call(this,i)}function s(i,a,u){if(typeof i.prependListener=="function")return i.prependListener(a,u);i._events&&i._events[a]?r(i._events[a])?i._events[a].unshift(u):i._events[a]=[u,i._events[a]]:i.on(a,u)}n(o.prototype,l.prototype),n(o,l),o.prototype.pipe=function(i,a){let u=this;function c(U){i.writable&&i.write(U)===!1&&u.pause&&u.pause()}function d(){u.readable&&u.resume&&u.resume()}u.on("data",c),i.on("drain",d),!i._isStdio&&(!a||a.end!==!1)&&(u.on("end",g),u.on("close",b));let f=!1;function g(){f||(f=!0,i.end())}function b(){f||(f=!0,typeof i.destroy=="function"&&i.destroy())}function _(U){S(),l.listenerCount(this,"error")===0&&this.emit("error",U)}function S(){u.removeListener("data",c),i.removeListener("drain",d),u.removeListener("end",g),u.removeListener("close",b),u.removeListener("error",_),i.removeListener("error",_),u.removeListener("end",S),u.removeListener("close",S),i.removeListener("close",S)}return s(u,"error",_),s(i,"error",_),u.on("end",S),u.on("close",S),i.on("close",S),i.emit("pipe",u),i},e.exports={Stream:o,prependListener:s}}),Bo=mt((t,e)=>{ht(),pt(),ft();var{AbortError:r,codes:n}=we(),{isNodeStream:l,isWebStream:o,kControllerErrorFunction:s}=yr(),i=Dr(),{ERR_INVALID_ARG_TYPE:a}=n;e.exports.addAbortSignal=function(u,c){if(((d,f)=>{if(typeof d!="object"||!("aborted"in d))throw new a(f,"AbortSignal",d)})(u,"signal"),!l(c)&&!o(c))throw new a("stream",["ReadableStream","WritableStream","Stream"],c);return e.exports.addAbortSignalNoValidate(u,c)},e.exports.addAbortSignalNoValidate=function(u,c){if(typeof u!="object"||!("aborted"in u))return c;let d=l(c)?()=>{c.destroy(new r(void 0,{cause:u.reason}))}:()=>{c[s](new r(void 0,{cause:u.reason}))};return u.aborted?d():(u.addEventListener("abort",d),i(c,()=>u.removeEventListener("abort",d))),c}}),e0=mt((t,e)=>{ht(),pt(),ft();var{StringPrototypeSlice:r,SymbolIterator:n,TypedArrayPrototypeSet:l,Uint8Array:o}=Xt(),{Buffer:s}=(oe(),Dt(ie)),{inspect:i}=fr();e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(a){let u={data:a,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length}unshift(a){let u={data:a,next:this.head};this.length===0&&(this.tail=u),this.head=u,++this.length}shift(){if(this.length===0)return;let a=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,a}clear(){this.head=this.tail=null,this.length=0}join(a){if(this.length===0)return"";let u=this.head,c=""+u.data;for(;(u=u.next)!==null;)c+=a+u.data;return c}concat(a){if(this.length===0)return s.alloc(0);let u=s.allocUnsafe(a>>>0),c=this.head,d=0;for(;c;)l(u,c.data,d),d+=c.data.length,c=c.next;return u}consume(a,u){let c=this.head.data;if(af.length)){a===f.length?(u+=f,++d,c.next?this.head=c.next:this.head=this.tail=null):(u+=r(f,0,a),this.head=c,c.data=r(f,a));break}u+=f,a-=f.length,++d}while((c=c.next)!==null);return this.length-=d,u}_getBuffer(a){let u=s.allocUnsafe(a),c=a,d=this.head,f=0;do{let g=d.data;if(!(a>g.length)){a===g.length?(l(u,g,c-a),++f,d.next?this.head=d.next:this.head=this.tail=null):(l(u,new o(g.buffer,g.byteOffset,a),c-a),this.head=d,d.data=g.slice(a));break}l(u,g,c-a),a-=g.length,++f}while((d=d.next)!==null);return this.length-=f,u}[Symbol.for("nodejs.util.inspect.custom")](a,u){return i(this,{...u,depth:0,customInspect:!1})}}}),Pl=mt((t,e)=>{ht(),pt(),ft();var{MathFloor:r,NumberIsInteger:n}=Xt(),{ERR_INVALID_ARG_VALUE:l}=we().codes;function o(s){return s?16:16384}e.exports={getHighWaterMark:function(s,i,a,u){let c=function(d,f,g){return d.highWaterMark!=null?d.highWaterMark:f?d[g]:null}(i,u,a);if(c!=null){if(!n(c)||c<0)throw new l(u?`options.${a}`:"options.highWaterMark",c);return r(c)}return o(s.objectMode)},getDefaultHighWaterMark:o}});function hc(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return r===-1&&(r=e),[r,r===e?0:4-r%4]}function r0(t,e,r){for(var n,l,o=[],s=e;s>18&63]+je[l>>12&63]+je[l>>6&63]+je[63&l]);return o.join("")}function ur(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,gt.prototype),e}function gt(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Da(t)}return up(t,e,r)}function up(t,e,r){if(typeof t=="string")return function(o,s){if(typeof s=="string"&&s!==""||(s="utf8"),!gt.isEncoding(s))throw new TypeError("Unknown encoding: "+s);var i=0|hp(o,s),a=ur(i),u=a.write(o,s);return u!==i&&(a=a.slice(0,u)),a}(t,e);if(ArrayBuffer.isView(t))return ps(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(cr(t,ArrayBuffer)||t&&cr(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(cr(t,SharedArrayBuffer)||t&&cr(t.buffer,SharedArrayBuffer)))return function(o,s,i){if(s<0||o.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function hp(t,e){if(gt.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||cr(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;for(var l=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Fa(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return gp(t).length;default:if(l)return n?-1:Fa(t).length;e=(""+e).toLowerCase(),l=!0}}function n0(t,e,r){var n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return f0(this,e,r);case"utf8":case"utf-8":return pp(this,e,r);case"ascii":return c0(this,e,r);case"latin1":case"binary":return h0(this,e,r);case"base64":return u0(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p0(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function zr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function fc(t,e,r,n,l){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Ml(r=+r)&&(r=l?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(l)return-1;r=t.length-1}else if(r<0){if(!l)return-1;r=0}if(typeof e=="string"&&(e=gt.from(e,n)),gt.isBuffer(e))return e.length===0?-1:pc(t,e,r,n,l);if(typeof e=="number")return e&=255,typeof Uint8Array.prototype.indexOf=="function"?l?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):pc(t,[e],r,n,l);throw new TypeError("val must be string, number or Buffer")}function pc(t,e,r,n,l){var o,s=1,i=t.length,a=e.length;if(n!==void 0&&((n=String(n).toLowerCase())==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,i/=2,a/=2,r/=2}function u(g,b){return s===1?g[b]:g.readUInt16BE(b*s)}if(l){var c=-1;for(o=r;oi&&(r=i-a),o=r;o>=0;o--){for(var d=!0,f=0;fl&&(n=l):n=l;var o=e.length;n>o/2&&(n=o/2);for(var s=0;s>8,a=s%256,u.push(a),u.push(i);return u}(e,t.length-r),t,r,n)}function u0(t,e,r){return e===0&&r===t.length?fo.fromByteArray(t):fo.fromByteArray(t.slice(e,r))}function pp(t,e,r){r=Math.min(t.length,r);for(var n=[],l=e;l239?4:u>223?3:u>191?2:1;if(l+d<=r)switch(d){case 1:u<128&&(c=u);break;case 2:(192&(o=t[l+1]))==128&&(a=(31&u)<<6|63&o)>127&&(c=a);break;case 3:o=t[l+1],s=t[l+2],(192&o)==128&&(192&s)==128&&(a=(15&u)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:o=t[l+1],s=t[l+2],i=t[l+3],(192&o)==128&&(192&s)==128&&(192&i)==128&&(a=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&i)>65535&&a<1114112&&(c=a)}c===null?(c=65533,d=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),l+=d}return function(f){var g=f.length;if(g<=4096)return String.fromCharCode.apply(String,f);for(var b="",_=0;_n)&&(r=n);for(var l="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function ge(t,e,r,n,l,o){if(!gt.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>l||et.length)throw new RangeError("Index out of range")}function dp(t,e,r,n,l,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function dc(t,e,r,n,l){return e=+e,r>>>=0,l||dp(t,0,r,4),tn.write(t,e,r,n,23,4),r+4}function gc(t,e,r,n,l){return e=+e,r>>>=0,l||dp(t,0,r,8),tn.write(t,e,r,n,52,8),r+8}function Fa(t,e){var r;e=e||1/0;for(var n=t.length,l=null,o=[],s=0;s55295&&r<57344){if(!l){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}l=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),l=r;continue}r=65536+(l-55296<<10|r-56320)}else l&&(e-=3)>-1&&o.push(239,191,189);if(l=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function gp(t){return fo.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(mp,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(t))}function Mo(t,e,r,n){for(var l=0;l=e.length||l>=t.length);++l)e[l+r]=t[l];return l}function cr(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Ml(t){return t!=t}function mc(t,e){for(var r in t)e[r]=t[r]}function Kr(t,e,r){return $e(t,e,r)}function qn(t){var e;switch(this.encoding=function(r){var n=function(l){if(!l)return"utf8";for(var o;;)switch(l){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return l;default:if(o)return;l=(""+l).toLowerCase(),o=!0}}(r);if(typeof n!="string"&&(po.isEncoding===Wa||!Wa(r)))throw new Error("Unknown encoding: "+r);return n||r}(t),this.encoding){case"utf16le":this.text=g0,this.end=m0,e=4;break;case"utf8":this.fillLast=d0,e=4;break;case"base64":this.text=y0,this.end=b0,e=3;break;default:return this.write=v0,void(this.end=w0)}this.lastNeed=0,this.lastTotal=0,this.lastChar=po.allocUnsafe(e)}function ds(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function d0(t){var e=this.lastTotal-this.lastNeed,r=function(n,l){if((192&l[0])!=128)return n.lastNeed=0,"�";if(n.lastNeed>1&&l.length>1){if((192&l[1])!=128)return n.lastNeed=1,"�";if(n.lastNeed>2&&l.length>2&&(192&l[2])!=128)return n.lastNeed=2,"�"}}(this,t);return r!==void 0?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function g0(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function m0(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function y0(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function b0(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function v0(t){return t.toString(this.encoding)}function w0(t){return t&&t.length?this.write(t):""}var yc,je,Ee,bc,gs,Gr,vc,We,fo,tn,ms,mp,yp,Hn,Mi,$e,An,po,Wa,wc=ne(()=>{for(ht(),pt(),ft(),yc={byteLength:function(t){var e=hc(t),r=e[0],n=e[1];return 3*(r+n)/4-n},toByteArray:function(t){var e,r,n=hc(t),l=n[0],o=n[1],s=new bc(function(u,c,d){return 3*(c+d)/4-d}(0,l,o)),i=0,a=o>0?l-4:l;for(r=0;r>16&255,s[i++]=e>>8&255,s[i++]=255&e;return o===2&&(e=Ee[t.charCodeAt(r)]<<2|Ee[t.charCodeAt(r+1)]>>4,s[i++]=255&e),o===1&&(e=Ee[t.charCodeAt(r)]<<10|Ee[t.charCodeAt(r+1)]<<4|Ee[t.charCodeAt(r+2)]>>2,s[i++]=e>>8&255,s[i++]=255&e),s},fromByteArray:function(t){for(var e,r=t.length,n=r%3,l=[],o=0,s=r-n;os?s:o+16383));return n===1?(e=t[r-1],l.push(je[e>>2]+je[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],l.push(je[e>>10]+je[e>>4&63]+je[e<<2&63]+"=")),l.join("")}},je=[],Ee=[],bc=typeof Uint8Array<"u"?Uint8Array:Array,gs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Gr=0,64;Gr<64;++Gr)je[Gr]=gs[Gr],Ee[gs.charCodeAt(Gr)]=Gr;Ee[45]=62,Ee[95]=63,vc={read:function(t,e,r,n,l){var o,s,i=8*l-n-1,a=(1<>1,c=-7,d=r?l-1:0,f=r?-1:1,g=t[e+d];for(d+=f,o=g&(1<<-c)-1,g>>=-c,c+=i;c>0;o=256*o+t[e+d],d+=f,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=n;c>0;s=256*s+t[e+d],d+=f,c-=8);if(o===0)o=1-u;else{if(o===a)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=u}return(g?-1:1)*s*Math.pow(2,o-n)},write:function(t,e,r,n,l,o){var s,i,a,u=8*o-l-1,c=(1<>1,f=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,b=n?1:-1,_=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(i=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+d>=1?f/a:f*Math.pow(2,1-d))*a>=2&&(s++,a/=2),s+d>=c?(i=0,s=c):s+d>=1?(i=(e*a-1)*Math.pow(2,l),s+=d):(i=e*Math.pow(2,d-1)*Math.pow(2,l),s=0));l>=8;t[r+g]=255&i,g+=b,i/=256,l-=8);for(s=s<0;t[r+g]=255&s,g+=b,s/=256,u-=8);t[r+g-b]|=128*_}},We={},fo=yc,tn=vc,ms=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null,We.Buffer=gt,We.SlowBuffer=function(t){return+t!=t&&(t=0),gt.alloc(+t)},We.INSPECT_MAX_BYTES=50,We.kMaxLength=2147483647,gt.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch{return!1}}(),gt.TYPED_ARRAY_SUPPORT||typeof console>"u",Object.defineProperty(gt.prototype,"parent",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.buffer}}),Object.defineProperty(gt.prototype,"offset",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.byteOffset}}),gt.poolSize=8192,gt.from=function(t,e,r){return up(t,e,r)},Object.setPrototypeOf(gt.prototype,Uint8Array.prototype),Object.setPrototypeOf(gt,Uint8Array),gt.alloc=function(t,e,r){return l=e,o=r,cp(n=t),n<=0?ur(n):l!==void 0?typeof o=="string"?ur(n).fill(l,o):ur(n).fill(l):ur(n);var n,l,o},gt.allocUnsafe=function(t){return Da(t)},gt.allocUnsafeSlow=function(t){return Da(t)},gt.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==gt.prototype},gt.compare=function(t,e){if(cr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),cr(e,Uint8Array)&&(e=gt.from(e,e.offset,e.byteLength)),!gt.isBuffer(t)||!gt.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,l=0,o=Math.min(r,n);le&&(t+=" ... "),""},ms&&(gt.prototype[ms]=gt.prototype.inspect),gt.prototype.compare=function(t,e,r,n,l){if(cr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),!gt.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0&&(e=0),r===void 0&&(r=t?t.length:0),n===void 0&&(n=0),l===void 0&&(l=this.length),e<0||r>t.length||n<0||l>this.length)throw new RangeError("out of range index");if(n>=l&&e>=r)return 0;if(n>=l)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(l>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),i=Math.min(o,s),a=this.slice(n,l),u=t.slice(e,r),c=0;c>>=0,isFinite(r)?(r>>>=0,n===void 0&&(n="utf8")):(n=r,r=void 0)}var l=this.length-e;if((r===void 0||r>l)&&(r=l),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return i0(this,t,e,r);case"utf8":case"utf-8":return o0(this,t,e,r);case"ascii":return fp(this,t,e,r);case"latin1":case"binary":return s0(this,t,e,r);case"base64":return a0(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return l0(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},gt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},gt.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=e===void 0?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||Zt(t,e,this.length);for(var n=this[t],l=1,o=0;++o>>=0,e>>>=0,r||Zt(t,e,this.length);for(var n=this[t+--e],l=1;e>0&&(l*=256);)n+=this[t+--e]*l;return n},gt.prototype.readUInt8=function(t,e){return t>>>=0,e||Zt(t,1,this.length),this[t]},gt.prototype.readUInt16LE=function(t,e){return t>>>=0,e||Zt(t,2,this.length),this[t]|this[t+1]<<8},gt.prototype.readUInt16BE=function(t,e){return t>>>=0,e||Zt(t,2,this.length),this[t]<<8|this[t+1]},gt.prototype.readUInt32LE=function(t,e){return t>>>=0,e||Zt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},gt.prototype.readUInt32BE=function(t,e){return t>>>=0,e||Zt(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},gt.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||Zt(t,e,this.length);for(var n=this[t],l=1,o=0;++o=(l*=128)&&(n-=Math.pow(2,8*e)),n},gt.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||Zt(t,e,this.length);for(var n=e,l=1,o=this[t+--n];n>0&&(l*=256);)o+=this[t+--n]*l;return o>=(l*=128)&&(o-=Math.pow(2,8*e)),o},gt.prototype.readInt8=function(t,e){return t>>>=0,e||Zt(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},gt.prototype.readInt16LE=function(t,e){t>>>=0,e||Zt(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt16BE=function(t,e){t>>>=0,e||Zt(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt32LE=function(t,e){return t>>>=0,e||Zt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},gt.prototype.readInt32BE=function(t,e){return t>>>=0,e||Zt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},gt.prototype.readFloatLE=function(t,e){return t>>>=0,e||Zt(t,4,this.length),tn.read(this,t,!0,23,4)},gt.prototype.readFloatBE=function(t,e){return t>>>=0,e||Zt(t,4,this.length),tn.read(this,t,!1,23,4)},gt.prototype.readDoubleLE=function(t,e){return t>>>=0,e||Zt(t,8,this.length),tn.read(this,t,!0,52,8)},gt.prototype.readDoubleBE=function(t,e){return t>>>=0,e||Zt(t,8,this.length),tn.read(this,t,!1,52,8)},gt.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||ge(this,t,e,r,Math.pow(2,8*r)-1,0);var l=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n||ge(this,t,e,r,Math.pow(2,8*r)-1,0);var l=r-1,o=1;for(this[e+l]=255&t;--l>=0&&(o*=256);)this[e+l]=t/o&255;return e+r},gt.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,1,255,0),this[e]=255&t,e+1},gt.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},gt.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var l=Math.pow(2,8*r-1);ge(this,t,e,r,l-1,-l)}var o=0,s=1,i=0;for(this[e]=255&t;++o>>=0,!n){var l=Math.pow(2,8*r-1);ge(this,t,e,r,l-1,-l)}var o=r-1,s=1,i=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&i===0&&this[e+o+1]!==0&&(i=1),this[e+o]=(t/s|0)-i&255;return e+r},gt.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},gt.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},gt.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||ge(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeFloatLE=function(t,e,r){return dc(this,t,e,!0,r)},gt.prototype.writeFloatBE=function(t,e,r){return dc(this,t,e,!1,r)},gt.prototype.writeDoubleLE=function(t,e,r){return gc(this,t,e,!0,r)},gt.prototype.writeDoubleBE=function(t,e,r){return gc(this,t,e,!1,r)},gt.prototype.copy=function(t,e,r,n){if(!gt.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||n===0||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return l},gt.prototype.fill=function(t,e,r,n){if(typeof t=="string"){if(typeof e=="string"?(n=e,e=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!gt.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(t.length===1){var l=t.charCodeAt(0);(n==="utf8"&&l<128||n==="latin1")&&(t=l)}}else typeof t=="number"?t&=255:typeof t=="boolean"&&(t=Number(t));if(e<0||this.length>>=0,r=r===void 0?this.length:r>>>0,t||(t=0),typeof t=="number")for(o=e;o=0?(a>0&&(l.lastNeed=a-1),a):--i=0?(a>0&&(l.lastNeed=a-2),a):--i=0?(a>0&&(a===2?a=0:l.lastNeed=a-3),a):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},qn.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length},An.StringDecoder,An.StringDecoder}),bp={};fn(bp,{StringDecoder:()=>vp,default:()=>An});var vp,_0=ne(()=>{ht(),pt(),ft(),wc(),wc(),vp=An.StringDecoder}),wp=mt((t,e)=>{ht(),pt(),ft();var r=pn(),{PromisePrototypeThen:n,SymbolAsyncIterator:l,SymbolIterator:o}=Xt(),{Buffer:s}=(oe(),Dt(ie)),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=we().codes;e.exports=function(u,c,d){let f,g;if(typeof c=="string"||c instanceof s)return new u({objectMode:!0,...d,read(){this.push(c),this.push(null)}});if(c&&c[l])g=!0,f=c[l]();else{if(!c||!c[o])throw new i("iterable",["Iterable"],c);g=!1,f=c[o]()}let b=new u({objectMode:!0,highWaterMark:1,...d}),_=!1;return b._read=function(){_||(_=!0,async function(){for(;;){try{let{value:S,done:U}=g?await f.next():f.next();if(U)b.push(null);else{let D=S&&typeof S.then=="function"?await S:S;if(D===null)throw _=!1,new a;if(b.push(D))continue;_=!1}}catch(S){b.destroy(S)}break}}())},b._destroy=function(S,U){n(async function(D){let G=D!=null,$=typeof f.throw=="function";if(G&&$){let{value:X,done:B}=await f.throw(D);if(await X,B)return}if(typeof f.return=="function"){let{value:X}=await f.return();await X}}(S),()=>r.nextTick(U,S),D=>r.nextTick(U,D||S))},b}}),Lo=mt((t,e)=>{ht(),pt(),ft();var r=pn(),{ArrayPrototypeIndexOf:n,NumberIsInteger:l,NumberIsNaN:o,NumberParseInt:s,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:u,Promise:c,SafeSet:d,SymbolAsyncIterator:f,Symbol:g}=Xt();e.exports=q,q.ReadableState=k;var{EventEmitter:b}=(Un(),Dt(dn)),{Stream:_,prependListener:S}=Rl(),{Buffer:U}=(oe(),Dt(ie)),{addAbortSignal:D}=Bo(),G=Dr(),$=fr().debuglog("stream",m=>{$=m}),X=e0(),B=jn(),{getHighWaterMark:A,getDefaultHighWaterMark:E}=Pl(),{aggregateTwoErrors:w,codes:{ERR_INVALID_ARG_TYPE:M,ERR_METHOD_NOT_IMPLEMENTED:R,ERR_OUT_OF_RANGE:nt,ERR_STREAM_PUSH_AFTER_EOF:st,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:Z}}=we(),{validateObject:j}=Po(),N=g("kPaused"),{StringDecoder:F}=(_0(),Dt(bp)),it=wp();u(q.prototype,_.prototype),u(q,_);var J=()=>{},{errorOrDestroy:Y}=B;function k(m,y,T){typeof T!="boolean"&&(T=y instanceof pr()),this.objectMode=!(!m||!m.objectMode),T&&(this.objectMode=this.objectMode||!(!m||!m.readableObjectMode)),this.highWaterMark=m?A(this,m,"readableHighWaterMark",T):E(!1),this.buffer=new X,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[N]=null,this.errorEmitted=!1,this.emitClose=!m||m.emitClose!==!1,this.autoDestroy=!m||m.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=m&&m.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,m&&m.encoding&&(this.decoder=new F(m.encoding),this.encoding=m.encoding)}function q(m){if(!(this instanceof q))return new q(m);let y=this instanceof pr();this._readableState=new k(m,this,y),m&&(typeof m.read=="function"&&(this._read=m.read),typeof m.destroy=="function"&&(this._destroy=m.destroy),typeof m.construct=="function"&&(this._construct=m.construct),m.signal&&!y&&D(m.signal,this)),_.call(this,m),B.construct(this,()=>{this._readableState.needReadable&&rt(this,this._readableState)})}function et(m,y,T,L){$("readableAddChunk",y);let z,V=m._readableState;if(V.objectMode||(typeof y=="string"?(T=T||V.defaultEncoding,V.encoding!==T&&(L&&V.encoding?y=U.from(y,T).toString(V.encoding):(y=U.from(y,T),T=""))):y instanceof U?T="":_._isUint8Array(y)?(y=_._uint8ArrayToBuffer(y),T=""):y!=null&&(z=new M("chunk",["string","Buffer","Uint8Array"],y))),z)Y(m,z);else if(y===null)V.reading=!1,function(lt,ct){if($("onEofChunk"),!ct.ended){if(ct.decoder){let yt=ct.decoder.end();yt&&yt.length&&(ct.buffer.push(yt),ct.length+=ct.objectMode?1:yt.length)}ct.ended=!0,ct.sync?dt(lt):(ct.needReadable=!1,ct.emittedReadable=!0,H(lt))}}(m,V);else if(V.objectMode||y&&y.length>0)if(L)if(V.endEmitted)Y(m,new Z);else{if(V.destroyed||V.errored)return!1;ot(m,V,y,!0)}else if(V.ended)Y(m,new st);else{if(V.destroyed||V.errored)return!1;V.reading=!1,V.decoder&&!T?(y=V.decoder.write(y),V.objectMode||y.length!==0?ot(m,V,y,!1):rt(m,V)):ot(m,V,y,!1)}else L||(V.reading=!1,rt(m,V));return!V.ended&&(V.length0?(y.multiAwaitDrain?y.awaitDrainWriters.clear():y.awaitDrainWriters=null,y.dataEmitted=!0,m.emit("data",T)):(y.length+=y.objectMode?1:T.length,L?y.buffer.unshift(T):y.buffer.push(T),y.needReadable&&dt(m)),rt(m,y)}q.prototype.destroy=B.destroy,q.prototype._undestroy=B.undestroy,q.prototype._destroy=function(m,y){y(m)},q.prototype[b.captureRejectionSymbol]=function(m){this.destroy(m)},q.prototype.push=function(m,y){return et(this,m,y,!1)},q.prototype.unshift=function(m,y){return et(this,m,y,!0)},q.prototype.isPaused=function(){let m=this._readableState;return m[N]===!0||m.flowing===!1},q.prototype.setEncoding=function(m){let y=new F(m);this._readableState.decoder=y,this._readableState.encoding=this._readableState.decoder.encoding;let T=this._readableState.buffer,L="";for(let z of T)L+=y.write(z);return T.clear(),L!==""&&T.push(L),this._readableState.length=L.length,this};var at;function ut(m,y){return m<=0||y.length===0&&y.ended?0:y.objectMode?1:o(m)?y.flowing&&y.length?y.buffer.first().length:y.length:m<=y.length?m:y.ended?y.length:0}function dt(m){let y=m._readableState;$("emitReadable",y.needReadable,y.emittedReadable),y.needReadable=!1,y.emittedReadable||($("emitReadable",y.flowing),y.emittedReadable=!0,r.nextTick(H,m))}function H(m){let y=m._readableState;$("emitReadable_",y.destroyed,y.length,y.ended),!y.destroyed&&!y.errored&&(y.length||y.ended)&&(m.emit("readable"),y.emittedReadable=!1),y.needReadable=!y.flowing&&!y.ended&&y.length<=y.highWaterMark,Q(m)}function rt(m,y){!y.readingMore&&y.constructed&&(y.readingMore=!0,r.nextTick(tt,m,y))}function tt(m,y){for(;!y.reading&&!y.ended&&(y.length0,y.resumeScheduled&&y[N]===!1?y.flowing=!0:m.listenerCount("data")>0?m.resume():y.readableListening||(y.flowing=null)}function W(m){$("readable nexttick read 0"),m.read(0)}function C(m,y){$("resume",y.reading),y.reading||m.read(0),y.resumeScheduled=!1,m.emit("resume"),Q(m),y.flowing&&!y.reading&&m.read(0)}function Q(m){let y=m._readableState;for($("flow",y.flowing);y.flowing&&m.read()!==null;);}function h(m,y){typeof m.read!="function"&&(m=q.wrap(m,{objectMode:!0}));let T=async function*(L,z){let V=J;function lt(bt){this===L?(V(),V=J):V=bt}L.on("readable",lt);let ct,yt=G(L,{writable:!1},bt=>{ct=bt?w(ct,bt):null,V(),V=J});try{for(;;){let bt=L.destroyed?null:L.read();if(bt!==null)yield bt;else{if(ct)throw ct;if(ct===null)return;await new c(lt)}}}catch(bt){throw ct=w(ct,bt),ct}finally{!ct&&(z==null?void 0:z.destroyOnReturn)===!1||ct!==void 0&&!L._readableState.autoDestroy?(L.off("readable",lt),yt()):B.destroyer(L,null)}}(m,y);return T.stream=m,T}function p(m,y){if(y.length===0)return null;let T;return y.objectMode?T=y.buffer.shift():!m||m>=y.length?(T=y.decoder?y.buffer.join(""):y.buffer.length===1?y.buffer.first():y.buffer.concat(y.length),y.buffer.clear()):T=y.buffer.consume(m,y.decoder),T}function v(m){let y=m._readableState;$("endReadable",y.endEmitted),y.endEmitted||(y.ended=!0,r.nextTick(O,y,m))}function O(m,y){if($("endReadableNT",m.endEmitted,m.length),!m.errored&&!m.closeEmitted&&!m.endEmitted&&m.length===0){if(m.endEmitted=!0,y.emit("end"),y.writable&&y.allowHalfOpen===!1)r.nextTick(x,y);else if(m.autoDestroy){let T=y._writableState;(!T||T.autoDestroy&&(T.finished||T.writable===!1))&&y.destroy()}}}function x(m){m.writable&&!m.writableEnded&&!m.destroyed&&m.end()}function I(){return at===void 0&&(at={}),at}q.prototype.read=function(m){$("read",m),m===void 0?m=NaN:l(m)||(m=s(m,10));let y=this._readableState,T=m;if(m>y.highWaterMark&&(y.highWaterMark=function(V){if(V>1073741824)throw new nt("size","<= 1GiB",V);return V--,V|=V>>>1,V|=V>>>2,V|=V>>>4,V|=V>>>8,V|=V>>>16,++V}(m)),m!==0&&(y.emittedReadable=!1),m===0&&y.needReadable&&((y.highWaterMark!==0?y.length>=y.highWaterMark:y.length>0)||y.ended))return $("read: emitReadable",y.length,y.ended),y.length===0&&y.ended?v(this):dt(this),null;if((m=ut(m,y))===0&&y.ended)return y.length===0&&v(this),null;let L,z=y.needReadable;if($("need readable",z),(y.length===0||y.length-m0?p(m,y):null,L===null?(y.needReadable=y.length<=y.highWaterMark,m=0):(y.length-=m,y.multiAwaitDrain?y.awaitDrainWriters.clear():y.awaitDrainWriters=null),y.length===0&&(y.ended||(y.needReadable=!0),T!==m&&y.ended&&v(this)),L!==null&&!y.errorEmitted&&!y.closeEmitted&&(y.dataEmitted=!0,this.emit("data",L)),L},q.prototype._read=function(m){throw new R("_read()")},q.prototype.pipe=function(m,y){let T=this,L=this._readableState;L.pipes.length===1&&(L.multiAwaitDrain||(L.multiAwaitDrain=!0,L.awaitDrainWriters=new d(L.awaitDrainWriters?[L.awaitDrainWriters]:[]))),L.pipes.push(m),$("pipe count=%d opts=%j",L.pipes.length,y);let z=y&&y.end===!1||m===r.stdout||m===r.stderr?Tt:lt;function V(kt,vt){$("onunpipe"),kt===T&&vt&&vt.hasUnpiped===!1&&(vt.hasUnpiped=!0,$("cleanup"),m.removeListener("close",xt),m.removeListener("finish",_t),ct&&m.removeListener("drain",ct),m.removeListener("error",Ot),m.removeListener("unpipe",V),T.removeListener("end",lt),T.removeListener("end",Tt),T.removeListener("data",wt),yt=!0,ct&&L.awaitDrainWriters&&(!m._writableState||m._writableState.needDrain)&&ct())}function lt(){$("onend"),m.end()}L.endEmitted?r.nextTick(z):T.once("end",z),m.on("unpipe",V);let ct,yt=!1;function bt(){yt||(L.pipes.length===1&&L.pipes[0]===m?($("false write response, pause",0),L.awaitDrainWriters=m,L.multiAwaitDrain=!1):L.pipes.length>1&&L.pipes.includes(m)&&($("false write response, pause",L.awaitDrainWriters.size),L.awaitDrainWriters.add(m)),T.pause()),ct||(ct=function(kt,vt){return function(){let Ct=kt._readableState;Ct.awaitDrainWriters===vt?($("pipeOnDrain",1),Ct.awaitDrainWriters=null):Ct.multiAwaitDrain&&($("pipeOnDrain",Ct.awaitDrainWriters.size),Ct.awaitDrainWriters.delete(vt)),(!Ct.awaitDrainWriters||Ct.awaitDrainWriters.size===0)&&kt.listenerCount("data")&&kt.resume()}}(T,m),m.on("drain",ct))}function wt(kt){$("ondata");let vt=m.write(kt);$("dest.write",vt),vt===!1&&bt()}function Ot(kt){if($("onerror",kt),Tt(),m.removeListener("error",Ot),m.listenerCount("error")===0){let vt=m._writableState||m._readableState;vt&&!vt.errorEmitted?Y(m,kt):m.emit("error",kt)}}function xt(){m.removeListener("finish",_t),Tt()}function _t(){$("onfinish"),m.removeListener("close",xt),Tt()}function Tt(){$("unpipe"),T.unpipe(m)}return T.on("data",wt),S(m,"error",Ot),m.once("close",xt),m.once("finish",_t),m.emit("pipe",T),m.writableNeedDrain===!0?L.flowing&&bt():L.flowing||($("pipe resume"),T.resume()),m},q.prototype.unpipe=function(m){let y=this._readableState;if(y.pipes.length===0)return this;if(!m){let L=y.pipes;y.pipes=[],this.pause();for(let z=0;z0,L.flowing!==!1&&this.resume()):m==="readable"&&!L.endEmitted&&!L.readableListening&&(L.readableListening=L.needReadable=!0,L.flowing=!1,L.emittedReadable=!1,$("on readable",L.length,L.reading),L.length?dt(this):L.reading||r.nextTick(W,this)),T},q.prototype.addListener=q.prototype.on,q.prototype.removeListener=function(m,y){let T=_.prototype.removeListener.call(this,m,y);return m==="readable"&&r.nextTick(P,this),T},q.prototype.off=q.prototype.removeListener,q.prototype.removeAllListeners=function(m){let y=_.prototype.removeAllListeners.apply(this,arguments);return(m==="readable"||m===void 0)&&r.nextTick(P,this),y},q.prototype.resume=function(){let m=this._readableState;return m.flowing||($("resume"),m.flowing=!m.readableListening,function(y,T){T.resumeScheduled||(T.resumeScheduled=!0,r.nextTick(C,y,T))}(this,m)),m[N]=!1,this},q.prototype.pause=function(){return $("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&($("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[N]=!0,this},q.prototype.wrap=function(m){let y=!1;m.on("data",L=>{!this.push(L)&&m.pause&&(y=!0,m.pause())}),m.on("end",()=>{this.push(null)}),m.on("error",L=>{Y(this,L)}),m.on("close",()=>{this.destroy()}),m.on("destroy",()=>{this.destroy()}),this._read=()=>{y&&m.resume&&(y=!1,m.resume())};let T=a(m);for(let L=1;L{ht(),pt(),ft();var r=pn(),{ArrayPrototypeSlice:n,Error:l,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:s,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:u,Symbol:c,SymbolHasInstance:d}=Xt();e.exports=F,F.WritableState=j;var{EventEmitter:f}=(Un(),Dt(dn)),g=Rl().Stream,{Buffer:b}=(oe(),Dt(ie)),_=jn(),{addAbortSignal:S}=Bo(),{getHighWaterMark:U,getDefaultHighWaterMark:D}=Pl(),{ERR_INVALID_ARG_TYPE:G,ERR_METHOD_NOT_IMPLEMENTED:$,ERR_MULTIPLE_CALLBACK:X,ERR_STREAM_CANNOT_PIPE:B,ERR_STREAM_DESTROYED:A,ERR_STREAM_ALREADY_FINISHED:E,ERR_STREAM_NULL_VALUES:w,ERR_STREAM_WRITE_AFTER_END:M,ERR_UNKNOWN_ENCODING:R}=we().codes,{errorOrDestroy:nt}=_;function st(){}a(F.prototype,g.prototype),a(F,g);var Z=c("kOnFinished");function j(C,Q,h){typeof h!="boolean"&&(h=Q instanceof pr()),this.objectMode=!(!C||!C.objectMode),h&&(this.objectMode=this.objectMode||!(!C||!C.writableObjectMode)),this.highWaterMark=C?U(this,C,"writableHighWaterMark",h):D(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let p=!(!C||C.decodeStrings!==!1);this.decodeStrings=!p,this.defaultEncoding=C&&C.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=k.bind(void 0,Q),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,N(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!C||C.emitClose!==!1,this.autoDestroy=!C||C.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[Z]=[]}function N(C){C.buffered=[],C.bufferedIndex=0,C.allBuffers=!0,C.allNoop=!0}function F(C){let Q=this instanceof pr();if(!Q&&!o(F,this))return new F(C);this._writableState=new j(C,this,Q),C&&(typeof C.write=="function"&&(this._write=C.write),typeof C.writev=="function"&&(this._writev=C.writev),typeof C.destroy=="function"&&(this._destroy=C.destroy),typeof C.final=="function"&&(this._final=C.final),typeof C.construct=="function"&&(this._construct=C.construct),C.signal&&S(C.signal,this)),g.call(this,C),_.construct(this,()=>{let h=this._writableState;h.writing||at(this,h),H(this,h)})}function it(C,Q,h,p){let v,O=C._writableState;if(typeof h=="function")p=h,h=O.defaultEncoding;else{if(h){if(h!=="buffer"&&!b.isEncoding(h))throw new R(h)}else h=O.defaultEncoding;typeof p!="function"&&(p=st)}if(Q===null)throw new w;if(!O.objectMode)if(typeof Q=="string")O.decodeStrings!==!1&&(Q=b.from(Q,h),h="buffer");else if(Q instanceof b)h="buffer";else{if(!g._isUint8Array(Q))throw new G("chunk",["string","Buffer","Uint8Array"],Q);Q=g._uint8ArrayToBuffer(Q),h="buffer"}return O.ending?v=new M:O.destroyed&&(v=new A("write")),v?(r.nextTick(p,v),nt(C,v,!0),v):(O.pendingcb++,function(x,I,m,y,T){let L=I.objectMode?1:m.length;I.length+=L;let z=I.lengthh.bufferedIndex&&at(C,h),p?h.afterWriteTickInfo!==null&&h.afterWriteTickInfo.cb===v?h.afterWriteTickInfo.count++:(h.afterWriteTickInfo={count:1,cb:v,stream:C,state:h},r.nextTick(q,h.afterWriteTickInfo)):et(C,h,1,v))):nt(C,new X)}function q({stream:C,state:Q,count:h,cb:p}){return Q.afterWriteTickInfo=null,et(C,Q,h,p)}function et(C,Q,h,p){for(!Q.ending&&!C.destroyed&&Q.length===0&&Q.needDrain&&(Q.needDrain=!1,C.emit("drain"));h-- >0;)Q.pendingcb--,p();Q.destroyed&&ot(Q),H(C,Q)}function ot(C){if(C.writing)return;for(let v=C.bufferedIndex;v1&&C._writev){Q.pendingcb-=O-1;let I=Q.allNoop?st:y=>{for(let T=x;T256?(h.splice(0,x),Q.bufferedIndex=0):Q.bufferedIndex=x}Q.bufferProcessing=!1}function ut(C){return C.ending&&!C.destroyed&&C.constructed&&C.length===0&&!C.errored&&C.buffered.length===0&&!C.finished&&!C.writing&&!C.errorEmitted&&!C.closeEmitted}function dt(C,Q){!Q.prefinished&&!Q.finalCalled&&(typeof C._final!="function"||Q.destroyed?(Q.prefinished=!0,C.emit("prefinish")):(Q.finalCalled=!0,function(h,p){let v=!1;function O(x){if(v)nt(h,x??X());else if(v=!0,p.pendingcb--,x){let I=p[Z].splice(0);for(let m=0;m{ut(v)?rt(p,v):v.pendingcb--},C,Q)):ut(Q)&&(Q.pendingcb++,rt(C,Q))))}function rt(C,Q){Q.pendingcb--,Q.finished=!0;let h=Q[Z].splice(0);for(let p=0;p{ht(),pt(),ft();var r=pn(),n=(oe(),Dt(ie)),{isReadable:l,isWritable:o,isIterable:s,isNodeStream:i,isReadableNodeStream:a,isWritableNodeStream:u,isDuplexNodeStream:c}=yr(),d=Dr(),{AbortError:f,codes:{ERR_INVALID_ARG_TYPE:g,ERR_INVALID_RETURN_VALUE:b}}=we(),{destroyer:_}=jn(),S=pr(),U=Lo(),{createDeferredPromise:D}=fr(),G=wp(),$=globalThis.Blob||n.Blob,X=typeof $<"u"?function(M){return M instanceof $}:function(M){return!1},B=globalThis.AbortController||Cl().AbortController,{FunctionPrototypeCall:A}=Xt(),E=class extends S{constructor(M){super(M),(M==null?void 0:M.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(M==null?void 0:M.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};function w(M){let R,nt,st,Z,j,N=M.readable&&typeof M.readable.read!="function"?U.wrap(M.readable):M.readable,F=M.writable,it=!!l(N),J=!!o(F);function Y(k){let q=Z;Z=null,q?q(k):k&&j.destroy(k)}return j=new E({readableObjectMode:!(N==null||!N.readableObjectMode),writableObjectMode:!(F==null||!F.writableObjectMode),readable:it,writable:J}),J&&(d(F,k=>{J=!1,k&&_(N,k),Y(k)}),j._write=function(k,q,et){F.write(k,q)?et():R=et},j._final=function(k){F.end(),nt=k},F.on("drain",function(){if(R){let k=R;R=null,k()}}),F.on("finish",function(){if(nt){let k=nt;nt=null,k()}})),it&&(d(N,k=>{it=!1,k&&_(N,k),Y(k)}),N.on("readable",function(){if(st){let k=st;st=null,k()}}),N.on("end",function(){j.push(null)}),j._read=function(){for(;;){let k=N.read();if(k===null)return void(st=j._read);if(!j.push(k))return}}),j._destroy=function(k,q){!k&&Z!==null&&(k=new f),st=null,R=null,nt=null,Z===null?q(k):(Z=q,_(F,k),_(N,k))},j}e.exports=function M(R,nt){if(c(R))return R;if(a(R))return w({readable:R});if(u(R))return w({writable:R});if(i(R))return w({writable:!1,readable:!1});if(typeof R=="function"){let{value:Z,write:j,final:N,destroy:F}=function(J){let{promise:Y,resolve:k}=D(),q=new B,et=q.signal;return{value:J(async function*(){for(;;){let ot=Y;Y=null;let{chunk:at,done:ut,cb:dt}=await ot;if(r.nextTick(dt),ut)return;if(et.aborted)throw new f(void 0,{cause:et.reason});({promise:Y,resolve:k}=D()),yield at}}(),{signal:et}),write(ot,at,ut){let dt=k;k=null,dt({chunk:ot,done:!1,cb:ut})},final(ot){let at=k;k=null,at({done:!0,cb:ot})},destroy(ot,at){q.abort(),at(ot)}}}(R);if(s(Z))return G(E,Z,{objectMode:!0,write:j,final:N,destroy:F});let it=Z==null?void 0:Z.then;if(typeof it=="function"){let J,Y=A(it,Z,k=>{if(k!=null)throw new b("nully","body",k)},k=>{_(J,k)});return J=new E({objectMode:!0,readable:!1,write:j,final(k){N(async()=>{try{await Y,r.nextTick(k,null)}catch(q){r.nextTick(k,q)}})},destroy:F})}throw new b("Iterable, AsyncIterable or AsyncFunction",nt,Z)}if(X(R))return M(R.arrayBuffer());if(s(R))return G(E,R,{objectMode:!0,writable:!1});if(typeof(R==null?void 0:R.writable)=="object"||typeof(R==null?void 0:R.readable)=="object")return w({readable:R!=null&&R.readable?a(R==null?void 0:R.readable)?R==null?void 0:R.readable:M(R.readable):void 0,writable:R!=null&&R.writable?u(R==null?void 0:R.writable)?R==null?void 0:R.writable:M(R.writable):void 0});let st=R==null?void 0:R.then;if(typeof st=="function"){let Z;return A(st,R,j=>{j!=null&&Z.push(j),Z.push(null)},j=>{_(Z,j)}),Z=new E({objectMode:!0,writable:!1,read(){}})}throw new g(nt,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],R)}}),pr=mt((t,e)=>{ht(),pt(),ft();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:n,ObjectKeys:l,ObjectSetPrototypeOf:o}=Xt();e.exports=c;var s,i,a=Lo(),u=_p();o(c.prototype,a.prototype),o(c,a);{let f=l(u.prototype);for(let g=0;g{ht(),pt(),ft();var{ObjectSetPrototypeOf:r,Symbol:n}=Xt();e.exports=a;var{ERR_METHOD_NOT_IMPLEMENTED:l}=we().codes,o=pr(),{getHighWaterMark:s}=Pl();r(a.prototype,o.prototype),r(a,o);var i=n("kCallback");function a(d){if(!(this instanceof a))return new a(d);let f=d?s(this,d,"readableHighWaterMark",!0):null;f===0&&(d={...d,highWaterMark:null,readableHighWaterMark:f,writableHighWaterMark:d.writableHighWaterMark||0}),o.call(this,d),this._readableState.sync=!1,this[i]=null,d&&(typeof d.transform=="function"&&(this._transform=d.transform),typeof d.flush=="function"&&(this._flush=d.flush)),this.on("prefinish",c)}function u(d){typeof this._flush!="function"||this.destroyed?(this.push(null),d&&d()):this._flush((f,g)=>{f?d?d(f):this.destroy(f):(g!=null&&this.push(g),this.push(null),d&&d())})}function c(){this._final!==u&&u.call(this)}a.prototype._final=u,a.prototype._transform=function(d,f,g){throw new l("_transform()")},a.prototype._write=function(d,f,g){let b=this._readableState,_=this._writableState,S=b.length;this._transform(d,f,(U,D)=>{U?g(U):(D!=null&&this.push(D),_.ended||S===b.length||b.length{ht(),pt(),ft();var{ObjectSetPrototypeOf:r}=Xt();e.exports=l;var n=Ep();function l(o){if(!(this instanceof l))return new l(o);n.call(this,o)}r(l.prototype,n.prototype),r(l,n),l.prototype._transform=function(o,s,i){i(null,o)}}),Ll=mt((t,e)=>{ht(),pt(),ft();var r,n,l=pn(),{ArrayIsArray:o,Promise:s,SymbolAsyncIterator:i}=Xt(),a=Dr(),{once:u}=fr(),c=jn(),d=pr(),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:g,ERR_INVALID_RETURN_VALUE:b,ERR_MISSING_ARGS:_,ERR_STREAM_DESTROYED:S,ERR_STREAM_PREMATURE_CLOSE:U},AbortError:D}=we(),{validateFunction:G,validateAbortSignal:$}=Po(),{isIterable:X,isReadable:B,isReadableNodeStream:A,isNodeStream:E,isTransformStream:w,isWebStream:M,isReadableStream:R,isReadableEnded:nt}=yr(),st=globalThis.AbortController||Cl().AbortController;function Z(Y,k,q){let et=!1;return Y.on("close",()=>{et=!0}),{destroy:ot=>{et||(et=!0,c.destroyer(Y,ot||new S("pipe")))},cleanup:a(Y,{readable:k,writable:q},ot=>{et=!ot})}}function j(Y){if(X(Y))return Y;if(A(Y))return async function*(k){n||(n=Lo()),yield*n.prototype[i].call(k)}(Y);throw new g("val",["Readable","Iterable","AsyncIterable"],Y)}async function N(Y,k,q,{end:et}){let ot,at=null,ut=rt=>{if(rt&&(ot=rt),at){let tt=at;at=null,tt()}},dt=()=>new s((rt,tt)=>{ot?tt(ot):at=()=>{ot?tt(ot):rt()}});k.on("drain",ut);let H=a(k,{readable:!1},ut);try{k.writableNeedDrain&&await dt();for await(let rt of Y)k.write(rt)||await dt();et&&k.end(),await dt(),q()}catch(rt){q(ot!==rt?f(ot,rt):rt)}finally{H(),k.off("drain",ut)}}async function F(Y,k,q,{end:et}){w(k)&&(k=k.writable);let ot=k.getWriter();try{for await(let at of Y)await ot.ready,ot.write(at).catch(()=>{});await ot.ready,et&&await ot.close(),q()}catch(at){try{await ot.abort(at),q(at)}catch(ut){q(ut)}}}function it(Y,k,q){if(Y.length===1&&o(Y[0])&&(Y=Y[0]),Y.length<2)throw new _("streams");let et=new st,ot=et.signal,at=q==null?void 0:q.signal,ut=[];function dt(){Q(new D)}$(at,"options.signal"),at==null||at.addEventListener("abort",dt);let H,rt,tt,P=[],W=0;function C(v){Q(v,--W==0)}function Q(v,O){if(v&&(!H||H.code==="ERR_STREAM_PREMATURE_CLOSE")&&(H=v),H||O){for(;P.length;)P.shift()(H);at==null||at.removeEventListener("abort",dt),et.abort(),O&&(H||ut.forEach(x=>x()),l.nextTick(k,H,rt))}}for(let v=0;v0,m=x||(q==null?void 0:q.end)!==!1,y=v===Y.length-1;if(E(O)){let T=function(L){L&&L.name!=="AbortError"&&L.code!=="ERR_STREAM_PREMATURE_CLOSE"&&C(L)};if(m){let{destroy:L,cleanup:z}=Z(O,x,I);P.push(L),B(O)&&y&&ut.push(z)}O.on("error",T),B(O)&&y&&ut.push(()=>{O.removeListener("error",T)})}if(v===0)if(typeof O=="function"){if(tt=O({signal:ot}),!X(tt))throw new b("Iterable, AsyncIterable or Stream","source",tt)}else tt=X(O)||A(O)||w(O)?O:d.from(O);else if(typeof O=="function"){var h;if(w(tt)?tt=j((h=tt)===null||h===void 0?void 0:h.readable):tt=j(tt),tt=O(tt,{signal:ot}),x){if(!X(tt,!0))throw new b("AsyncIterable",`transform[${v-1}]`,tt)}else{var p;r||(r=Sp());let T=new r({objectMode:!0}),L=(p=tt)===null||p===void 0?void 0:p.then;if(typeof L=="function")W++,L.call(tt,lt=>{rt=lt,lt!=null&&T.write(lt),m&&T.end(),l.nextTick(C)},lt=>{T.destroy(lt),l.nextTick(C,lt)});else if(X(tt,!0))W++,N(tt,T,C,{end:m});else{if(!R(tt)&&!w(tt))throw new b("AsyncIterable or Promise","destination",tt);{let lt=tt.readable||tt;W++,N(lt,T,C,{end:m})}}tt=T;let{destroy:z,cleanup:V}=Z(tt,!1,!0);P.push(z),y&&ut.push(V)}}else if(E(O)){if(A(tt)){W+=2;let T=J(tt,O,C,{end:m});B(O)&&y&&ut.push(T)}else if(w(tt)||R(tt)){let T=tt.readable||tt;W++,N(T,O,C,{end:m})}else{if(!X(tt))throw new g("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],tt);W++,N(tt,O,C,{end:m})}tt=O}else if(M(O)){if(A(tt))W++,F(j(tt),O,C,{end:m});else if(R(tt)||X(tt))W++,F(tt,O,C,{end:m});else{if(!w(tt))throw new g("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],tt);W++,F(tt.readable,O,C,{end:m})}tt=O}else tt=d.from(O)}return(ot!=null&&ot.aborted||at!=null&&at.aborted)&&l.nextTick(dt),tt}function J(Y,k,q,{end:et}){let ot=!1;if(k.on("close",()=>{ot||q(new U)}),Y.pipe(k,{end:!1}),et){let at=function(){ot=!0,k.end()};nt(Y)?l.nextTick(at):Y.once("end",at)}else q();return a(Y,{readable:!0,writable:!1},at=>{let ut=Y._readableState;at&&at.code==="ERR_STREAM_PREMATURE_CLOSE"&&ut&&ut.ended&&!ut.errored&&!ut.errorEmitted?Y.once("end",q).once("error",q):q(at)}),a(k,{readable:!1,writable:!0},q)}e.exports={pipelineImpl:it,pipeline:function(...Y){return it(Y,u(function(k){return G(k[k.length-1],"streams[stream.length - 1]"),k.pop()}(Y)))}}}),Ap=mt((t,e)=>{ht(),pt(),ft();var{pipeline:r}=Ll(),n=pr(),{destroyer:l}=jn(),{isNodeStream:o,isReadable:s,isWritable:i,isWebStream:a,isTransformStream:u,isWritableStream:c,isReadableStream:d}=yr(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:g,ERR_MISSING_ARGS:b}}=we(),_=Dr();e.exports=function(...S){if(S.length===0)throw new b("streams");if(S.length===1)return n.from(S[0]);let U,D,G,$,X,B=[...S];if(typeof S[0]=="function"&&(S[0]=n.from(S[0])),typeof S[S.length-1]=="function"){let R=S.length-1;S[R]=n.from(S[R])}for(let R=0;R0&&!(i(S[R])||c(S[R])||u(S[R])))throw new g(`streams[${R}]`,B[R],"must be writable")}let A=S[0],E=r(S,function(R){let nt=$;$=null,nt?nt(R):R?X.destroy(R):!M&&!w&&X.destroy()}),w=!!(i(A)||c(A)||u(A)),M=!!(s(E)||d(E)||u(E));if(X=new n({writableObjectMode:!(A==null||!A.writableObjectMode),readableObjectMode:!(E==null||!E.writableObjectMode),writable:w,readable:M}),w){if(o(A))X._write=function(nt,st,Z){A.write(nt,st)?Z():U=Z},X._final=function(nt){A.end(),D=nt},A.on("drain",function(){if(U){let nt=U;U=null,nt()}});else if(a(A)){let nt=(u(A)?A.writable:A).getWriter();X._write=async function(st,Z,j){try{await nt.ready,nt.write(st).catch(()=>{}),j()}catch(N){j(N)}},X._final=async function(st){try{await nt.ready,nt.close().catch(()=>{}),D=st}catch(Z){st(Z)}}}let R=u(E)?E.readable:E;_(R,()=>{if(D){let nt=D;D=null,nt()}})}if(M){if(o(E))E.on("readable",function(){if(G){let R=G;G=null,R()}}),E.on("end",function(){X.push(null)}),X._read=function(){for(;;){let R=E.read();if(R===null)return void(G=X._read);if(!X.push(R))return}};else if(a(E)){let R=(u(E)?E.readable:E).getReader();X._read=async function(){for(;;)try{let{value:nt,done:st}=await R.read();if(!X.push(nt))return;if(st)return void X.push(null)}catch{return}}}}return X._destroy=function(R,nt){!R&&$!==null&&(R=new f),G=null,U=null,D=null,$===null?nt(R):($=nt,o(E)&&l(E,R))},X}}),S0=mt((t,e)=>{ht(),pt(),ft();var r=globalThis.AbortController||Cl().AbortController,{codes:{ERR_INVALID_ARG_VALUE:n,ERR_INVALID_ARG_TYPE:l,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:s},AbortError:i}=we(),{validateAbortSignal:a,validateInteger:u,validateObject:c}=Po(),d=Xt().Symbol("kWeak"),{finished:f}=Dr(),g=Ap(),{addAbortSignalNoValidate:b}=Bo(),{isWritable:_,isNodeStream:S}=yr(),{ArrayPrototypePush:U,MathFloor:D,Number:G,NumberIsNaN:$,Promise:X,PromiseReject:B,PromisePrototypeThen:A,Symbol:E}=Xt(),w=E("kEmpty"),M=E("kEof");function R(N,F){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);F!=null&&c(F,"options"),(F==null?void 0:F.signal)!=null&&a(F.signal,"options.signal");let it=1;return(F==null?void 0:F.concurrency)!=null&&(it=D(F.concurrency)),u(it,"concurrency",1),(async function*(){var J,Y;let k=new r,q=this,et=[],ot=k.signal,at={signal:ot},ut=()=>k.abort();F!=null&&(J=F.signal)!==null&&J!==void 0&&J.aborted&&ut(),F==null||(Y=F.signal)===null||Y===void 0||Y.addEventListener("abort",ut);let dt,H,rt=!1;function tt(){rt=!0}(async function(){try{for await(let C of q){var P;if(rt)return;if(ot.aborted)throw new i;try{C=N(C,at)}catch(Q){C=B(Q)}C!==w&&(typeof((P=C)===null||P===void 0?void 0:P.catch)=="function"&&C.catch(tt),et.push(C),dt&&(dt(),dt=null),!rt&&et.length&&et.length>=it&&await new X(Q=>{H=Q}))}et.push(M)}catch(C){let Q=B(C);A(Q,void 0,tt),et.push(Q)}finally{var W;rt=!0,dt&&(dt(),dt=null),F==null||(W=F.signal)===null||W===void 0||W.removeEventListener("abort",ut)}})();try{for(;;){for(;et.length>0;){let P=await et[0];if(P===M)return;if(ot.aborted)throw new i;P!==w&&(yield P),et.shift(),H&&(H(),H=null)}await new X(P=>{dt=P})}}finally{k.abort(),rt=!0,H&&(H(),H=null)}}).call(this)}async function nt(N,F=void 0){for await(let it of st.call(this,N,F))return!0;return!1}function st(N,F){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return R.call(this,async function(it,J){return await N(it,J)?it:w},F)}var Z=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};function j(N){if(N=G(N),$(N))return 0;if(N<0)throw new s("number",">= 0",N);return N}e.exports.streamReturningOperators={asIndexedPairs:function(N=void 0){return N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal"),(async function*(){let F=0;for await(let J of this){var it;if(N!=null&&(it=N.signal)!==null&&it!==void 0&&it.aborted)throw new i({cause:N.signal.reason});yield[F++,J]}}).call(this)},drop:function(N,F=void 0){return F!=null&&c(F,"options"),(F==null?void 0:F.signal)!=null&&a(F.signal,"options.signal"),N=j(N),(async function*(){var it;if(F!=null&&(it=F.signal)!==null&&it!==void 0&&it.aborted)throw new i;for await(let Y of this){var J;if(F!=null&&(J=F.signal)!==null&&J!==void 0&&J.aborted)throw new i;N--<=0&&(yield Y)}}).call(this)},filter:st,flatMap:function(N,F){let it=R.call(this,N,F);return(async function*(){for await(let J of it)yield*J}).call(this)},map:R,take:function(N,F=void 0){return F!=null&&c(F,"options"),(F==null?void 0:F.signal)!=null&&a(F.signal,"options.signal"),N=j(N),(async function*(){var it;if(F!=null&&(it=F.signal)!==null&&it!==void 0&&it.aborted)throw new i;for await(let Y of this){var J;if(F!=null&&(J=F.signal)!==null&&J!==void 0&&J.aborted)throw new i;if(!(N-- >0))return;yield Y}}).call(this)},compose:function(N,F){if(F!=null&&c(F,"options"),(F==null?void 0:F.signal)!=null&&a(F.signal,"options.signal"),S(N)&&!_(N))throw new n("stream",N,"must be writable");let it=g(this,N);return F!=null&&F.signal&&b(F.signal,it),it}},e.exports.promiseReturningOperators={every:async function(N,F=void 0){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return!await nt.call(this,async(...it)=>!await N(...it),F)},forEach:async function(N,F){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);for await(let it of R.call(this,async function(J,Y){return await N(J,Y),w},F));},reduce:async function(N,F,it){var J;if(typeof N!="function")throw new l("reducer",["Function","AsyncFunction"],N);it!=null&&c(it,"options"),(it==null?void 0:it.signal)!=null&&a(it.signal,"options.signal");let Y=arguments.length>1;if(it!=null&&(J=it.signal)!==null&&J!==void 0&&J.aborted){let at=new i(void 0,{cause:it.signal.reason});throw this.once("error",()=>{}),await f(this.destroy(at)),at}let k=new r,q=k.signal;if(it!=null&&it.signal){let at={once:!0,[d]:this};it.signal.addEventListener("abort",()=>k.abort(),at)}let et=!1;try{for await(let at of this){var ot;if(et=!0,it!=null&&(ot=it.signal)!==null&&ot!==void 0&&ot.aborted)throw new i;Y?F=await N(F,at,{signal:q}):(F=at,Y=!0)}if(!et&&!Y)throw new Z}finally{k.abort()}return F},toArray:async function(N){N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal");let F=[];for await(let J of this){var it;if(N!=null&&(it=N.signal)!==null&&it!==void 0&&it.aborted)throw new i(void 0,{cause:N.signal.reason});U(F,J)}return F},some:nt,find:async function(N,F){for await(let it of st.call(this,N,F))return it}}}),kp=mt((t,e)=>{ht(),pt(),ft();var{ArrayPrototypePop:r,Promise:n}=Xt(),{isIterable:l,isNodeStream:o,isWebStream:s}=yr(),{pipelineImpl:i}=Ll(),{finished:a}=Dr();Ip(),e.exports={finished:a,pipeline:function(...u){return new n((c,d)=>{let f,g,b=u[u.length-1];if(b&&typeof b=="object"&&!o(b)&&!l(b)&&!s(b)){let _=r(u);f=_.signal,g=_.end}i(u,(_,S)=>{_?d(_):c(S)},{signal:f,end:g})})}}}),Ip=mt((t,e)=>{ht(),pt(),ft();var{Buffer:r}=(oe(),Dt(ie)),{ObjectDefineProperty:n,ObjectKeys:l,ReflectApply:o}=Xt(),{promisify:{custom:s}}=fr(),{streamReturningOperators:i,promiseReturningOperators:a}=S0(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=we(),c=Ap(),{pipeline:d}=Ll(),{destroyer:f}=jn(),g=Dr(),b=kp(),_=yr(),S=e.exports=Rl().Stream;S.isDisturbed=_.isDisturbed,S.isErrored=_.isErrored,S.isReadable=_.isReadable,S.Readable=Lo();for(let D of l(i)){let G=function(...X){if(new.target)throw u();return S.Readable.from(o($,this,X))},$=i[D];n(G,"name",{__proto__:null,value:$.name}),n(G,"length",{__proto__:null,value:$.length}),n(S.Readable.prototype,D,{__proto__:null,value:G,enumerable:!1,configurable:!0,writable:!0})}for(let D of l(a)){let G=function(...X){if(new.target)throw u();return o($,this,X)},$=a[D];n(G,"name",{__proto__:null,value:$.name}),n(G,"length",{__proto__:null,value:$.length}),n(S.Readable.prototype,D,{__proto__:null,value:G,enumerable:!1,configurable:!0,writable:!0})}S.Writable=_p(),S.Duplex=pr(),S.Transform=Ep(),S.PassThrough=Sp(),S.pipeline=d;var{addAbortSignal:U}=Bo();S.addAbortSignal=U,S.finished=g,S.destroy=f,S.compose=c,n(S,"promises",{__proto__:null,configurable:!0,enumerable:!0,get:()=>b}),n(d,s,{__proto__:null,enumerable:!0,get:()=>b.pipeline}),n(g,s,{__proto__:null,enumerable:!0,get:()=>b.finished}),S.Stream=S,S._isUint8Array=function(D){return D instanceof Uint8Array},S._uint8ArrayToBuffer=function(D){return r.from(D.buffer,D.byteOffset,D.byteLength)}}),gn=mt((t,e)=>{ht(),pt(),ft();var r=Ip(),n=kp(),l=r.Readable.destroy;e.exports=r.Readable,e.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,e.exports._isUint8Array=r._isUint8Array,e.exports.isDisturbed=r.isDisturbed,e.exports.isErrored=r.isErrored,e.exports.isReadable=r.isReadable,e.exports.Readable=r.Readable,e.exports.Writable=r.Writable,e.exports.Duplex=r.Duplex,e.exports.Transform=r.Transform,e.exports.PassThrough=r.PassThrough,e.exports.addAbortSignal=r.addAbortSignal,e.exports.finished=r.finished,e.exports.destroy=r.destroy,e.exports.destroy=l,e.exports.pipeline=r.pipeline,e.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get:()=>n}),e.exports.Stream=r.Stream,e.exports.default=e.exports}),A0=mt((t,e)=>{ht(),pt(),ft(),typeof Object.create=="function"?e.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(r,n){if(n){r.super_=n;var l=function(){};l.prototype=n.prototype,r.prototype=new l,r.prototype.constructor=r}}}),k0=mt((t,e)=>{ht(),pt(),ft();var{Buffer:r}=(oe(),Dt(ie)),n=Symbol.for("BufferList");function l(o){if(!(this instanceof l))return new l(o);l._init.call(this,o)}l._init=function(o){Object.defineProperty(this,n,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},l.prototype._new=function(o){return new l(o)},l.prototype._offset=function(o){if(o===0)return[0,0];let s=0;for(let i=0;ithis.length||o<0)return;let s=this._offset(o);return this._bufs[s[0]][s[1]]},l.prototype.slice=function(o,s){return typeof o=="number"&&o<0&&(o+=this.length),typeof s=="number"&&s<0&&(s+=this.length),this.copy(null,0,o,s)},l.prototype.copy=function(o,s,i,a){if((typeof i!="number"||i<0)&&(i=0),(typeof a!="number"||a>this.length)&&(a=this.length),i>=this.length||a<=0)return o||r.alloc(0);let u=!!o,c=this._offset(i),d=a-i,f=d,g=u&&s||0,b=c[1];if(i===0&&a===this.length){if(!u)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let _=0;_S)){this._bufs[_].copy(o,g,b,b+f),g+=S;break}this._bufs[_].copy(o,g,b),g+=S,f-=S,b&&(b=0)}return o.length>g?o.slice(0,g):o},l.prototype.shallowSlice=function(o,s){if(o=o||0,s=typeof s!="number"?this.length:s,o<0&&(o+=this.length),s<0&&(s+=this.length),o===s)return this._new();let i=this._offset(o),a=this._offset(s),u=this._bufs.slice(i[0],a[0]+1);return a[1]===0?u.pop():u[u.length-1]=u[u.length-1].slice(0,a[1]),i[1]!==0&&(u[0]=u[0].slice(i[1])),this._new(u)},l.prototype.toString=function(o,s,i){return this.slice(s,i).toString(o)},l.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;){if(!(o>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},l.prototype.duplicate=function(){let o=this._new();for(let s=0;sthis.length?this.length:s;let a=this._offset(s),u=a[0],c=a[1];for(;u=o.length){let f=d.indexOf(o,c);if(f!==-1)return this._reverseOffset([u,f]);c=d.length-o.length+1}else{let f=this._reverseOffset([u,c]);if(this._match(f,o))return f;c++}c=0}return-1},l.prototype._match=function(o,s){if(this.length-o{ht(),pt(),ft();var r=gn().Duplex,n=A0(),l=k0();function o(s){if(!(this instanceof o))return new o(s);if(typeof s=="function"){this._callback=s;let i=(function(a){this._callback&&(this._callback(a),this._callback=null)}).bind(this);this.on("pipe",function(a){a.on("error",i)}),this.on("unpipe",function(a){a.removeListener("error",i)}),s=null}l._init.call(this,s),r.call(this)}n(o,r),Object.assign(o.prototype,l.prototype),o.prototype._new=function(s){return new o(s)},o.prototype._write=function(s,i,a){this._appendBuffer(s),typeof a=="function"&&a()},o.prototype._read=function(s){if(!this.length)return this.push(null);s=Math.min(s,this.length),this.push(this.slice(0,s)),this.consume(s)},o.prototype.end=function(s){r.prototype.end.call(this,s),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(s,i){this._bufs.length=0,this.length=0,i(s)},o.prototype._isBufferList=function(s){return s instanceof o||s instanceof l||o.isBufferList(s)},o.isBufferList=l.isBufferList,e.exports=o,e.exports.BufferListStream=o,e.exports.BufferList=l}),T0=mt((t,e)=>{ht(),pt(),ft(),e.exports=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}}}),Tp=mt((t,e)=>{ht(),pt(),ft();var r=e.exports,{Buffer:n}=(oe(),Dt(ie));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let o in r.requiredHeaderFlags){let s=r.requiredHeaderFlags[o];r.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+s.toString(16)+" for "+r.types[o]+" packet"}r.codes={};for(let o in r.types){let s=r.types[o];r.codes[s]=o}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=n.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=n.from([r.codes.connack<[0,1].map(i=>[0,1].map(a=>{let u=n.alloc(1);return u.writeUInt8(r.codes[o]<n.from([o])),r.EMPTY={pingreq:n.from([r.codes.pingreq<<4,0]),pingresp:n.from([r.codes.pingresp<<4,0]),disconnect:n.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),O0=mt((t,e)=>{ht(),pt(),ft();var r=1e3,n=6e4,l=60*n,o=24*l,s=7*o,i=365.25*o;function a(u,c,d,f){var g=c>=1.5*d;return Math.round(u/d)+" "+f+(g?"s":"")}e.exports=function(u,c){c=c||{};var d=typeof u;if(d==="string"&&u.length>0)return function(f){if(f=String(f),!(f.length>100)){var g=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(g){var b=parseFloat(g[1]);switch((g[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return b*i;case"weeks":case"week":case"w":return b*s;case"days":case"day":case"d":return b*o;case"hours":case"hour":case"hrs":case"hr":case"h":return b*l;case"minutes":case"minute":case"mins":case"min":case"m":return b*n;case"seconds":case"second":case"secs":case"sec":case"s":return b*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return b;default:return}}}}(u);if(d==="number"&&isFinite(u))return c.long?function(f){var g=Math.abs(f);return g>=o?a(f,g,o,"day"):g>=l?a(f,g,l,"hour"):g>=n?a(f,g,n,"minute"):g>=r?a(f,g,r,"second"):f+" ms"}(u):function(f){var g=Math.abs(f);return g>=o?Math.round(f/o)+"d":g>=l?Math.round(f/l)+"h":g>=n?Math.round(f/n)+"m":g>=r?Math.round(f/r)+"s":f+"ms"}(u);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(u))}}),x0=mt((t,e)=>{ht(),pt(),ft(),e.exports=function(r){function n(s){let i,a,u,c=null;function d(...f){if(!d.enabled)return;let g=d,b=Number(new Date),_=b-(i||b);g.diff=_,g.prev=i,g.curr=b,i=b,f[0]=n.coerce(f[0]),typeof f[0]!="string"&&f.unshift("%O");let S=0;f[0]=f[0].replace(/%([a-zA-Z%])/g,(U,D)=>{if(U==="%%")return"%";S++;let G=n.formatters[D];if(typeof G=="function"){let $=f[S];U=G.call(g,$),f.splice(S,1),S--}return U}),n.formatArgs.call(g,f),(g.log||n.log).apply(g,f)}return d.namespace=s,d.useColors=n.useColors(),d.color=n.selectColor(s),d.extend=l,d.destroy=n.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>c!==null?c:(a!==n.namespaces&&(a=n.namespaces,u=n.enabled(s)),u),set:f=>{c=f}}),typeof n.init=="function"&&n.init(d),d}function l(s,i){let a=n(this.namespace+(typeof i>"u"?":":i)+s);return a.log=this.log,a}function o(s){return s.toString().substring(2,s.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(s){return s instanceof Error?s.stack||s.message:s},n.disable=function(){let s=[...n.names.map(o),...n.skips.map(o).map(i=>"-"+i)].join(",");return n.enable(""),s},n.enable=function(s){n.save(s),n.namespaces=s,n.names=[],n.skips=[];let i,a=(typeof s=="string"?s:"").split(/[\s,]+/),u=a.length;for(i=0;i{n[s]=r[s]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(s){let i=0;for(let a=0;a{ht(),pt(),ft(),t.formatArgs=function(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let l="color: "+this.color;n.splice(1,0,l,"color: inherit");let o=0,s=0;n[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(o++,i==="%c"&&(s=o))}),n.splice(s,0,l)},t.save=function(n){try{n?t.storage.setItem("debug",n):t.storage.removeItem("debug")}catch{}},t.load=function(){let n;try{n=t.storage.getItem("debug")}catch{}return!n&&typeof Nt<"u"&&"env"in Nt&&(n=Nt.env.DEBUG),n},t.useColors=function(){return!(!(typeof window<"u"&&window.process)||window.process.type!=="renderer"&&!window.process.__nwjs)||!(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&(typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch{}}(),t.destroy=(()=>{let n=!1;return()=>{n||(n=!0)}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=x0()(t);var{formatters:r}=e.exports;r.j=function(n){try{return JSON.stringify(n)}catch(l){return"[UnexpectedJSONParseError]: "+l.message}}}),C0=mt((t,e)=>{ht(),pt(),ft();var r=I0(),{EventEmitter:n}=(Un(),Dt(dn)),l=T0(),o=Tp(),s=dr()("mqtt-packet:parser");e.exports=class $a extends n{constructor(){super(),this.parser=this.constructor.parser}static parser(a){return this instanceof $a?(this.settings=a||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new $a().parser(a)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new l,this.error=null,this._list=r(),this._stateCounter=0}parse(a){for(this.error&&this._resetState(),this._list.append(a),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let a=this._list.readUInt8(0),u=a>>o.CMD_SHIFT;this.packet.cmd=o.types[u];let c=15&a,d=o.requiredHeaderFlags[u];return d!=null&&c!==d?this._emitError(new Error(o.requiredHeaderFlagsErrors[u])):(this.packet.retain=!!(a&o.RETAIN_MASK),this.packet.qos=a>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=!!(a&o.DUP_MASK),s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let a=this._parseVarByteNum(!0);return a&&(this.packet.length=a.value,this._list.consume(a.bytes)),s("_parseLength %d",a.value),!!a}_parsePayload(){s("_parsePayload: payload %O",this._list);let a=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}a=!0}return s("_parsePayload complete result: %s",a),a}_parseConnect(){s("_parseConnect");let a,u,c,d,f={},g=this.packet,b=this._parseString();if(b===null)return this._emitError(new Error("Cannot parse protocolId"));if(b!=="MQTT"&&b!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(g.protocolId=b,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(g.protocolVersion=this._list.readUInt8(this._pos),g.protocolVersion>=128&&(g.bridgeMode=!0,g.protocolVersion=g.protocolVersion-128),g.protocolVersion!==3&&g.protocolVersion!==4&&g.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(1&this._list.readUInt8(this._pos))return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));f.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,f.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,f.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let _=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(f.will)g.will={},g.will.retain=_,g.will.qos=S;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(g.clean=!!(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK),this._pos++,g.keepalive=this._parseNum(),g.keepalive===-1)return this._emitError(new Error("Packet too short"));if(g.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(g.properties=D)}let U=this._parseString();if(U===null)return this._emitError(new Error("Packet too short"));if(g.clientId=U,s("_parseConnect: packet.clientId: %s",g.clientId),f.will){if(g.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(g.will.properties=D)}if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse will topic"));if(g.will.topic=a,s("_parseConnect: packet.will.topic: %s",g.will.topic),u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse will payload"));g.will.payload=u,s("_parseConnect: packet.will.paylaod: %s",g.will.payload)}if(f.username){if(d=this._parseString(),d===null)return this._emitError(new Error("Cannot parse username"));g.username=d,s("_parseConnect: packet.username: %s",g.username)}if(f.password){if(c=this._parseBuffer(),c===null)return this._emitError(new Error("Cannot parse password"));g.password=c}return this.settings=g,s("_parseConnect: complete"),g}_parseConnack(){s("_parseConnack");let a=this.packet;if(this._list.length<1)return null;let u=this._list.readUInt8(this._pos++);if(u>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(a.sessionPresent=!!(u&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?a.reasonCode=this._list.readUInt8(this._pos++):a.reasonCode=0;else{if(this._list.length<2)return null;a.returnCode=this._list.readUInt8(this._pos++)}if(a.returnCode===-1||a.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(a.properties=c)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");let a=this.packet;if(a.topic=this._parseString(),a.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(a.qos>0)||this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}a.payload=this._list.slice(this._pos,a.length),s("_parsePublish: payload from buffer list: %o",a.payload)}}_parseSubscribe(){s("_parseSubscribe");let a,u,c,d,f,g,b,_=this.packet;if(_.subscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(_.properties=S)}if(_.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<_.length;){if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=_.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(192&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(252&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(c=u&o.SUBSCRIBE_OPTIONS_QOS_MASK,c>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(g=!!(u>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK),f=!!(u>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK),d=u>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));b={topic:a,qos:c},this.settings.protocolVersion===5?(b.nl=g,b.rap=f,b.rh=d):this.settings.bridgeMode&&(b.rh=0,b.rap=!0,b.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",b),_.subscriptions.push(b)}}}_parseSuback(){s("_parseSuback");let a=this.packet;if(this.packet.granted=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&u!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(u)}}}_parseUnsubscribe(){s("_parseUnsubscribe");let a=this.packet;if(a.unsubscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(a.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"))}s("_parseConfirmation: packet.reasonCode `%d`",a.reasonCode)}else a.reasonCode=0;if(a.length>3){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}}return!0}_parseDisconnect(){let a=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(a.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[a.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):a.reasonCode=0;let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");let a=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(a.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[a.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let u=this._parseProperties();return Object.getOwnPropertyNames(u).length&&(a.properties=u),s("_parseAuth: result: true"),!0}_parseMessageId(){let a=this.packet;return a.messageId=this._parseNum(),a.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",a.messageId),!0)}_parseString(a){let u=this._parseNum(),c=u+this._pos;if(u===-1||c>this._list.length||c>this.packet.length)return null;let d=this._list.toString("utf8",this._pos,c);return this._pos+=u,s("_parseString: result: %s",d),d}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let a=this._parseNum(),u=a+this._pos;if(a===-1||u>this._list.length||u>this.packet.length)return null;let c=this._list.slice(this._pos,u);return this._pos+=a,s("_parseBuffer: result: %o",c),c}_parseNum(){if(this._list.length-this._pos<2)return-1;let a=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",a),a}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let a=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",a),a}_parseVarByteNum(a){s("_parseVarByteNum");let u,c=0,d=1,f=0,g=!1,b=this._pos?this._pos:0;for(;c<4&&b+c=c&&this._emitError(new Error("Invalid variable byte integer")),b&&(this._pos+=c),g=!!g&&(a?{bytes:c,value:f}:f),s("_parseVarByteNum: result: %o",g),g}_parseByte(){let a;return this._pos{ht(),pt(),ft();var{Buffer:r}=(oe(),Dt(ie)),n={},l=r.isBuffer(r.from([1,2]).subarray(0,1));function o(s){let i=r.allocUnsafe(2);return i.writeUInt8(s>>8,0),i.writeUInt8(255&s,1),i}e.exports={cache:n,generateCache:function(){for(let s=0;s<65536;s++)n[s]=o(s)},generateNumber:o,genBufVariableByteInt:function(s){let i=0,a=0,u=r.allocUnsafe(4);do i=s%128|0,(s=s/128|0)>0&&(i|=128),u.writeUInt8(i,a++);while(s>0&&a<4);return s>0&&(a=0),l?u.subarray(0,a):u.slice(0,a)},generate4ByteBuffer:function(s){let i=r.allocUnsafe(4);return i.writeUInt32BE(s,0),i}}}),P0=mt((t,e)=>{ht(),pt(),ft(),typeof Nt>"u"||!Nt.version||Nt.version.indexOf("v0.")===0||Nt.version.indexOf("v1.")===0&&Nt.version.indexOf("v1.8.")!==0?e.exports={nextTick:function(r,n,l,o){if(typeof r!="function")throw new TypeError('"callback" argument must be a function');var s,i,a=arguments.length;switch(a){case 0:case 1:return Nt.nextTick(r);case 2:return Nt.nextTick(function(){r.call(null,n)});case 3:return Nt.nextTick(function(){r.call(null,n,l)});case 4:return Nt.nextTick(function(){r.call(null,n,l,o)});default:for(s=new Array(a-1),i=0;i{ht(),pt(),ft();var r=Tp(),{Buffer:n}=(oe(),Dt(ie)),l=n.allocUnsafe(0),o=n.from([0]),s=R0(),i=P0().nextTick,a=dr()("mqtt-packet:writeToStream"),u=s.cache,c=s.generateNumber,d=s.generateCache,f=s.genBufVariableByteInt,g=s.generate4ByteBuffer,b=B,_=!0;function S(j,N,F){switch(a("generate called"),N.cork&&(N.cork(),i(U,N)),_&&(_=!1,d()),a("generate: packet.cmd: %s",j.cmd),j.cmd){case"connect":return function(it,J){let Y=it||{},k=Y.protocolId||"MQTT",q=Y.protocolVersion||4,et=Y.will,ot=Y.clean,at=Y.keepalive||0,ut=Y.clientId||"",dt=Y.username,H=Y.password,rt=Y.properties;ot===void 0&&(ot=!0);let tt,P,W=0;if(typeof k!="string"&&!n.isBuffer(k))return J.destroy(new Error("Invalid protocolId")),!1;if(W+=k.length+2,q!==3&&q!==4&&q!==5)return J.destroy(new Error("Invalid protocol version")),!1;if(W+=1,(typeof ut=="string"||n.isBuffer(ut))&&(ut||q>=4)&&(ut||ot))W+=n.byteLength(ut)+2;else{if(q<4)return J.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(1*ot==0)return J.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof at!="number"||at<0||at>65535||at%1!=0)return J.destroy(new Error("Invalid keepalive")),!1;if(W+=2,W+=1,q===5){if(tt=w(J,rt),!tt)return!1;W+=tt.length}if(et){if(typeof et!="object")return J.destroy(new Error("Invalid will")),!1;if(!et.topic||typeof et.topic!="string")return J.destroy(new Error("Invalid will topic")),!1;if(W+=n.byteLength(et.topic)+2,W+=2,et.payload){if(!(et.payload.length>=0))return J.destroy(new Error("Invalid will payload")),!1;typeof et.payload=="string"?W+=n.byteLength(et.payload):W+=et.payload.length}if(P={},q===5){if(P=w(J,et.properties),!P)return!1;W+=P.length}}let C=!1;if(dt!=null){if(!Z(dt))return J.destroy(new Error("Invalid username")),!1;C=!0,W+=n.byteLength(dt)+2}if(H!=null){if(!C)return J.destroy(new Error("Username is required to use password")),!1;if(!Z(H))return J.destroy(new Error("Invalid password")),!1;W+=st(H)+2}J.write(r.CONNECT_HEADER),G(J,W),E(J,k),Y.bridgeMode&&(q+=128),J.write(q===131?r.VERSION131:q===132?r.VERSION132:q===4?r.VERSION4:q===5?r.VERSION5:r.VERSION3);let Q=0;return Q|=dt!=null?r.USERNAME_MASK:0,Q|=H!=null?r.PASSWORD_MASK:0,Q|=et&&et.retain?r.WILL_RETAIN_MASK:0,Q|=et&&et.qos?et.qos<0&&b(J,dt),tt==null||tt.write(),a("publish: payload: %o",ut),J.write(ut)}(j,N,F);case"puback":case"pubrec":case"pubrel":case"pubcomp":return function(it,J,Y){let k=Y?Y.protocolVersion:4,q=it||{},et=q.cmd||"puback",ot=q.messageId,at=q.dup&&et==="pubrel"?r.DUP_MASK:0,ut=0,dt=q.reasonCode,H=q.properties,rt=k===5?3:2;if(et==="pubrel"&&(ut=1),typeof ot!="number")return J.destroy(new Error("Invalid messageId")),!1;let tt=null;if(k===5&&typeof H=="object"){if(tt=M(J,H,Y,rt),!tt)return!1;rt+=tt.length}return J.write(r.ACKS[et][ut][at][0]),rt===3&&(rt+=dt!==0?1:-1),G(J,rt),b(J,ot),k===5&&rt!==2&&J.write(n.from([dt])),tt!==null?tt.write():rt===4&&J.write(n.from([0])),!0}(j,N,F);case"subscribe":return function(it,J,Y){a("subscribe: packet: ");let k=Y?Y.protocolVersion:4,q=it||{},et=q.dup?r.DUP_MASK:0,ot=q.messageId,at=q.subscriptions,ut=q.properties,dt=0;if(typeof ot!="number")return J.destroy(new Error("Invalid messageId")),!1;dt+=2;let H=null;if(k===5){if(H=w(J,ut),!H)return!1;dt+=H.length}if(typeof at!="object"||!at.length)return J.destroy(new Error("Invalid subscriptions")),!1;for(let tt=0;tt2)return J.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}dt+=n.byteLength(P)+2+1}a("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),J.write(r.SUBSCRIBE_HEADER[1][et?1:0][0]),G(J,dt),b(J,ot),H!==null&&H.write();let rt=!0;for(let tt of at){let P,W=tt.topic,C=tt.qos,Q=+tt.nl,h=+tt.rap,p=tt.rh;$(J,W),P=r.SUBSCRIBE_OPTIONS_QOS[C],k===5&&(P|=Q?r.SUBSCRIBE_OPTIONS_NL:0,P|=h?r.SUBSCRIBE_OPTIONS_RAP:0,P|=p?r.SUBSCRIBE_OPTIONS_RH[p]:0),rt=J.write(n.from([P]))}return rt}(j,N,F);case"suback":return function(it,J,Y){let k=Y?Y.protocolVersion:4,q=it||{},et=q.messageId,ot=q.granted,at=q.properties,ut=0;if(typeof et!="number")return J.destroy(new Error("Invalid messageId")),!1;if(ut+=2,typeof ot!="object"||!ot.length)return J.destroy(new Error("Invalid qos vector")),!1;for(let H=0;Hb===B,set(j){j?((!u||Object.keys(u).length===0)&&(_=!0),b=B):(_=!1,b=A)}});var D={};function G(j,N){if(N>r.VARBYTEINT_MAX)return j.destroy(new Error(`Invalid variable byte integer: ${N}`)),!1;let F=D[N];return F||(F=f(N),N<16384&&(D[N]=F)),a("writeVarByteInt: writing to stream: %o",F),j.write(F)}function $(j,N){let F=n.byteLength(N);return b(j,F),a("writeString: %s",N),j.write(N,"utf8")}function X(j,N,F){$(j,N),$(j,F)}function B(j,N){return a("writeNumberCached: number: %d",N),a("writeNumberCached: %o",u[N]),j.write(u[N])}function A(j,N){let F=c(N);return a("writeNumberGenerated: %o",F),j.write(F)}function E(j,N){typeof N=="string"?$(j,N):N?(b(j,N.length),j.write(N)):b(j,0)}function w(j,N){if(typeof N!="object"||N.length!=null)return{length:1,write(){nt(j,{},0)}};let F=0;function it(J,Y){let k=0;switch(r.propertiesTypes[J]){case"byte":if(typeof Y!="boolean")return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=2;break;case"int8":if(typeof Y!="number"||Y<0||Y>255)return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=2;break;case"binary":if(Y&&Y===null)return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=1+n.byteLength(Y)+2;break;case"int16":if(typeof Y!="number"||Y<0||Y>65535)return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=3;break;case"int32":if(typeof Y!="number"||Y<0||Y>4294967295)return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=5;break;case"var":if(typeof Y!="number"||Y<0||Y>268435455)return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=1+n.byteLength(f(Y));break;case"string":if(typeof Y!="string")return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=3+n.byteLength(Y.toString());break;case"pair":if(typeof Y!="object")return j.destroy(new Error(`Invalid ${J}: ${Y}`)),!1;k+=Object.getOwnPropertyNames(Y).reduce((q,et)=>{let ot=Y[et];return Array.isArray(ot)?q+=ot.reduce((at,ut)=>at+=3+n.byteLength(et.toString())+2+n.byteLength(ut.toString()),0):q+=3+n.byteLength(et.toString())+2+n.byteLength(Y[et].toString()),q},0);break;default:return j.destroy(new Error(`Invalid property ${J}: ${Y}`)),!1}return k}if(N)for(let J in N){let Y=0,k=0,q=N[J];if(Array.isArray(q))for(let et=0;etY;){let q=J.shift();if(!q||!N[q])return!1;delete N[q],k=w(j,N)}return k}function R(j,N,F){switch(r.propertiesTypes[N]){case"byte":j.write(n.from([r.properties[N]])),j.write(n.from([+F]));break;case"int8":j.write(n.from([r.properties[N]])),j.write(n.from([F]));break;case"binary":j.write(n.from([r.properties[N]])),E(j,F);break;case"int16":j.write(n.from([r.properties[N]])),b(j,F);break;case"int32":j.write(n.from([r.properties[N]])),function(it,J){let Y=g(J);a("write4ByteNumber: %o",Y),it.write(Y)}(j,F);break;case"var":j.write(n.from([r.properties[N]])),G(j,F);break;case"string":j.write(n.from([r.properties[N]])),$(j,F);break;case"pair":Object.getOwnPropertyNames(F).forEach(it=>{let J=F[it];Array.isArray(J)?J.forEach(Y=>{j.write(n.from([r.properties[N]])),X(j,it.toString(),Y.toString())}):(j.write(n.from([r.properties[N]])),X(j,it.toString(),J.toString()))});break;default:return j.destroy(new Error(`Invalid property ${N} value: ${F}`)),!1}}function nt(j,N,F){G(j,F);for(let it in N)if(Object.prototype.hasOwnProperty.call(N,it)&&N[it]!==null){let J=N[it];if(Array.isArray(J))for(let Y=0;Y{ht(),pt(),ft();var r=Op(),{EventEmitter:n}=(Un(),Dt(dn)),{Buffer:l}=(oe(),Dt(ie)),o=class extends n{constructor(){super(),this._array=new Array(20),this._i=0}write(s){return this._array[this._i++]=s,!0}concat(){let s,i=0,a=new Array(this._array.length),u=this._array,c=0;for(s=0;s{ht(),pt(),ft(),t.parser=C0().parser,t.generate=B0(),t.writeToStream=Op()}),xp=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.nextId=Math.max(1,Math.floor(65535*Math.random()))}allocate(){let e=this.nextId++;return this.nextId===65536&&(this.nextId=1),e}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(e){return!0}deallocate(e){}clear(){}}}),L0=mt((t,e)=>{function r(n){return n instanceof ho?ho.from(n):new n.constructor(n.buffer.slice(),n.byteOffset,n.length)}ht(),pt(),ft(),e.exports=function(n){return(n=n||{}).circles?function(o){var s=[],i=[];return o.proto?function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c){var g=c[f];if(typeof g!="object"||g===null)d[f]=g;else if(g instanceof Date)d[f]=new Date(g);else if(g instanceof Map)d[f]=new Map(a(Array.from(g),u));else if(g instanceof Set)d[f]=new Set(a(Array.from(g),u));else if(ArrayBuffer.isView(g))d[f]=r(g);else{var b=s.indexOf(g);d[f]=b!==-1?i[b]:u(g)}}return s.pop(),i.pop(),d}:function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c)if(Object.hasOwnProperty.call(c,f)!==!1){var g=c[f];if(typeof g!="object"||g===null)d[f]=g;else if(g instanceof Date)d[f]=new Date(g);else if(g instanceof Map)d[f]=new Map(a(Array.from(g),u));else if(g instanceof Set)d[f]=new Set(a(Array.from(g),u));else if(ArrayBuffer.isView(g))d[f]=r(g);else{var b=s.indexOf(g);d[f]=b!==-1?i[b]:u(g)}}return s.pop(),i.pop(),d};function a(u,c){for(var d=Object.keys(u),f=new Array(d.length),g=0;g{ht(),pt(),ft(),e.exports=L0()()}),U0=mt(t=>{function e(r){let n=r.split("/");for(let l=0;l{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0});var e=gn(),r={objectMode:!0},n={clean:!0};t.default=class{constructor(l){this.options=l||{},this.options=Object.assign(Object.assign({},n),l),this._inflights=new Map}put(l,o){return this._inflights.set(l.messageId,l),o&&o(),this}createStream(){let l=new e.Readable(r),o=[],s=!1,i=0;return this._inflights.forEach((a,u)=>{o.push(a)}),l._read=()=>{!s&&i{if(!s)return s=!0,setTimeout(()=>{l.emit("close")},0),l},l}del(l,o){let s=this._inflights.get(l.messageId);return s?(this._inflights.delete(l.messageId),o(null,s)):o&&o(new Error("missing packet")),this}get(l,o){let s=this._inflights.get(l.messageId);return s?o(null,s):o&&o(new Error("missing packet")),this}close(l){this.options.clean&&(this._inflights=null),l&&l()}}}),N0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0});var e=[0,16,128,131,135,144,145,151,153];t.default=(r,n,l)=>{r.log("handlePublish: packet %o",n),l=typeof l<"u"?l:r.noop;let o=n.topic.toString(),s=n.payload,{qos:i}=n,{messageId:a}=n,{options:u}=r;if(r.options.protocolVersion===5){let c;if(n.properties&&(c=n.properties.topicAlias),typeof c<"u")if(o.length===0){if(!(c>0&&c<=65535))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));{let d=r.topicAliasRecv.getTopicByAlias(c);if(!d)return r.log("handlePublish :: unregistered topic alias. alias: %d",c),void r.emit("error",new Error("Received unregistered Topic Alias"));o=d,r.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",o,c)}}else{if(!r.topicAliasRecv.put(o,c))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));r.log("handlePublish :: registered topic: %s - alias: %d",o,c)}}switch(r.log("handlePublish: qos %d",i),i){case 2:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for pubrec")):void(d?r._sendPacket({cmd:"pubrec",messageId:a,reasonCode:d},l):r.incomingStore.put(n,()=>{r._sendPacket({cmd:"pubrec",messageId:a},l)}))));break;case 1:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for puback")):(d||r.emit("message",o,s,n),void r.handleMessage(n,f=>{if(f)return l&&l(f);r._sendPacket({cmd:"puback",messageId:a,reasonCode:d},l)}))));break;case 0:r.emit("message",o,s,n),r.handleMessage(n,l);break;default:r.log("handlePublish: unknown QoS. Doing nothing.")}}}),D0=mt((t,e)=>{e.exports={version:"5.10.3"}}),Nn=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.MQTTJS_VERSION=t.nextTick=t.applyMixin=t.ErrorWithReasonCode=void 0;var e=class Rp extends Error{constructor(n,l){super(n),this.code=l,Object.setPrototypeOf(this,Rp.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};t.ErrorWithReasonCode=e,t.applyMixin=function(r,n,l=!1){var o;let s=[n];for(;;){let i=s[0],a=Object.getPrototypeOf(i);if(!(a!=null&&a.prototype))break;s.unshift(a)}for(let i of s)for(let a of Object.getOwnPropertyNames(i.prototype))(l||a!=="constructor")&&Object.defineProperty(r.prototype,a,(o=Object.getOwnPropertyDescriptor(i.prototype,a))!==null&&o!==void 0?o:Object.create(null))},t.nextTick=typeof(Nt==null?void 0:Nt.nextTick)=="function"?Nt.nextTick:r=>{setTimeout(r,0)},t.MQTTJS_VERSION=D0().version}),jo=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=void 0;var e=Nn();t.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.default=(r,n)=>{let{messageId:l}=n,o=n.cmd,s=null,i=r.outgoing[l]?r.outgoing[l].cb:null,a=null;if(i){switch(r.log("_handleAck :: packet type",o),o){case"pubcomp":case"puback":{let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._removeOutgoingAndStoreMessage(l,i);break}case"pubrec":{s={cmd:"pubrel",qos:2,messageId:l};let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._sendPacket(s);break}case"suback":{delete r.outgoing[l],r.messageIdProvider.deallocate(l);let u=n.granted;for(let c=0;c{delete r._resubscribeTopics[g]})}}delete r.messageIdToTopic[l],r._invokeStoreProcessingQueue(),i(a,n);break}case"unsuback":delete r.outgoing[l],r.messageIdProvider.deallocate(l),r._invokeStoreProcessingQueue(),i(null,n);break;default:r.emit("error",new Error("unrecognized packet type"))}r.disconnecting&&Object.keys(r.outgoing).length===0&&r.emit("outgoingEmpty")}else r.log("_handleAck :: Server sent an ack in error. Ignoring.")}}),F0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0});var e=Nn(),r=jo();t.default=(n,l)=>{let{options:o}=n,s=o.protocolVersion,i=s===5?l.reasonCode:l.returnCode;if(s===5)n.handleAuth(l,(a,u)=>{if(a)n.emit("error",a);else if(i===24)n.reconnecting=!1,n._sendPacket(u);else{let c=new e.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[i]}`,i);n.emit("error",c)}});else{let a=new e.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${s}`,i);n.emit("error",a)}}}),W0=mt(t=>{var f,g,b,_,S,U,D,G,$,X,B,A,E,w,M,R,nt,st,Z,j,N,F,it,J,Y,k,Va,et,ot,at,ut,Pp,H,rt,tt,kr,Ir,qa,Ji,Xi,$t,Ha,Qn,x;ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;var e=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,n=typeof Nt=="object"&&Nt?Nt:{},l=(I,m,y,T)=>{typeof n.emitWarning=="function"&&n.emitWarning(I,m,y,T)},o=globalThis.AbortController,s=globalThis.AbortSignal;if(typeof o>"u"){s=class{constructor(){Ht(this,"onabort");Ht(this,"_onabort",[]);Ht(this,"reason");Ht(this,"aborted",!1)}addEventListener(y,T){this._onabort.push(T)}},o=class{constructor(){Ht(this,"signal",new s);m()}abort(y){var T,L;if(!this.signal.aborted){this.signal.reason=y,this.signal.aborted=!0;for(let z of this.signal._onabort)z(y);(L=(T=this.signal).onabort)==null||L.call(T,y)}}};let I=((f=n.env)==null?void 0:f.LRU_CACHE_IGNORE_AC_WARNING)!=="1",m=()=>{I&&(I=!1,l("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",m))}}var i=I=>I&&I===Math.floor(I)&&I>0&&isFinite(I),a=I=>i(I)?I<=Math.pow(2,8)?Uint8Array:I<=Math.pow(2,16)?Uint16Array:I<=Math.pow(2,32)?Uint32Array:I<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(I){super(I),this.fill(0)}},c=(g=class{constructor(m,y){Ht(this,"heap");Ht(this,"length");if(!K(g,b))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new y(m),this.length=0}static create(m){let y=a(m);if(!y)return[];St(g,b,!0);let T=new g(m,y);return St(g,b,!1),T}push(m){this.heap[this.length++]=m}pop(){return this.heap[--this.length]}},b=new WeakMap,Pt(g,b,!1),g),d=(x=class{constructor(m){Pt(this,k);Pt(this,_);Pt(this,S);Pt(this,U);Pt(this,D);Pt(this,G);Ht(this,"ttl");Ht(this,"ttlResolution");Ht(this,"ttlAutopurge");Ht(this,"updateAgeOnGet");Ht(this,"updateAgeOnHas");Ht(this,"allowStale");Ht(this,"noDisposeOnSet");Ht(this,"noUpdateTTL");Ht(this,"maxEntrySize");Ht(this,"sizeCalculation");Ht(this,"noDeleteOnFetchRejection");Ht(this,"noDeleteOnStaleGet");Ht(this,"allowStaleOnFetchAbort");Ht(this,"allowStaleOnFetchRejection");Ht(this,"ignoreFetchAbort");Pt(this,$);Pt(this,X);Pt(this,B);Pt(this,A);Pt(this,E);Pt(this,w);Pt(this,M);Pt(this,R);Pt(this,nt);Pt(this,st);Pt(this,Z);Pt(this,j);Pt(this,N);Pt(this,F);Pt(this,it);Pt(this,J);Pt(this,Y);Pt(this,et,()=>{});Pt(this,ot,()=>{});Pt(this,at,()=>{});Pt(this,ut,()=>!1);Pt(this,H,m=>{});Pt(this,rt,(m,y,T)=>{});Pt(this,tt,(m,y,T,L)=>{if(T||L)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:y=0,ttl:T,ttlResolution:L=1,ttlAutopurge:z,updateAgeOnGet:V,updateAgeOnHas:lt,allowStale:ct,dispose:yt,disposeAfter:bt,noDisposeOnSet:wt,noUpdateTTL:Ot,maxSize:xt=0,maxEntrySize:_t=0,sizeCalculation:Tt,fetchMethod:kt,noDeleteOnFetchRejection:vt,noDeleteOnStaleGet:Ct,allowStaleOnFetchRejection:re,allowStaleOnFetchAbort:Yt,ignoreFetchAbort:se}=m;if(y!==0&&!i(y))throw new TypeError("max option must be a nonnegative integer");let Je=y?a(y):Array;if(!Je)throw new Error("invalid max value: "+y);if(St(this,_,y),St(this,S,xt),this.maxEntrySize=_t||K(this,S),this.sizeCalculation=Tt,this.sizeCalculation){if(!K(this,S)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(kt!==void 0&&typeof kt!="function")throw new TypeError("fetchMethod must be a function if specified");if(St(this,G,kt),St(this,J,!!kt),St(this,B,new Map),St(this,A,new Array(y).fill(void 0)),St(this,E,new Array(y).fill(void 0)),St(this,w,new Je(y)),St(this,M,new Je(y)),St(this,R,0),St(this,nt,0),St(this,st,c.create(y)),St(this,$,0),St(this,X,0),typeof yt=="function"&&St(this,U,yt),typeof bt=="function"?(St(this,D,bt),St(this,Z,[])):(St(this,D,void 0),St(this,Z,void 0)),St(this,it,!!K(this,U)),St(this,Y,!!K(this,D)),this.noDisposeOnSet=!!wt,this.noUpdateTTL=!!Ot,this.noDeleteOnFetchRejection=!!vt,this.allowStaleOnFetchRejection=!!re,this.allowStaleOnFetchAbort=!!Yt,this.ignoreFetchAbort=!!se,this.maxEntrySize!==0){if(K(this,S)!==0&&!i(K(this,S)))throw new TypeError("maxSize must be a positive integer if specified");if(!i(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Et(this,k,Pp).call(this)}if(this.allowStale=!!ct,this.noDeleteOnStaleGet=!!Ct,this.updateAgeOnGet=!!V,this.updateAgeOnHas=!!lt,this.ttlResolution=i(L)||L===0?L:1,this.ttlAutopurge=!!z,this.ttl=T||0,this.ttl){if(!i(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Et(this,k,Va).call(this)}if(K(this,_)===0&&this.ttl===0&&K(this,S)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!K(this,_)&&!K(this,S)){let _e="LRU_CACHE_UNBOUNDED";(ki=>!r.has(ki))(_e)&&(r.add(_e),l("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",_e,x))}}static unsafeExposeInternals(m){return{starts:K(m,N),ttls:K(m,F),sizes:K(m,j),keyMap:K(m,B),keyList:K(m,A),valList:K(m,E),next:K(m,w),prev:K(m,M),get head(){return K(m,R)},get tail(){return K(m,nt)},free:K(m,st),isBackgroundFetch:y=>{var T;return Et(T=m,k,$t).call(T,y)},backgroundFetch:(y,T,L,z)=>{var V;return Et(V=m,k,Xi).call(V,y,T,L,z)},moveToTail:y=>{var T;return Et(T=m,k,Qn).call(T,y)},indexes:y=>{var T;return Et(T=m,k,kr).call(T,y)},rindexes:y=>{var T;return Et(T=m,k,Ir).call(T,y)},isStale:y=>{var T;return K(T=m,ut).call(T,y)}}}get max(){return K(this,_)}get maxSize(){return K(this,S)}get calculatedSize(){return K(this,X)}get size(){return K(this,$)}get fetchMethod(){return K(this,G)}get dispose(){return K(this,U)}get disposeAfter(){return K(this,D)}getRemainingTTL(m){return K(this,B).has(m)?1/0:0}*entries(){for(let m of Et(this,k,kr).call(this))K(this,E)[m]!==void 0&&K(this,A)[m]!==void 0&&!Et(this,k,$t).call(this,K(this,E)[m])&&(yield[K(this,A)[m],K(this,E)[m]])}*rentries(){for(let m of Et(this,k,Ir).call(this))K(this,E)[m]!==void 0&&K(this,A)[m]!==void 0&&!Et(this,k,$t).call(this,K(this,E)[m])&&(yield[K(this,A)[m],K(this,E)[m]])}*keys(){for(let m of Et(this,k,kr).call(this)){let y=K(this,A)[m];y!==void 0&&!Et(this,k,$t).call(this,K(this,E)[m])&&(yield y)}}*rkeys(){for(let m of Et(this,k,Ir).call(this)){let y=K(this,A)[m];y!==void 0&&!Et(this,k,$t).call(this,K(this,E)[m])&&(yield y)}}*values(){for(let m of Et(this,k,kr).call(this))K(this,E)[m]!==void 0&&!Et(this,k,$t).call(this,K(this,E)[m])&&(yield K(this,E)[m])}*rvalues(){for(let m of Et(this,k,Ir).call(this))K(this,E)[m]!==void 0&&!Et(this,k,$t).call(this,K(this,E)[m])&&(yield K(this,E)[m])}[Symbol.iterator](){return this.entries()}find(m,y={}){for(let T of Et(this,k,kr).call(this)){let L=K(this,E)[T],z=Et(this,k,$t).call(this,L)?L.__staleWhileFetching:L;if(z!==void 0&&m(z,K(this,A)[T],this))return this.get(K(this,A)[T],y)}}forEach(m,y=this){for(let T of Et(this,k,kr).call(this)){let L=K(this,E)[T],z=Et(this,k,$t).call(this,L)?L.__staleWhileFetching:L;z!==void 0&&m.call(y,z,K(this,A)[T],this)}}rforEach(m,y=this){for(let T of Et(this,k,Ir).call(this)){let L=K(this,E)[T],z=Et(this,k,$t).call(this,L)?L.__staleWhileFetching:L;z!==void 0&&m.call(y,z,K(this,A)[T],this)}}purgeStale(){let m=!1;for(let y of Et(this,k,Ir).call(this,{allowStale:!0}))K(this,ut).call(this,y)&&(this.delete(K(this,A)[y]),m=!0);return m}dump(){let m=[];for(let y of Et(this,k,kr).call(this,{allowStale:!0})){let T=K(this,A)[y],L=K(this,E)[y],z=Et(this,k,$t).call(this,L)?L.__staleWhileFetching:L;if(z===void 0||T===void 0)continue;let V={value:z};if(K(this,F)&&K(this,N)){V.ttl=K(this,F)[y];let lt=e.now()-K(this,N)[y];V.start=Math.floor(Date.now()-lt)}K(this,j)&&(V.size=K(this,j)[y]),m.unshift([T,V])}return m}load(m){this.clear();for(let[y,T]of m){if(T.start){let L=Date.now()-T.start;T.start=e.now()-L}this.set(y,T.value,T)}}set(m,y,T={}){var Ot,xt,_t,Tt,kt;if(y===void 0)return this.delete(m),this;let{ttl:L=this.ttl,start:z,noDisposeOnSet:V=this.noDisposeOnSet,sizeCalculation:lt=this.sizeCalculation,status:ct}=T,{noUpdateTTL:yt=this.noUpdateTTL}=T,bt=K(this,tt).call(this,m,y,T.size||0,lt);if(this.maxEntrySize&&bt>this.maxEntrySize)return ct&&(ct.set="miss",ct.maxEntrySizeExceeded=!0),this.delete(m),this;let wt=K(this,$)===0?void 0:K(this,B).get(m);if(wt===void 0)wt=K(this,$)===0?K(this,nt):K(this,st).length!==0?K(this,st).pop():K(this,$)===K(this,_)?Et(this,k,Ji).call(this,!1):K(this,$),K(this,A)[wt]=m,K(this,E)[wt]=y,K(this,B).set(m,wt),K(this,w)[K(this,nt)]=wt,K(this,M)[wt]=K(this,nt),St(this,nt,wt),Ii(this,$)._++,K(this,rt).call(this,wt,bt,ct),ct&&(ct.set="add"),yt=!1;else{Et(this,k,Qn).call(this,wt);let vt=K(this,E)[wt];if(y!==vt){if(K(this,J)&&Et(this,k,$t).call(this,vt)){vt.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ct}=vt;Ct!==void 0&&!V&&(K(this,it)&&((Ot=K(this,U))==null||Ot.call(this,Ct,m,"set")),K(this,Y)&&((xt=K(this,Z))==null||xt.push([Ct,m,"set"])))}else V||(K(this,it)&&((_t=K(this,U))==null||_t.call(this,vt,m,"set")),K(this,Y)&&((Tt=K(this,Z))==null||Tt.push([vt,m,"set"])));if(K(this,H).call(this,wt),K(this,rt).call(this,wt,bt,ct),K(this,E)[wt]=y,ct){ct.set="replace";let Ct=vt&&Et(this,k,$t).call(this,vt)?vt.__staleWhileFetching:vt;Ct!==void 0&&(ct.oldValue=Ct)}}else ct&&(ct.set="update")}if(L!==0&&!K(this,F)&&Et(this,k,Va).call(this),K(this,F)&&(yt||K(this,at).call(this,wt,L,z),ct&&K(this,ot).call(this,ct,wt)),!V&&K(this,Y)&&K(this,Z)){let vt,Ct=K(this,Z);for(;vt=Ct==null?void 0:Ct.shift();)(kt=K(this,D))==null||kt.call(this,...vt)}return this}pop(){var m;try{for(;K(this,$);){let y=K(this,E)[K(this,R)];if(Et(this,k,Ji).call(this,!0),Et(this,k,$t).call(this,y)){if(y.__staleWhileFetching)return y.__staleWhileFetching}else if(y!==void 0)return y}}finally{if(K(this,Y)&&K(this,Z)){let y,T=K(this,Z);for(;y=T==null?void 0:T.shift();)(m=K(this,D))==null||m.call(this,...y)}}}has(m,y={}){let{updateAgeOnHas:T=this.updateAgeOnHas,status:L}=y,z=K(this,B).get(m);if(z!==void 0){let V=K(this,E)[z];if(Et(this,k,$t).call(this,V)&&V.__staleWhileFetching===void 0)return!1;if(!K(this,ut).call(this,z))return T&&K(this,et).call(this,z),L&&(L.has="hit",K(this,ot).call(this,L,z)),!0;L&&(L.has="stale",K(this,ot).call(this,L,z))}else L&&(L.has="miss");return!1}peek(m,y={}){let{allowStale:T=this.allowStale}=y,L=K(this,B).get(m);if(L!==void 0&&(T||!K(this,ut).call(this,L))){let z=K(this,E)[L];return Et(this,k,$t).call(this,z)?z.__staleWhileFetching:z}}async fetch(m,y={}){let{allowStale:T=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:z=this.noDeleteOnStaleGet,ttl:V=this.ttl,noDisposeOnSet:lt=this.noDisposeOnSet,size:ct=0,sizeCalculation:yt=this.sizeCalculation,noUpdateTTL:bt=this.noUpdateTTL,noDeleteOnFetchRejection:wt=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Ot=this.allowStaleOnFetchRejection,ignoreFetchAbort:xt=this.ignoreFetchAbort,allowStaleOnFetchAbort:_t=this.allowStaleOnFetchAbort,context:Tt,forceRefresh:kt=!1,status:vt,signal:Ct}=y;if(!K(this,J))return vt&&(vt.fetch="get"),this.get(m,{allowStale:T,updateAgeOnGet:L,noDeleteOnStaleGet:z,status:vt});let re={allowStale:T,updateAgeOnGet:L,noDeleteOnStaleGet:z,ttl:V,noDisposeOnSet:lt,size:ct,sizeCalculation:yt,noUpdateTTL:bt,noDeleteOnFetchRejection:wt,allowStaleOnFetchRejection:Ot,allowStaleOnFetchAbort:_t,ignoreFetchAbort:xt,status:vt,signal:Ct},Yt=K(this,B).get(m);if(Yt===void 0){vt&&(vt.fetch="miss");let se=Et(this,k,Xi).call(this,m,Yt,re,Tt);return se.__returned=se}{let se=K(this,E)[Yt];if(Et(this,k,$t).call(this,se)){let ql=T&&se.__staleWhileFetching!==void 0;return vt&&(vt.fetch="inflight",ql&&(vt.returnedStale=!0)),ql?se.__staleWhileFetching:se.__returned=se}let Je=K(this,ut).call(this,Yt);if(!kt&&!Je)return vt&&(vt.fetch="hit"),Et(this,k,Qn).call(this,Yt),L&&K(this,et).call(this,Yt),vt&&K(this,ot).call(this,vt,Yt),se;let _e=Et(this,k,Xi).call(this,m,Yt,re,Tt),ki=_e.__staleWhileFetching!==void 0&&T;return vt&&(vt.fetch=Je?"stale":"refresh",ki&&Je&&(vt.returnedStale=!0)),ki?_e.__staleWhileFetching:_e.__returned=_e}}get(m,y={}){let{allowStale:T=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:z=this.noDeleteOnStaleGet,status:V}=y,lt=K(this,B).get(m);if(lt!==void 0){let ct=K(this,E)[lt],yt=Et(this,k,$t).call(this,ct);return V&&K(this,ot).call(this,V,lt),K(this,ut).call(this,lt)?(V&&(V.get="stale"),yt?(V&&T&&ct.__staleWhileFetching!==void 0&&(V.returnedStale=!0),T?ct.__staleWhileFetching:void 0):(z||this.delete(m),V&&T&&(V.returnedStale=!0),T?ct:void 0)):(V&&(V.get="hit"),yt?ct.__staleWhileFetching:(Et(this,k,Qn).call(this,lt),L&&K(this,et).call(this,lt),ct))}V&&(V.get="miss")}delete(m){var T,L,z,V;let y=!1;if(K(this,$)!==0){let lt=K(this,B).get(m);if(lt!==void 0)if(y=!0,K(this,$)===1)this.clear();else{K(this,H).call(this,lt);let ct=K(this,E)[lt];Et(this,k,$t).call(this,ct)?ct.__abortController.abort(new Error("deleted")):(K(this,it)||K(this,Y))&&(K(this,it)&&((T=K(this,U))==null||T.call(this,ct,m,"delete")),K(this,Y)&&((L=K(this,Z))==null||L.push([ct,m,"delete"]))),K(this,B).delete(m),K(this,A)[lt]=void 0,K(this,E)[lt]=void 0,lt===K(this,nt)?St(this,nt,K(this,M)[lt]):lt===K(this,R)?St(this,R,K(this,w)[lt]):(K(this,w)[K(this,M)[lt]]=K(this,w)[lt],K(this,M)[K(this,w)[lt]]=K(this,M)[lt]),Ii(this,$)._--,K(this,st).push(lt)}}if(K(this,Y)&&((z=K(this,Z))!=null&&z.length)){let lt,ct=K(this,Z);for(;lt=ct==null?void 0:ct.shift();)(V=K(this,D))==null||V.call(this,...lt)}return y}clear(){var m,y,T;for(let L of Et(this,k,Ir).call(this,{allowStale:!0})){let z=K(this,E)[L];if(Et(this,k,$t).call(this,z))z.__abortController.abort(new Error("deleted"));else{let V=K(this,A)[L];K(this,it)&&((m=K(this,U))==null||m.call(this,z,V,"delete")),K(this,Y)&&((y=K(this,Z))==null||y.push([z,V,"delete"]))}}if(K(this,B).clear(),K(this,E).fill(void 0),K(this,A).fill(void 0),K(this,F)&&K(this,N)&&(K(this,F).fill(0),K(this,N).fill(0)),K(this,j)&&K(this,j).fill(0),St(this,R,0),St(this,nt,0),K(this,st).length=0,St(this,X,0),St(this,$,0),K(this,Y)&&K(this,Z)){let L,z=K(this,Z);for(;L=z==null?void 0:z.shift();)(T=K(this,D))==null||T.call(this,...L)}}},_=new WeakMap,S=new WeakMap,U=new WeakMap,D=new WeakMap,G=new WeakMap,$=new WeakMap,X=new WeakMap,B=new WeakMap,A=new WeakMap,E=new WeakMap,w=new WeakMap,M=new WeakMap,R=new WeakMap,nt=new WeakMap,st=new WeakMap,Z=new WeakMap,j=new WeakMap,N=new WeakMap,F=new WeakMap,it=new WeakMap,J=new WeakMap,Y=new WeakMap,k=new WeakSet,Va=function(){let m=new u(K(this,_)),y=new u(K(this,_));St(this,F,m),St(this,N,y),St(this,at,(z,V,lt=e.now())=>{if(y[z]=V!==0?lt:0,m[z]=V,V!==0&&this.ttlAutopurge){let ct=setTimeout(()=>{K(this,ut).call(this,z)&&this.delete(K(this,A)[z])},V+1);ct.unref&&ct.unref()}}),St(this,et,z=>{y[z]=m[z]!==0?e.now():0}),St(this,ot,(z,V)=>{if(m[V]){let lt=m[V],ct=y[V];z.ttl=lt,z.start=ct,z.now=T||L();let yt=z.now-ct;z.remainingTTL=lt-yt}});let T=0,L=()=>{let z=e.now();if(this.ttlResolution>0){T=z;let V=setTimeout(()=>T=0,this.ttlResolution);V.unref&&V.unref()}return z};this.getRemainingTTL=z=>{let V=K(this,B).get(z);if(V===void 0)return 0;let lt=m[V],ct=y[V];return lt===0||ct===0?1/0:lt-((T||L())-ct)},St(this,ut,z=>m[z]!==0&&y[z]!==0&&(T||L())-y[z]>m[z])},et=new WeakMap,ot=new WeakMap,at=new WeakMap,ut=new WeakMap,Pp=function(){let m=new u(K(this,_));St(this,X,0),St(this,j,m),St(this,H,y=>{St(this,X,K(this,X)-m[y]),m[y]=0}),St(this,tt,(y,T,L,z)=>{if(Et(this,k,$t).call(this,T))return 0;if(!i(L)){if(!z)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if(typeof z!="function")throw new TypeError("sizeCalculation must be a function");if(L=z(T,y),!i(L))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return L}),St(this,rt,(y,T,L)=>{if(m[y]=T,K(this,S)){let z=K(this,S)-m[y];for(;K(this,X)>z;)Et(this,k,Ji).call(this,!0)}St(this,X,K(this,X)+m[y]),L&&(L.entrySize=T,L.totalCalculatedSize=K(this,X))})},H=new WeakMap,rt=new WeakMap,tt=new WeakMap,kr=function*({allowStale:m=this.allowStale}={}){if(K(this,$))for(let y=K(this,nt);Et(this,k,qa).call(this,y)&&((m||!K(this,ut).call(this,y))&&(yield y),y!==K(this,R));)y=K(this,M)[y]},Ir=function*({allowStale:m=this.allowStale}={}){if(K(this,$))for(let y=K(this,R);Et(this,k,qa).call(this,y)&&((m||!K(this,ut).call(this,y))&&(yield y),y!==K(this,nt));)y=K(this,w)[y]},qa=function(m){return m!==void 0&&K(this,B).get(K(this,A)[m])===m},Ji=function(m){var z,V;let y=K(this,R),T=K(this,A)[y],L=K(this,E)[y];return K(this,J)&&Et(this,k,$t).call(this,L)?L.__abortController.abort(new Error("evicted")):(K(this,it)||K(this,Y))&&(K(this,it)&&((z=K(this,U))==null||z.call(this,L,T,"evict")),K(this,Y)&&((V=K(this,Z))==null||V.push([L,T,"evict"]))),K(this,H).call(this,y),m&&(K(this,A)[y]=void 0,K(this,E)[y]=void 0,K(this,st).push(y)),K(this,$)===1?(St(this,R,St(this,nt,0)),K(this,st).length=0):St(this,R,K(this,w)[y]),K(this,B).delete(T),Ii(this,$)._--,y},Xi=function(m,y,T,L){let z=y===void 0?void 0:K(this,E)[y];if(Et(this,k,$t).call(this,z))return z;let V=new o,{signal:lt}=T;lt==null||lt.addEventListener("abort",()=>V.abort(lt.reason),{signal:V.signal});let ct={signal:V.signal,options:T,context:L},yt=(xt,_t=!1)=>{let{aborted:Tt}=V.signal,kt=T.ignoreFetchAbort&&xt!==void 0;if(T.status&&(Tt&&!_t?(T.status.fetchAborted=!0,T.status.fetchError=V.signal.reason,kt&&(T.status.fetchAbortIgnored=!0)):T.status.fetchResolved=!0),Tt&&!kt&&!_t)return bt(V.signal.reason);let vt=wt;return K(this,E)[y]===wt&&(xt===void 0?vt.__staleWhileFetching?K(this,E)[y]=vt.__staleWhileFetching:this.delete(m):(T.status&&(T.status.fetchUpdated=!0),this.set(m,xt,ct.options))),xt},bt=xt=>{let{aborted:_t}=V.signal,Tt=_t&&T.allowStaleOnFetchAbort,kt=Tt||T.allowStaleOnFetchRejection,vt=kt||T.noDeleteOnFetchRejection,Ct=wt;if(K(this,E)[y]===wt&&(vt&&Ct.__staleWhileFetching!==void 0?Tt||(K(this,E)[y]=Ct.__staleWhileFetching):this.delete(m)),kt)return T.status&&Ct.__staleWhileFetching!==void 0&&(T.status.returnedStale=!0),Ct.__staleWhileFetching;if(Ct.__returned===Ct)throw xt};T.status&&(T.status.fetchDispatched=!0);let wt=new Promise((xt,_t)=>{var kt;let Tt=(kt=K(this,G))==null?void 0:kt.call(this,m,z,ct);Tt&&Tt instanceof Promise&&Tt.then(vt=>xt(vt===void 0?void 0:vt),_t),V.signal.addEventListener("abort",()=>{(!T.ignoreFetchAbort||T.allowStaleOnFetchAbort)&&(xt(void 0),T.allowStaleOnFetchAbort&&(xt=vt=>yt(vt,!0)))})}).then(yt,xt=>(T.status&&(T.status.fetchRejected=!0,T.status.fetchError=xt),bt(xt))),Ot=Object.assign(wt,{__abortController:V,__staleWhileFetching:z,__returned:void 0});return y===void 0?(this.set(m,Ot,{...ct.options,status:void 0}),y=K(this,B).get(m)):K(this,E)[y]=Ot,Ot},$t=function(m){if(!K(this,J))return!1;let y=m;return!!y&&y instanceof Promise&&y.hasOwnProperty("__staleWhileFetching")&&y.__abortController instanceof o},Ha=function(m,y){K(this,M)[y]=m,K(this,w)[m]=y},Qn=function(m){m!==K(this,nt)&&(m===K(this,R)?St(this,R,K(this,w)[m]):Et(this,k,Ha).call(this,K(this,M)[m],K(this,w)[m]),Et(this,k,Ha).call(this,K(this,nt),m),St(this,nt,m))},x);t.LRUCache=d}),br=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.ContainerIterator=t.Container=t.Base=void 0,t.ContainerIterator=class{constructor(r=0){this.iteratorType=r}equals(r){return this.o===r.o}};var e=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};t.Base=e,t.Container=class extends e{}}),$0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[]){super(),this.S=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.i=0,this.S=[]}push(n){return this.S.push(n),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}};t.default=r}),V0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[]){super(),this.j=0,this.q=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.q=[],this.i=this.j=0}push(n){let l=this.q.length;if(this.j/l>.5&&this.j+this.i>=l&&l>4096){let o=this.i;for(let s=0;s{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[],l=function(s,i){return s>i?-1:s>1;for(let i=this.i-1>>1;i>=0;--i)this.k(i,s)}m(n){let l=this.C[n];for(;n>0;){let o=n-1>>1,s=this.C[o];if(this.v(s,l)<=0)break;this.C[n]=s,n=o}this.C[n]=l}k(n,l){let o=this.C[n];for(;n0&&(s=i,a=this.C[i]),this.v(a,o)>=0)break;this.C[n]=a,n=s}this.C[n]=o}clear(){this.i=0,this.C.length=0}push(n){this.C.push(n),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let n=this.C[0],l=this.C.pop();return this.i-=1,this.i&&(this.C[0]=l,this.k(0,this.i>>1)),n}top(){return this.C[0]}find(n){return this.C.indexOf(n)>=0}remove(n){let l=this.C.indexOf(n);return!(l<0)&&(l===0?this.pop():l===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(l,1,this.C.pop()),this.i-=1,this.m(l),this.k(l,this.i>>1)),!0)}updateItem(n){let l=this.C.indexOf(n);return!(l<0)&&(this.m(l),this.k(l,this.i>>1),!0)}toArray(){return[...this.C]}};t.default=r}),jl=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Container{};t.default=r}),vr=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.throwIteratorAccessError=function(){throw new RangeError("Iterator access denied!")}}),Bp=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.RandomIterator=void 0;var e=br(),r=vr(),n=class extends e.ContainerIterator{constructor(l,o){super(o),this.o=l,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(l){this.container.setElementByPos(this.o,l)}};t.RandomIterator=n}),H0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=jl())&&e.t?e:{default:e},n=Bp(),l=class Mp extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new Mp(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=!0){if(super(),Array.isArray(s))this.J=i?[...s]:s,this.i=s.length;else{this.J=[];let a=this;s.forEach(function(u){a.pushBack(u)})}}clear(){this.i=0,this.J.length=0}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J[s]}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J.splice(s,1),this.i-=1,this.i}eraseElementByValue(s){let i=0;for(let a=0;athis.i-1)throw new RangeError;this.J[s]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;return this.J.splice(s,0,...new Array(a).fill(i)),this.i+=a,this.i}find(s){for(let i=0;i{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=jl())&&e.t?e:{default:e},n=br(),l=vr(),o=class Lp extends n.ContainerIterator{constructor(a,u,c,d){super(d),this.o=a,this.h=u,this.container=c,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l}set pointer(a){this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l=a}copy(){return new Lp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.default{constructor(i=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let a=this;i.forEach(function(u){a.pushBack(u)})}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}G(i,a){let u=a.B,c={l:i,L:a,B:u};a.B=c,u.L=c,a===this.h&&(this.p=c),u===this.h&&(this._=c),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return a.l}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}eraseElementByValue(i){let a=this.p;for(;a!==this.h;)a.l===i&&this.V(a),a=a.B;return this.i}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),i=i.next(),this.V(a),i}pushBack(i){return this.G(i,this._),this.i}popBack(){if(this.i===0)return;let i=this._.l;return this.V(this._),i}pushFront(i){return this.G(i,this.h),this.i}popFront(){if(this.i===0)return;let i=this.p.l;return this.V(this.p),i}setElementByPos(i,a){if(i<0||i>this.i-1)throw new RangeError;let u=this.p;for(;i--;)u=u.B;u.l=a}insert(i,a,u=1){if(i<0||i>this.i)throw new RangeError;if(u<=0)return this.i;if(i===0)for(;u--;)this.pushFront(a);else if(i===this.i)for(;u--;)this.pushBack(a);else{let c=this.p;for(let f=1;f{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=jl())&&e.t?e:{default:e},n=Bp(),l=class jp extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new jp(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let a=(()=>{if(typeof s.length=="number")return s.length;if(typeof s.size=="number")return s.size;if(typeof s.size=="function")return s.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=i,this.P=Math.max(Math.ceil(a/this.F),1);for(let d=0;d>1)-(u>>1),this.D=this.N=this.F-a%this.F>>1;let c=this;s.forEach(function(d){c.pushBack(d)})}T(){let s=[],i=Math.max(this.P>>1,1);for(let a=0;a>1}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(s){return this.i&&(this.N0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,s}pushFront(s){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=s,this.i}popFront(){if(this.i===0)return;let s=this.A[this.j][this.D];return this.i!==1&&(this.Dthis.i-1)throw new RangeError;let{curNodeBucketIndex:i,curNodePointerIndex:a}=this.O(s);return this.A[i][a]}setElementByPos(s,i){if(s<0||s>this.i-1)throw new RangeError;let{curNodeBucketIndex:a,curNodePointerIndex:u}=this.O(s);this.A[a][u]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;if(s===0)for(;a--;)this.pushFront(i);else if(s===this.i)for(;a--;)this.pushBack(i);else{let u=[];for(let c=s;cthis.i-1)throw new RangeError;if(s===0)this.popFront();else if(s===this.i-1)this.popBack();else{let i=[];for(let u=s+1;us;)this.popBack();return this.i}sort(s){let i=[];for(let a=0;a{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.TreeNodeEnableIndex=t.TreeNode=void 0;var e=class{constructor(r,n){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=r,this.l=n}L(){let r=this;if(r.ee===1&&r.tt.tt===r)r=r.W;else if(r.U)for(r=r.U;r.W;)r=r.W;else{let n=r.tt;for(;n.U===r;)r=n,n=r.tt;r=n}return r}B(){let r=this;if(r.W){for(r=r.W;r.U;)r=r.U;return r}{let n=r.tt;for(;n.W===r;)r=n,n=r.tt;return r.W!==n?n:r}}te(){let r=this.tt,n=this.W,l=n.U;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.U=this,this.tt=n,this.W=l,l&&(l.tt=this),n}se(){let r=this.tt,n=this.U,l=n.W;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.W=this,this.tt=n,this.U=l,l&&(l.tt=this),n}};t.TreeNode=e,t.TreeNodeEnableIndex=class extends e{constructor(){super(...arguments),this.rt=1}te(){let r=super.te();return this.ie(),r.ie(),r}se(){let r=super.se();return this.ie(),r.ie(),r}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}}}),Up=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=G0(),r=br(),n=vr(),l=class extends r.Container{constructor(s=function(a,u){return au?1:0},i=!1){super(),this.Y=void 0,this.v=s,i?(this.re=e.TreeNodeEnableIndex,this.M=function(a,u,c){let d=this.ne(a,u,c);if(d){let f=d.tt;for(;f!==this.h;)f.rt+=1,f=f.tt;let g=this.he(d);if(g){let{parentNode:b,grandParent:_,curNode:S}=g;b.ie(),_.ie(),S.ie()}}return this.i},this.V=function(a){let u=this.fe(a);for(;u!==this.h;)u.rt-=1,u=u.tt}):(this.re=e.TreeNode,this.M=function(a,u,c){let d=this.ne(a,u,c);return d&&this.he(d),this.i},this.V=this.fe),this.h=new this.re}X(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)s=s.W;else{if(!(u>0))return s;a=s,s=s.U}}return a}Z(s,i){let a=this.h;for(;s;)this.v(s.u,i)<=0?s=s.W:(a=s,s=s.U);return a}$(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)a=s,s=s.W;else{if(!(u>0))return s;s=s.U}}return a}rr(s,i){let a=this.h;for(;s;)this.v(s.u,i)<0?(a=s,s=s.W):s=s.U;return a}ue(s){for(;;){let i=s.tt;if(i===this.h)return;if(s.ee===1)return void(s.ee=0);if(s===i.U){let a=i.W;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.te():i.te();else{if(a.W&&a.W.ee===1)return a.ee=i.ee,i.ee=0,a.W.ee=0,void(i===this.Y?this.Y=i.te():i.te());a.U&&a.U.ee===1?(a.ee=1,a.U.ee=0,a.se()):(a.ee=1,s=i)}}else{let a=i.U;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.se():i.se();else{if(a.U&&a.U.ee===1)return a.ee=i.ee,i.ee=0,a.U.ee=0,void(i===this.Y?this.Y=i.se():i.se());a.W&&a.W.ee===1?(a.ee=1,a.W.ee=0,a.te()):(a.ee=1,s=i)}}}}fe(s){if(this.i===1)return this.clear(),this.h;let i=s;for(;i.U||i.W;){if(i.W)for(i=i.W;i.U;)i=i.U;else i=i.U;[s.u,i.u]=[i.u,s.u],[s.l,i.l]=[i.l,s.l],s=i}this.h.U===i?this.h.U=i.tt:this.h.W===i&&(this.h.W=i.tt),this.ue(i);let a=i.tt;return i===a.U?a.U=void 0:a.W=void 0,this.i-=1,this.Y.ee=0,a}oe(s,i){return s!==void 0&&(!(!this.oe(s.U,i)&&!i(s))||this.oe(s.W,i))}he(s){for(;;){let i=s.tt;if(i.ee===0)return;let a=i.tt;if(i===a.U){let u=a.W;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.W){if(s.ee=0,s.U&&(s.U.tt=i),s.W&&(s.W.tt=a),i.W=s.U,a.U=s.W,s.U=i,s.W=a,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.se():a.se(),a.ee=1}else{let u=a.U;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.U){if(s.ee=0,s.U&&(s.U.tt=a),s.W&&(s.W.tt=i),a.W=s.U,i.U=s.W,s.U=a,s.W=i,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.te():a.te(),a.ee=1}return}}ne(s,i,a){if(this.Y===void 0)return this.i+=1,this.Y=new this.re(s,i),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,void(this.h.W=this.Y);let u,c=this.h.U,d=this.v(c.u,s);if(d!==0){if(d>0)c.U=new this.re(s,i),c.U.tt=c,u=c.U,this.h.U=u;else{let f=this.h.W,g=this.v(f.u,s);if(g===0)return void(f.l=i);if(g<0)f.W=new this.re(s,i),f.W.tt=f,u=f.W,this.h.W=u;else{if(a!==void 0){let b=a.o;if(b!==this.h){let _=this.v(b.u,s);if(_===0)return void(b.l=i);if(_>0){let S=b.L(),U=this.v(S.u,s);if(U===0)return void(S.l=i);U<0&&(u=new this.re(s,i),S.W===void 0?(S.W=u,u.tt=S):(b.U=u,u.tt=b))}}}if(u===void 0)for(u=this.Y;;){let b=this.v(u.u,s);if(b>0){if(u.U===void 0){u.U=new this.re(s,i),u.U.tt=u,u=u.U;break}u=u.U}else{if(!(b<0))return void(u.l=i);if(u.W===void 0){u.W=new this.re(s,i),u.W.tt=u,u=u.W;break}u=u.W}}}}return this.i+=1,u}c.l=i}I(s,i){for(;s;){let a=this.v(s.u,i);if(a<0)s=s.W;else{if(!(a>0))return s;s=s.U}}return s||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(s,i){let a=s.o;if(a===this.h&&(0,n.throwIteratorAccessError)(),this.i===1)return a.u=i,!0;if(a===this.h.U)return this.v(a.B().u,i)>0&&(a.u=i,!0);if(a===this.h.W)return this.v(a.L().u,i)<0&&(a.u=i,!0);let u=a.L().u;if(this.v(u,i)>=0)return!1;let c=a.B().u;return!(this.v(c,i)<=0)&&(a.u=i,!0)}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i=0,a=this;return this.oe(this.Y,function(u){return s===i?(a.V(u),!0):(i+=1,!1)}),this.i}eraseElementByKey(s){if(this.i===0)return!1;let i=this.I(this.Y,s);return i!==this.h&&(this.V(i),!0)}eraseElementByIterator(s){let i=s.o;i===this.h&&(0,n.throwIteratorAccessError)();let a=i.W===void 0;return s.iteratorType===0?a&&s.next():(!a||i.U===void 0)&&s.next(),this.V(i),s}forEach(s){let i=0;for(let a of this)s(a,i++,this)}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i,a=0;for(let u of this){if(a===s){i=u;break}a+=1}return i}getHeight(){if(this.i===0)return 0;let s=function(i){return i?Math.max(s(i.U),s(i.W))+1:0};return s(this.Y)}},o=l;t.default=o}),Np=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=vr(),n=class extends e.ContainerIterator{constructor(l,o,s){super(s),this.o=l,this.h=o,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let l=this.o,o=this.h.tt;if(l===this.h)return o?o.rt-1:0;let s=0;for(l.U&&(s+=l.U.rt);l!==o;){let i=l.tt;l===i.W&&(s+=1,i.U&&(s+=i.U.rt)),l=i}return s}};t.default=n}),Q0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Up()),r=l(Np()),n=vr();function l(i){return i&&i.t?i:{default:i}}var o=class Dp extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.u}copy(){return new Dp(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.insert(d)})}*K(i){i!==void 0&&(yield*this.K(i.U),yield i.u,yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(i,a){return this.M(i,void 0,a)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}union(i){let a=this;return i.forEach(function(u){a.insert(u)}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),Y0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Up()),r=l(Np()),n=vr();function l(i){return i&&i.t?i:{default:i}}var o=class Fp extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new Fp(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.setElement(d[0],d[1])})}*K(i){i!==void 0&&(yield*this.K(i.U),yield[i.u,i.l],yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let i=this.h.U;return[i.u,i.l]}back(){if(this.i===0)return;let i=this.h.W;return[i.u,i.l]}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}setElement(i,a,u){return this.M(i,a,u)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}getElementByKey(i){return this.I(this.Y,i).l}union(i){let a=this;return i.forEach(function(u){a.setElement(u[0],u[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),Wp=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=function(e){let r=typeof e;return r==="object"&&e!==null||r==="function"}}),$p=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.HashContainerIterator=t.HashContainer=void 0;var e,r=br(),n=(e=Wp())&&e.t?e:{default:e},l=vr(),o=class extends r.ContainerIterator{constructor(i,a,u){super(u),this.o=i,this.h=a,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}};t.HashContainerIterator=o;var s=class extends r.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}M(i,a,u){let c;if(u===void 0&&(u=(0,n.default)(i)),u){let d=i[this.HASH_TAG];if(d!==void 0)return this.H[d].l=a,this.i;Object.defineProperty(i,this.HASH_TAG,{value:this.H.length,configurable:!0}),c={u:i,l:a,L:this._,B:this.h},this.H.push(c)}else{let d=this.g[i];if(d)return d.l=a,this.i;c={u:i,l:a,L:this._,B:this.h},this.g[i]=c}return this.i===0?(this.p=c,this.h.B=c):this._.B=c,this._=c,this.h.L=c,++this.i}I(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let u=i[this.HASH_TAG];return u===void 0?this.h:this.H[u]}return this.g[i]||this.h}clear(){let i=this.HASH_TAG;this.H.forEach(function(a){delete a.u[i]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(i,a){let u;if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];if(c===void 0)return!1;delete i[this.HASH_TAG],u=this.H[c],delete this.H[c]}else{if(u=this.g[i],u===void 0)return!1;delete this.g[i]}return this.V(u),!0}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),this.V(a),i.next()}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}};t.HashContainer=s}),J0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=$p(),r=vr(),n=class Vp extends e.HashContainerIterator{constructor(s,i,a,u){super(s,i,u),this.container=a}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new Vp(this.o,this.h,this.container,this.iteratorType)}},l=class extends e.HashContainer{constructor(o=[]){super();let s=this;o.forEach(function(i){s.insert(i)})}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(o,s){return this.M(o,void 0,s)}getElementByPos(o){if(o<0||o>this.i-1)throw new RangeError;let s=this.p;for(;o--;)s=s.B;return s.u}find(o,s){let i=this.I(o,s);return new n(i,this.h,this)}forEach(o){let s=0,i=this.p;for(;i!==this.h;)o(i.u,s++,this),i=i.B}[Symbol.iterator](){return(function*(){let o=this.p;for(;o!==this.h;)yield o.u,o=o.B}).bind(this)()}};t.default=l}),X0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=$p(),n=(e=Wp())&&e.t?e:{default:e},l=vr(),o=class qp extends r.HashContainerIterator{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,l.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new qp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.HashContainer{constructor(i=[]){super();let a=this;i.forEach(function(u){a.setElement(u[0],u[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(i,a,u){return this.M(i,a,u)}getElementByKey(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];return c!==void 0?this.H[c].l:void 0}let u=this.g[i];return u?u.l:void 0}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return[a.u,a.l]}find(i,a){let u=this.I(i,a);return new o(u,this.h,this)}forEach(i){let a=0,u=this.p;for(;u!==this.h;)i([u.u,u.l],a++,this),u=u.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield[i.u,i.l],i=i.B}).bind(this)()}};t.default=s}),Z0=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"t",{value:!0}),Object.defineProperty(t,"Deque",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"HashMap",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"HashSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"OrderedMap",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"OrderedSet",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"PriorityQueue",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"Stack",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(t,"Vector",{enumerable:!0,get:function(){return l.default}});var e=d($0()),r=d(V0()),n=d(q0()),l=d(H0()),o=d(z0()),s=d(K0()),i=d(Q0()),a=d(Y0()),u=d(J0()),c=d(X0());function d(f){return f&&f.t?f:{default:f}}}),ty=mt((t,e)=>{ht(),pt(),ft();var r=Z0().OrderedSet,n=dr()("number-allocator:trace"),l=dr()("number-allocator:error");function o(i,a){this.low=i,this.high=a}function s(i,a){if(!(this instanceof s))return new s(i,a);this.min=i,this.max=a,this.ss=new r([],(u,c)=>u.compare(c)),n("Create"),this.clear()}o.prototype.equals=function(i){return this.low===i.low&&this.high===i.high},o.prototype.compare=function(i){return this.lowi)&&(c===i?(this.ss.updateKeyByIterator(u,new o(c+1,d)),n("use():"+i),!0):d===i?(this.ss.updateKeyByIterator(u,new o(c,d-1)),n("use():"+i),!0):(this.ss.updateKeyByIterator(u,new o(i+1,d)),this.ss.insert(new o(c,i-1)),n("use():"+i),!0))}return n("use():failed"),!1},s.prototype.free=function(i){if(ithis.max)return void l("free():"+i+" is out of range");let a=new o(i,i),u=this.ss.upperBound(a);if(u.equals(this.ss.end())){if(u.equals(this.ss.begin()))return void this.ss.insert(a);u.pre();let c=u.pointer.high;u.pointer.high+1===i?this.ss.updateKeyByIterator(u,new o(c,i)):this.ss.insert(a)}else if(u.equals(this.ss.begin()))if(i+1===u.pointer.low){let c=u.pointer.high;this.ss.updateKeyByIterator(u,new o(i,c))}else this.ss.insert(a);else{let c=u.pointer.low,d=u.pointer.high;u.pre();let f=u.pointer.low;u.pointer.high+1===i?i+1===c?(this.ss.eraseElementByIterator(u),this.ss.updateKeyByIterator(u,new o(f,d))):this.ss.updateKeyByIterator(u,new o(f,i)):i+1===c?(this.ss.eraseElementByIterator(u.next()),this.ss.insert(new o(i,d))):this.ss.insert(a)}n("free():"+i)},s.prototype.clear=function(){n("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},s.prototype.intervalCount=function(){return this.ss.size()},s.prototype.dump=function(){for(let i of this.ss);},e.exports=s}),Hp=mt((t,e)=>{ht(),pt(),ft();var r=ty();e.exports.NumberAllocator=r}),ey=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0});var e=W0(),r=Hp();t.default=class{constructor(n){n>0&&(this.aliasToTopic=new e.LRUCache({max:n}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,n),this.max=n,this.length=0)}put(n,l){if(l===0||l>this.max)return!1;let o=this.aliasToTopic.get(l);return o&&delete this.topicToAlias[o],this.aliasToTopic.set(l,n),this.topicToAlias[n]=l,this.numberAllocator.use(l),this.length=this.aliasToTopic.size,!0}getTopicByAlias(n){return this.aliasToTopic.get(n)}getAliasByTopic(n){let l=this.topicToAlias[n];return typeof l<"u"&&this.aliasToTopic.get(l),l}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}}}),ry=mt(t=>{ht(),pt(),ft();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=jo(),n=e(ey()),l=Nn();t.default=(o,s)=>{o.log("_handleConnack");let{options:i}=o,a=i.protocolVersion===5?s.reasonCode:s.returnCode;if(clearTimeout(o.connackTimer),delete o.topicAliasSend,s.properties){if(s.properties.topicAliasMaximum){if(s.properties.topicAliasMaximum>65535)return void o.emit("error",new Error("topicAliasMaximum from broker is out of range"));s.properties.topicAliasMaximum>0&&(o.topicAliasSend=new n.default(s.properties.topicAliasMaximum))}s.properties.serverKeepAlive&&i.keepalive&&(i.keepalive=s.properties.serverKeepAlive),s.properties.maximumPacketSize&&(i.properties||(i.properties={}),i.properties.maximumPacketSize=s.properties.maximumPacketSize)}if(a===0)o.reconnecting=!1,o._onConnect(s);else if(a>0){let u=new l.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[a]}`,a);o.emit("error",u),o.options.reconnectOnConnackError&&o._cleanUp(!0)}}}),ny=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,r,n)=>{e.log("handling pubrel packet");let l=typeof n<"u"?n:e.noop,{messageId:o}=r,s={cmd:"pubcomp",messageId:o};e.incomingStore.get(r,(i,a)=>{i?e._sendPacket(s,l):(e.emit("message",a.topic,a.payload,a),e.handleMessage(a,u=>{if(u)return l(u);e.incomingStore.del(a,e.noop),e._sendPacket(s,l)}))})}}),iy=mt(t=>{ht(),pt(),ft();var e=t&&t.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(N0()),n=e(F0()),l=e(ry()),o=e(jo()),s=e(ny());t.default=(i,a,u)=>{let{options:c}=i;if(c.protocolVersion===5&&c.properties&&c.properties.maximumPacketSize&&c.properties.maximumPacketSize{ht(),pt(),ft();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0}),t.TypedEventEmitter=void 0;var r=e((Un(),Dt(dn))),n=Nn(),l=class{};t.TypedEventEmitter=l,(0,n.applyMixin)(l,r.default)}),Uo=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.isReactNativeBrowser=t.isWebWorker=void 0;var e,r=()=>{var o,s;return!(typeof self!="object"||(s=(o=self==null?void 0:self.constructor)===null||o===void 0?void 0:o.name)===null||s===void 0||!s.includes("WorkerGlobalScope"))},n=()=>typeof navigator<"u"&&navigator.product==="ReactNative",l=typeof window<"u"&&(typeof navigator<"u"&&((e=navigator.userAgent)===null||e===void 0?void 0:e.toLowerCase().indexOf(" electron/"))>-1&&Nt!=null&&Nt.versions?!Object.prototype.hasOwnProperty.call(Nt.versions,"electron"):typeof window.document<"u")||r()||n();t.isWebWorker=r(),t.isReactNativeBrowser=n(),t.default=l}),sy=mt((t,e)=>{var r,n;ht(),pt(),ft(),r=t,n=function(l){var o,s=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,a=2*i,u=new WeakMap,c=function(f,g){return function(b){var _=g.get(b),S=_===void 0?b.size:_s)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;b.has(S);)S=Math.floor(Math.random()*s);return f(b,S)}}((o=u,function(f,g){return o.set(f,g),g}),u),d=function(f){return function(g){var b=f(g);return g.add(b),b}}(c);l.addUniqueNumber=d,l.generateUniqueNumber=c},typeof t=="object"&&typeof e<"u"?n(t):typeof define=="function"&&define.amd?define(["exports"],n):n((r=typeof globalThis<"u"?globalThis:r||self).fastUniqueNumbers={})}),ay=mt((t,e)=>{var r,n;ht(),pt(),ft(),r=t,n=function(l,o){l.load=function(s){var i=new Map([[0,function(){}]]),a=new Map([[0,function(){}]]),u=new Map,c=new Worker(s);return c.addEventListener("message",function(d){var f=d.data;if(function(w){return w.method!==void 0&&w.method==="call"}(f)){var g=f.params,b=g.timerId,_=g.timerType;if(_==="interval"){var S=i.get(b);if(typeof S=="number"){var U=u.get(S);if(U===void 0||U.timerId!==b||U.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof S<"u"))throw new Error("The timer is in an undefined state.");S()}}else if(_==="timeout"){var D=a.get(b);if(typeof D=="number"){var G=u.get(D);if(G===void 0||G.timerId!==b||G.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof D<"u"))throw new Error("The timer is in an undefined state.");D(),a.delete(b)}}}else{if(!function(w){return w.error===null&&typeof w.id=="number"}(f)){var $=f.error.message;throw new Error($)}var X=f.id,B=u.get(X);if(B===void 0)throw new Error("The timer is in an undefined state.");var A=B.timerId,E=B.timerType;u.delete(X),E==="interval"?i.delete(A):a.delete(A)}}),{clearInterval:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"interval"}),i.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"interval"}})},clearTimeout:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"timeout"}),a.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"timeout"}})},setInterval:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,g=o.generateUniqueNumber(i);return i.set(g,function(){d(),typeof i.get(g)=="function"&&c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:g,timerType:"interval"}})}),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:g,timerType:"interval"}}),g},setTimeout:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,g=o.generateUniqueNumber(a);return a.set(g,d),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:g,timerType:"timeout"}}),g}}}},typeof t=="object"&&typeof e<"u"?n(t,sy()):typeof define=="function"&&define.amd?define(["exports","fast-unique-numbers"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimersBroker={},r.fastUniqueNumbers)}),ly=mt((t,e)=>{var r,n;ht(),pt(),ft(),r=t,n=function(l,o){var s=function(i,a){var u=null;return function(){if(u!==null)return u;var c=new Blob([a],{type:"application/javascript; charset=utf-8"}),d=URL.createObjectURL(c);return u=i(d),setTimeout(function(){return URL.revokeObjectURL(d)}),u}}(o.load,`(()=>{var e={472:(e,t,r)=>{var o,i;void 0===(i="function"==typeof(o=function(){"use strict";var e=new Map,t=new Map,r=function(t){var r=e.get(t);if(void 0===r)throw new Error('There is no interval scheduled with the given id "'.concat(t,'".'));clearTimeout(r),e.delete(t)},o=function(e){var r=t.get(e);if(void 0===r)throw new Error('There is no timeout scheduled with the given id "'.concat(e,'".'));clearTimeout(r),t.delete(e)},i=function(e,t){var r,o=performance.now();return{expected:o+(r=e-Math.max(0,o-t)),remainingDelay:r}},n=function e(t,r,o,i){var n=performance.now();n>o?postMessage({id:null,method:"call",params:{timerId:r,timerType:i}}):t.set(r,setTimeout(e,o-n,t,r,o,i))},a=function(t,r,o){var a=i(t,o),s=a.expected,d=a.remainingDelay;e.set(r,setTimeout(n,d,e,r,s,"interval"))},s=function(e,r,o){var a=i(e,o),s=a.expected,d=a.remainingDelay;t.set(r,setTimeout(n,d,t,r,s,"timeout"))};addEventListener("message",(function(e){var t=e.data;try{if("clear"===t.method){var i=t.id,n=t.params,d=n.timerId,c=n.timerType;if("interval"===c)r(d),postMessage({error:null,id:i});else{if("timeout"!==c)throw new Error('The given type "'.concat(c,'" is not supported'));o(d),postMessage({error:null,id:i})}}else{if("set"!==t.method)throw new Error('The given method "'.concat(t.method,'" is not supported'));var u=t.params,l=u.delay,p=u.now,m=u.timerId,v=u.timerType;if("interval"===v)a(l,m,p);else{if("timeout"!==v)throw new Error('The given type "'.concat(v,'" is not supported'));s(l,m,p)}}}catch(e){postMessage({error:{message:e.message},id:t.id,result:null})}}))})?o.call(t,r,t,e):o)||(e.exports=i)}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`);l.clearInterval=function(i){return s().clearInterval(i)},l.clearTimeout=function(i){return s().clearTimeout(i)},l.setInterval=function(){var i;return(i=s()).setInterval.apply(i,arguments)},l.setTimeout=function(){var i;return(i=s()).setTimeout.apply(i,arguments)}},typeof t=="object"&&typeof e<"u"?n(t,ay()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimers={},r.workerTimersBroker)}),uy=mt(t=>{ht(),pt(),ft();var e=t&&t.__createBinding||(Object.create?function(a,u,c,d){d===void 0&&(d=c);var f=Object.getOwnPropertyDescriptor(u,c);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[c]}}),Object.defineProperty(a,d,f)}:function(a,u,c,d){d===void 0&&(d=c),a[d]=u[c]}),r=t&&t.__setModuleDefault||(Object.create?function(a,u){Object.defineProperty(a,"default",{enumerable:!0,value:u})}:function(a,u){a.default=u}),n=t&&t.__importStar||function(a){if(a&&a.__esModule)return a;var u={};if(a!=null)for(var c in a)c!=="default"&&Object.prototype.hasOwnProperty.call(a,c)&&e(u,a,c);return r(u,a),u};Object.defineProperty(t,"__esModule",{value:!0});var l=n(Uo()),o=ly(),s={set:o.setInterval,clear:o.clearInterval},i={set:(a,u)=>setInterval(a,u),clear:a=>clearInterval(a)};t.default=a=>{switch(a){case"native":return i;case"worker":return s;default:return!l.default||l.isWebWorker||l.isReactNativeBrowser?i:s}}}),zp=mt(t=>{ht(),pt(),ft();var e=t&&t.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(uy());t.default=class{get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}constructor(n,l){this.destroyed=!1,this.client=n,this.timer=typeof l=="object"&&"set"in l&&"clear"in l?l:(0,r.default)(l),this.setKeepalive(n.options.keepalive)}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(n){if(n*=1e3,isNaN(n)||n<=0||n>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${n}`);this._keepalive=n,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${n}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let n=Math.ceil(1.5*this._keepalive);this._keepaliveTimeoutTimestamp=Date.now()+n,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}}}),za=mt(t=>{ht(),pt(),ft();var e=t&&t.__createBinding||(Object.create?function(X,B,A,E){E===void 0&&(E=A);var w=Object.getOwnPropertyDescriptor(B,A);(!w||("get"in w?!B.__esModule:w.writable||w.configurable))&&(w={enumerable:!0,get:function(){return B[A]}}),Object.defineProperty(X,E,w)}:function(X,B,A,E){E===void 0&&(E=A),X[E]=B[A]}),r=t&&t.__setModuleDefault||(Object.create?function(X,B){Object.defineProperty(X,"default",{enumerable:!0,value:B})}:function(X,B){X.default=B}),n=t&&t.__importStar||function(X){if(X&&X.__esModule)return X;var B={};if(X!=null)for(var A in X)A!=="default"&&Object.prototype.hasOwnProperty.call(X,A)&&e(B,X,A);return r(B,X),B},l=t&&t.__importDefault||function(X){return X&&X.__esModule?X:{default:X}};Object.defineProperty(t,"__esModule",{value:!0});var o=l(Zm()),s=l(M0()),i=l(xp()),a=gn(),u=l(j0()),c=n(U0()),d=l(dr()),f=l(Cp()),g=l(iy()),b=Nn(),_=oy(),S=l(zp()),U=n(Uo()),D=globalThis.setImmediate||((...X)=>{let B=X.shift();(0,b.nextTick)(()=>{B(...X)})}),G={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:3e4,clean:!0,resubscribe:!0,writeCache:!0,timerVariant:"auto"},$=class Ka extends _.TypedEventEmitter{static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}constructor(B,A){super(),this.options=A||{};for(let E in G)typeof this.options[E]>"u"?this.options[E]=G[E]:this.options[E]=A[E];this.log=this.options.log||(0,d.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",Ka.VERSION),U.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",U.default?"browser":"node"),this.log("MqttClient :: options.protocol",A.protocol),this.log("MqttClient :: options.protocolVersion",A.protocolVersion),this.log("MqttClient :: options.username",A.username),this.log("MqttClient :: options.keepalive",A.keepalive),this.log("MqttClient :: options.reconnectPeriod",A.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",A.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",A.properties?A.properties.topicAliasMaximum:void 0),this.options.clientId=typeof A.clientId=="string"?A.clientId:Ka.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=A.protocolVersion===5&&A.customHandleAcks?A.customHandleAcks:(...E)=>{E[3](null,0)},this.options.writeCache||(s.default.writeToStream.cacheNumbers=!1),this.streamBuilder=B,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new i.default:this.options.messageIdProvider,this.outgoingStore=A.outgoingStore||new f.default,this.incomingStore=A.incomingStore||new f.default,this.queueQoSZero=A.queueQoSZero===void 0||A.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,A.properties&&A.properties.topicAliasMaximum>0&&(A.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new o.default(A.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:E}=this,w=()=>{let M=E.shift();this.log("deliver :: entry %o",M);let R=null;if(!M)return void this._resubscribe();R=M.packet,this.log("deliver :: call _sendPacket for %o",R);let nt=!0;R.messageId&&R.messageId!==0&&(this.messageIdProvider.register(R.messageId)||(nt=!1)),nt?this._sendPacket(R,st=>{M.cb&&M.cb(st),w()}):(this.log("messageId: %d has already used. The message is skipped and removed.",R.messageId),w())};this.log("connect :: sending queued packets"),w()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}handleAuth(B,A){A()}handleMessage(B,A){A()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var B;let A=new a.Writable,E=s.default.parser(this.options),w=null,M=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),E.on("packet",Z=>{this.log("parser :: on packet push to packets array."),M.push(Z)});let R=()=>{this.log("work :: getting next packet in queue");let Z=M.shift();if(Z)this.log("work :: packet pulled from queue"),(0,g.default)(this,Z,nt);else{this.log("work :: no packets in queue");let j=w;w=null,this.log("work :: done flag is %s",!!j),j&&j()}},nt=()=>{if(M.length)(0,b.nextTick)(R);else{let Z=w;w=null,Z()}};A._write=(Z,j,N)=>{w=N,this.log("writable stream :: parsing buffer"),E.parse(Z),R()},this.log("connect :: pipe stream to writable stream"),this.stream.pipe(A),this.stream.on("error",Z=>{this.log("streamErrorHandler :: error",Z.message),Z.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",Z)):this.noop(Z)}),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let st={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(st.will=Object.assign(Object.assign({},this.options.will),{payload:(B=this.options.will)===null||B===void 0?void 0:B.payload})),this.topicAliasRecv&&(st.properties||(st.properties={}),this.topicAliasRecv&&(st.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(st),E.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let Z=Object.assign({cmd:"auth",reasonCode:0},this.options.authPacket);this._writePacket(Z)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(B,A,E,w){this.log("publish :: message `%s` to topic `%s`",A,B);let{options:M}=this;typeof E=="function"&&(w=E,E=null),E=E||{},E=Object.assign(Object.assign({},{qos:0,retain:!1,dup:!1}),E);let{qos:R,retain:nt,dup:st,properties:Z,cbStorePut:j}=E;if(this._checkDisconnecting(w))return this;let N=()=>{let F=0;if((R===1||R===2)&&(F=this._nextId(),F===null))return this.log("No messageId left"),!1;let it={cmd:"publish",topic:B,payload:A,qos:R,retain:nt,messageId:F,dup:st};switch(M.protocolVersion===5&&(it.properties=Z),this.log("publish :: qos",R),R){case 1:case 2:this.outgoing[it.messageId]={volatile:!1,cb:w||this.noop},this.log("MqttClient:publish: packet cmd: %s",it.cmd),this._sendPacket(it,void 0,j);break;default:this.log("MqttClient:publish: packet cmd: %s",it.cmd),this._sendPacket(it,w,j)}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!N())&&this._storeProcessingQueue.push({invoke:N,cbStorePut:E.cbStorePut,callback:w}),this}publishAsync(B,A,E){return new Promise((w,M)=>{this.publish(B,A,E,(R,nt)=>{R?M(R):w(nt)})})}subscribe(B,A,E){let w=this.options.protocolVersion;typeof A=="function"&&(E=A),E=E||this.noop;let M=!1,R=[];typeof B=="string"?R=B=[B]:Array.isArray(B)?R=B:typeof B=="object"&&(M=B.resubscribe,delete B.resubscribe,R=Object.keys(B));let nt=c.validateTopics(R);if(nt!==null)return D(E,new Error(`Invalid topic ${nt}`)),this;if(this._checkDisconnecting(E))return this.log("subscribe: discconecting true"),this;let st={qos:0};w===5&&(st.nl=!1,st.rap=!1,st.rh=0);let Z=(A=Object.assign(Object.assign({},st),A)).properties,j=[],N=(it,J)=>{if(J=J||A,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,it)||this._resubscribeTopics[it].qos{this.log("subscribe: array topic %s",it),N(it)}):Object.keys(B).forEach(it=>{this.log("subscribe: object topic %s, %o",it,B[it]),N(it,B[it])}),!j.length)return E(null,[]),this;let F=()=>{let it=this._nextId();if(it===null)return this.log("No messageId left"),!1;let J={cmd:"subscribe",subscriptions:j,messageId:it};if(Z&&(J.properties=Z),this.options.resubscribe){this.log("subscribe :: resubscribe true");let Y=[];j.forEach(k=>{if(this.options.reconnectPeriod>0){let q={qos:k.qos};w===5&&(q.nl=k.nl||!1,q.rap=k.rap||!1,q.rh=k.rh||0,q.properties=k.properties),this._resubscribeTopics[k.topic]=q,Y.push(k.topic)}}),this.messageIdToTopic[J.messageId]=Y}return this.outgoing[J.messageId]={volatile:!0,cb(Y,k){if(!Y){let{granted:q}=k;for(let et=0;et0||!F())&&this._storeProcessingQueue.push({invoke:F,callback:E}),this}subscribeAsync(B,A){return new Promise((E,w)=>{this.subscribe(B,A,(M,R)=>{M?w(M):E(R)})})}unsubscribe(B,A,E){typeof B=="string"&&(B=[B]),typeof A=="function"&&(E=A),E=E||this.noop;let w=c.validateTopics(B);if(w!==null)return D(E,new Error(`Invalid topic ${w}`)),this;if(this._checkDisconnecting(E))return this;let M=()=>{let R=this._nextId();if(R===null)return this.log("No messageId left"),!1;let nt={cmd:"unsubscribe",messageId:R,unsubscriptions:[]};return typeof B=="string"?nt.unsubscriptions=[B]:Array.isArray(B)&&(nt.unsubscriptions=B),this.options.resubscribe&&nt.unsubscriptions.forEach(st=>{delete this._resubscribeTopics[st]}),typeof A=="object"&&A.properties&&(nt.properties=A.properties),this.outgoing[nt.messageId]={volatile:!0,cb:E},this.log("unsubscribe: call _sendPacket"),this._sendPacket(nt),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!M())&&this._storeProcessingQueue.push({invoke:M,callback:E}),this}unsubscribeAsync(B,A){return new Promise((E,w)=>{this.unsubscribe(B,A,(M,R)=>{M?w(M):E(R)})})}end(B,A,E){this.log("end :: (%s)",this.options.clientId),(B==null||typeof B!="boolean")&&(E=E||A,A=B,B=!1),typeof A!="object"&&(E=E||A,A=null),this.log("end :: cb? %s",!!E),(!E||typeof E!="function")&&(E=this.noop);let w=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(R=>{this.outgoingStore.close(nt=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),E){let st=R||nt;this.log("end :: closeStores: invoking callback with args"),E(st)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},M=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,B),this._cleanUp(B,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,b.nextTick)(w)},A)};return this.disconnecting?(E(),this):(this._clearReconnect(),this.disconnecting=!0,!B&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,M,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),M()),this)}endAsync(B,A){return new Promise((E,w)=>{this.end(B,A,M=>{M?w(M):E()})})}removeOutgoingMessage(B){if(this.outgoing[B]){let{cb:A}=this.outgoing[B];this._removeOutgoingAndStoreMessage(B,()=>{A(new Error("Message removed"))})}return this}reconnect(B){this.log("client reconnect");let A=()=>{B?(this.options.incomingStore=B.incomingStore,this.options.outgoingStore=B.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=A:A(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(B=>{this.outgoing[B].volatile&&typeof this.outgoing[B].cb=="function"&&(this.outgoing[B].cb(new Error("Connection closed")),delete this.outgoing[B])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(B=>{typeof this.outgoing[B].cb=="function"&&(this.outgoing[B].cb(new Error("Connection closed")),delete this.outgoing[B])}))}_removeTopicAliasAndRecoverTopicName(B){let A;B.properties&&(A=B.properties.topicAlias);let E=B.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",A,E),E.length===0){if(typeof A>"u")return new Error("Unregistered Topic Alias");if(E=this.topicAliasSend.getTopicByAlias(A),typeof E>"u")return new Error("Unregistered Topic Alias");B.topic=E}A&&delete B.properties.topicAlias}_checkDisconnecting(B){return this.disconnecting&&(B&&B!==this.noop?B(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(B,A,E={}){if(A&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",A)),this.log("_cleanUp :: forced? %s",B),B)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let w=Object.assign({cmd:"disconnect"},E);this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(w,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),D(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),A&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",A),A())}_storeAndSend(B,A,E){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",B.cmd);let w,M=B;if(M.cmd==="publish"&&(M=(0,u.default)(B),w=this._removeTopicAliasAndRecoverTopicName(M),w))return A&&A(w);this.outgoingStore.put(M,R=>{if(R)return A&&A(R);E(),this._writePacket(B,A)})}_applyTopicAlias(B){if(this.options.protocolVersion===5&&B.cmd==="publish"){let A;B.properties&&(A=B.properties.topicAlias);let E=B.topic.toString();if(this.topicAliasSend)if(A){if(E.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",E,A),!this.topicAliasSend.put(E,A)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,A),new Error("Sending Topic Alias out of range")}else E.length!==0&&(this.options.autoAssignTopicAlias?(A=this.topicAliasSend.getAliasByTopic(E),A?(B.topic="",B.properties=Object.assign(Object.assign({},B.properties),{topicAlias:A}),this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",E,A)):(A=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(E,A),B.properties=Object.assign(Object.assign({},B.properties),{topicAlias:A}),this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",E,A))):this.options.autoUseTopicAlias&&(A=this.topicAliasSend.getAliasByTopic(E),A&&(B.topic="",B.properties=Object.assign(Object.assign({},B.properties),{topicAlias:A}),this.log("applyTopicAlias :: auto use topic: %s - alias: %d",E,A))));else if(A)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,A),new Error("Sending Topic Alias out of range")}}_noop(B){this.log("noop ::",B)}_writePacket(B,A){this.log("_writePacket :: packet: %O",B),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",B),this.log("_writePacket :: writing to stream");let E=s.default.writeToStream(B,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",E),!E&&A&&A!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",A)):A&&(this.log("_writePacket :: invoking cb"),A())}_sendPacket(B,A,E,w){this.log("_sendPacket :: (%s) :: start",this.options.clientId),E=E||this.noop,A=A||this.noop;let M=this._applyTopicAlias(B);if(M)A(M);else{if(!this.connected)return B.cmd==="auth"?void this._writePacket(B,A):(this.log("_sendPacket :: client not connected. Storing packet offline."),void this._storePacket(B,A,E));if(w)this._writePacket(B,A);else{switch(B.cmd){case"publish":break;case"pubrel":return void this._storeAndSend(B,A,E);default:return void this._writePacket(B,A)}switch(B.qos){case 2:case 1:this._storeAndSend(B,A,E);break;default:this._writePacket(B,A)}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}}}_storePacket(B,A,E){this.log("_storePacket :: packet: %o",B),this.log("_storePacket :: cb? %s",!!A),E=E||this.noop;let w=B;if(w.cmd==="publish"){w=(0,u.default)(B);let R=this._removeTopicAliasAndRecoverTopicName(w);if(R)return A&&A(R)}let M=w.qos||0;M===0&&this.queueQoSZero||w.cmd!=="publish"?this.queue.push({packet:w,cb:A}):M>0?(A=this.outgoing[w.messageId]?this.outgoing[w.messageId].cb:null,this.outgoingStore.put(w,R=>{if(R)return A&&A(R);E()})):A&&A(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new S.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(B=!1){this.keepaliveManager&&this.options.keepalive&&(B||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let B=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&B.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let A=0;A{let E=this.outgoingStore.createStream(),w=()=>{E.destroy(),E=null,this._flushStoreProcessingQueue(),M()},M=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",w),E.on("error",nt=>{M(),this._flushStoreProcessingQueue(),this.removeListener("close",w),this.emit("error",nt)});let R=()=>{if(!E)return;let nt,st=E.read(1);st?(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[st.messageId]?R():this.disconnecting||this.reconnectTimer?E.destroy&&E.destroy():(nt=this.outgoing[st.messageId]?this.outgoing[st.messageId].cb:null,this.outgoing[st.messageId]={volatile:!1,cb(Z,j){nt&&nt(Z,j),R()}},this._packetIdsDuringStoreProcessing[st.messageId]=!0,this.messageIdProvider.register(st.messageId)?this._sendPacket(st,void 0,void 0,!0):this.log("messageId: %d has already used.",st.messageId))):E.once("readable",R)};E.on("end",()=>{let nt=!0;for(let st in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[st]){nt=!1;break}this.removeListener("close",w),nt?(M(),this._invokeAllStoreProcessingQueue(),this.emit("connect",B)):A()}),R()};A()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let B=this._storeProcessingQueue[0];if(B&&B.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let B of this._storeProcessingQueue)B.cbStorePut&&B.cbStorePut(new Error("Connection closed")),B.callback&&B.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(B,A){delete this.outgoing[B],this.outgoingStore.del({messageId:B},(E,w)=>{A(E,w),this.messageIdProvider.deallocate(B),this._invokeStoreProcessingQueue()})}};$.VERSION=b.MQTTJS_VERSION,t.default=$}),cy=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0});var e=Hp();t.default=class{constructor(){this.numberAllocator=new e.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(r){return this.numberAllocator.use(r)}deallocate(r){this.numberAllocator.free(r)}clear(){this.numberAllocator.clear()}}});function Qr(t){throw new RangeError(Gp[t])}function _c(t,e){let r=t.split("@"),n="";return r.length>1&&(n=r[0]+"@",t=r[1]),n+function(l,o){let s=[],i=l.length;for(;i--;)s[i]=o(l[i]);return s}((t=t.replace(Kp,".")).split("."),e).join(".")}function Ec(t){let e=[],r=0,n=t.length;for(;r=55296&&l<=56319&&r{ht(),pt(),ft(),Sc=/^xn--/,Ac=/[^\0-\x7E]/,Kp=/[\x2E\u3002\uFF0E\uFF61]/g,Gp={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Me=Math.floor,Li=String.fromCharCode,ys=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)},bs=function(t,e,r){let n=0;for(t=r?Me(t/700):t>>1,t+=Me(t/e);t>455;n+=36)t=Me(t/35);return Me(n+36*t/(t+38))},vs=function(t){let e=[],r=t.length,n=0,l=128,o=72,s=t.lastIndexOf("-");s<0&&(s=0);for(let a=0;a=128&&Qr("not-basic"),e.push(t.charCodeAt(a));for(let a=s>0?s+1:0;a=r&&Qr("invalid-input");let g=(i=t.charCodeAt(a++))-48<10?i-22:i-65<26?i-65:i-97<26?i-97:36;(g>=36||g>Me((2147483647-n)/d))&&Qr("overflow"),n+=g*d;let b=f<=o?1:f>=o+26?26:f-o;if(gMe(2147483647/_)&&Qr("overflow"),d*=_}let c=e.length+1;o=bs(n-u,c,u==0),Me(n/c)>2147483647-l&&Qr("overflow"),l+=Me(n/c),n%=c,e.splice(n++,0,l)}var i;return String.fromCodePoint(...e)},ws=function(t){let e=[],r=(t=Ec(t)).length,n=128,l=0,o=72;for(let a of t)a<128&&e.push(Li(a));let s=e.length,i=s;for(s&&e.push("-");i=n&&cMe((2147483647-l)/u)&&Qr("overflow"),l+=(a-n)*u,n=a;for(let c of t)if(c2147483647&&Qr("overflow"),c==n){let d=l;for(let f=36;;f+=36){let g=f<=o?1:f>=o+26?26:f-o;if(dString.fromCodePoint(...t)},decode:vs,encode:ws,toASCII:function(t){return _c(t,function(e){return Ac.test(e)?"xn--"+ws(e):e})},toUnicode:function(t){return _c(t,function(e){return Sc.test(e)?vs(e.slice(4).toLowerCase()):e})}},Jr.encode,Jr.toASCII,Jr.toUnicode,Jr.ucs2,Jr.version});function fy(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var kc,vn,Ic,nr,py=ne(()=>{ht(),pt(),ft(),kc=function(t,e,r,n){e=e||"&",r=r||"=";var l={};if(typeof t!="string"||t.length===0)return l;var o=/\+/g;t=t.split(e);var s=1e3;n&&typeof n.maxKeys=="number"&&(s=n.maxKeys);var i=t.length;s>0&&i>s&&(i=s);for(var a=0;a=0?(u=g.substr(0,b),c=g.substr(b+1)):(u=g,c=""),d=decodeURIComponent(u),f=decodeURIComponent(c),fy(l,d)?Array.isArray(l[d])?l[d].push(f):l[d]=[l[d],f]:l[d]=f}return l},vn=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}},Ic=function(t,e,r,n){return e=e||"&",r=r||"=",t===null&&(t=void 0),typeof t=="object"?Object.keys(t).map(function(l){var o=encodeURIComponent(vn(l))+r;return Array.isArray(t[l])?t[l].map(function(s){return o+encodeURIComponent(vn(s))}).join(e):o+encodeURIComponent(vn(t[l]))}).join(e):n?encodeURIComponent(vn(n))+r+encodeURIComponent(vn(t)):""},(nr={}).decode=nr.parse=kc,nr.encode=nr.stringify=Ic,nr.decode,nr.encode,nr.parse,nr.stringify});function Ga(){throw new Error("setTimeout has not been defined")}function Qa(){throw new Error("clearTimeout has not been defined")}function Qp(t){if(or===setTimeout)return setTimeout(t,0);if((or===Ga||!or)&&setTimeout)return or=setTimeout,setTimeout(t,0);try{return or(t,0)}catch{try{return or.call(null,t,0)}catch{return or.call(this||an,t,0)}}}function dy(){ln&&rn&&(ln=!1,rn.length?ze=rn.concat(ze):ai=-1,ze.length&&Yp())}function Yp(){if(!ln){var t=Qp(dy);ln=!0;for(var e=ze.length;e;){for(rn=ze,ze=[];++ai{ht(),pt(),ft(),an=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,Kt=Oc={},function(){try{or=typeof setTimeout=="function"?setTimeout:Ga}catch{or=Ga}try{sr=typeof clearTimeout=="function"?clearTimeout:Qa}catch{sr=Qa}}(),ze=[],ln=!1,ai=-1,Kt.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r1)for(var S=1;S{ht(),pt(),ft(),Zi={},Ya=!1,Xr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,(zt=my()).platform="browser",zt.addListener,zt.argv,zt.binding,zt.browser,zt.chdir,zt.cwd,zt.emit,zt.env,zt.listeners,zt.nextTick,zt.off,zt.on,zt.once,zt.prependListener,zt.prependOnceListener,zt.removeAllListeners,zt.removeListener,zt.title,zt.umask,zt.version,zt.versions}),_s,Es,Ja,yy=ne(()=>{ht(),pt(),ft(),Jp(),_s={},Es=!1,Ja=function(){if(Es)return _s;Es=!0;var t=zt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+g)===47)return o.slice(u+g+1);if(g===0)return o.slice(u+g)}else a>d&&(l.charCodeAt(s+g)===47?f=g:g===0&&(f=0));break}var b=l.charCodeAt(s+g);if(b!==o.charCodeAt(u+g))break;b===47&&(f=g)}var _="";for(g=s+f+1;g<=i;++g)(g===i||l.charCodeAt(g)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,g=l.length-1,b=0;g>=s;--g)if((i=l.charCodeAt(g))!==47)d===-1&&(f=!1,d=g+1),i===46?u===-1?u=g:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=g+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,_s=n}()}),Xp={};function ke(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function zn(t,e,r){if(t&&Le.isObject(t)&&t instanceof ke)return t;var n=new ke;return n.parse(t,e,r),n}function by(t){if(typeof t=="string")t=new URL(t);else if(!(t instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(t.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return go?function(e){let r=e.hostname,n=e.pathname;for(let l=0;lid||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;nwd||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;nmd,Url:()=>hd,default:()=>jt,fileURLToPath:()=>Zp,format:()=>fd,parse:()=>gd,pathToFileURL:()=>td,resolve:()=>pd,resolveObject:()=>dd});var jt,xc,Le,Cc,Rc,Pc,Bc,ji,Ss,As,ks,Mc,Lc,Ui,Yr,Ni,Is,Ts,Xa,jc,ed,rd,nd,id,go,od,sd,ad,ld,ud,cd,Uc,hd,fd,pd,dd,gd,md,yd,bd,vd,wd,mo,_d,Ed,Sd,Ad,kd,Id,wy=ne(()=>{ht(),pt(),ft(),hy(),py(),gy(),yy(),Jp(),xc=Jr,Le={isString:function(t){return typeof t=="string"},isObject:function(t){return typeof t=="object"&&t!==null},isNull:function(t){return t===null},isNullOrUndefined:function(t){return t==null}},(jt={}).parse=zn,jt.resolve=function(t,e){return zn(t,!1,!0).resolve(e)},jt.resolveObject=function(t,e){return t?zn(t,!1,!0).resolveObject(e):e},jt.format=function(t){return Le.isString(t)&&(t=zn(t)),t instanceof ke?t.format():ke.prototype.format.call(t)},jt.Url=ke,Cc=/^([a-z0-9.+-]+:)/i,Rc=/:[0-9]*$/,Pc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Bc=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` -`," "]),ji=["'"].concat(Bc),Ss=["%","/","?",";","#"].concat(ji),As=["/","?","#"],ks=/^[+a-z0-9A-Z_-]{0,63}$/,Mc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Lc={javascript:!0,"javascript:":!0},Ui={javascript:!0,"javascript:":!0},Yr={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Ni=nr,ke.prototype.parse=function(t,e,r){if(!Le.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),l=n!==-1&&n127?$+="x":$+=G[X];if(!$.match(ks)){var A=U.slice(0,b),E=U.slice(b+1),w=G.match(Mc);w&&(A.push(w[1]),E.unshift(w[2])),E.length&&(s="/"+E.join(".")+s),this.hostname=A.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),S||(this.hostname=xc.toASCII(this.hostname));var M=this.port?":"+this.port:"",R=this.hostname||"";this.host=R+M,this.href+=this.host,S&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),s[0]!=="/"&&(s="/"+s))}if(!Lc[u])for(b=0,D=ji.length;b0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),r.search=t.search,r.query=t.query,Le.isNull(r.pathname)&&Le.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!G.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var X=G.slice(-1)[0],B=(r.host||t.host||G.length>1)&&(X==="."||X==="..")||X==="",A=0,E=G.length;E>=0;E--)(X=G[E])==="."?G.splice(E,1):X===".."?(G.splice(E,1),A++):A&&(G.splice(E,1),A--);if(!U&&!D)for(;A--;A)G.unshift("..");!U||G[0]===""||G[0]&&G[0].charAt(0)==="/"||G.unshift(""),B&&G.join("/").substr(-1)!=="/"&&G.push("");var w,M=G[0]===""||G[0]&&G[0].charAt(0)==="/";return $&&(r.hostname=r.host=M?"":G.length?G.shift():"",(w=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),(U=U||r.host&&G.length)&&!M&&G.unshift(""),G.length?r.pathname=G.join("/"):(r.pathname=null,r.path=null),Le.isNull(r.pathname)&&Le.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},ke.prototype.parseHost=function(){var t=this.host,e=Rc.exec(t);e&&((e=e[0])!==":"&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)},jt.Url,jt.format,jt.resolve,jt.resolveObject,Is={},Ts=!1,Xa=function(){if(Ts)return Is;Ts=!0;var t=Gt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+g)===47)return o.slice(u+g+1);if(g===0)return o.slice(u+g)}else a>d&&(l.charCodeAt(s+g)===47?f=g:g===0&&(f=0));break}var b=l.charCodeAt(s+g);if(b!==o.charCodeAt(u+g))break;b===47&&(f=g)}var _="";for(g=s+f+1;g<=i;++g)(g===i||l.charCodeAt(g)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,g=l.length-1,b=0;g>=s;--g)if((i=l.charCodeAt(g))!==47)d===-1&&(f=!1,d=g+1),i===46?u===-1?u=g:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=g+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Is=n}(),jc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=vy,jt.fileURLToPath=by,jt.Url,jt.format,jt.resolve,jt.resolveObject,jt.URL,ed=92,rd=47,nd=97,id=122,go=jc==="win32",od=/\//g,sd=/%/g,ad=/\\/g,ld=/\n/g,ud=/\r/g,cd=/\t/g,Uc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=td,jt.fileURLToPath=Zp,hd=jt.Url,fd=jt.format,pd=jt.resolve,dd=jt.resolveObject,gd=jt.parse,md=jt.URL,yd=92,bd=47,vd=97,wd=122,mo=Uc==="win32",_d=/\//g,Ed=/%/g,Sd=/\\/g,Ad=/\n/g,kd=/\r/g,Id=/\t/g}),_y=mt((t,e)=>{ht(),pt(),ft(),e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Ul=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0}),t.BufferedDuplex=t.writev=void 0;var e=gn(),r=(oe(),Dt(ie));function n(o,s){let i=new Array(o.length);for(let a=0;a{this.destroyed||this.push(a)})}_read(o){this.proxy.read(o)}_write(o,s,i){this.isSocketOpen?this.writeToProxy(o,s,i):this.writeQueue.push({chunk:o,encoding:s,cb:i})}_final(o){this.writeQueue=[],this.proxy.end(o)}_destroy(o,s){this.writeQueue=[],this.proxy.destroy(),s(o)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(o,s,i){this.proxy.write(o,s)===!1?this.proxy.once("drain",i):i()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:o,encoding:s,cb:i}=this.writeQueue.shift();this.writeToProxy(o,s,i)}}};t.BufferedDuplex=l}),Di=mt(t=>{ht(),pt(),ft();var e=t&&t.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(t,"__esModule",{value:!0}),t.streamBuilder=t.browserStreamBuilder=void 0;var r=(oe(),Dt(ie)),n=e(_y()),l=e(dr()),o=gn(),s=e(Uo()),i=Ul(),a=(0,l.default)("mqttjs:ws"),u=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function c(f,g){let b=`${f.protocol}://${f.hostname}:${f.port}${f.path}`;return typeof f.transformWsUrl=="function"&&(b=f.transformWsUrl(b,f,g)),b}function d(f){let g=f;return f.port||(f.protocol==="wss"?g.port=443:g.port=80),f.path||(g.path="/"),f.wsOptions||(g.wsOptions={}),!s.default&&!f.forceNativeWebSocket&&f.protocol==="wss"&&u.forEach(b=>{Object.prototype.hasOwnProperty.call(f,b)&&!Object.prototype.hasOwnProperty.call(f.wsOptions,b)&&(g.wsOptions[b]=f[b])}),g}t.streamBuilder=(f,g)=>{a("streamBuilder");let b=d(g);b.hostname=b.hostname||b.host||"localhost";let _=c(b,f),S=function(D,G,$){a("createWebSocket"),a(`protocol: ${$.protocolId} ${$.protocolVersion}`);let X,B=$.protocolId==="MQIsdp"&&$.protocolVersion===3?"mqttv3.1":"mqtt";return a(`creating new Websocket for url: ${G} and protocol: ${B}`),X=$.createWebsocket?$.createWebsocket(G,[B],$):new n.default(G,[B],$.wsOptions),X}(0,_,b),U=n.default.createWebSocketStream(S,b.wsOptions);return U.url=_,S.on("close",()=>{U.destroy()}),U},t.browserStreamBuilder=(f,g)=>{a("browserStreamBuilder");let b,_=function(w){let M=d(w);if(M.hostname||(M.hostname=M.host),!M.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let R=new URL(document.URL);M.hostname=R.hostname,M.port||(M.port=Number(R.port))}return M.objectMode===void 0&&(M.objectMode=!(M.binary===!0||M.binary===void 0)),M}(g).browserBufferSize||524288,S=g.browserBufferTimeout||1e3,U=!g.objectMode,D=function(w,M){let R,nt=M.protocolId==="MQIsdp"&&M.protocolVersion===3?"mqttv3.1":"mqtt",st=c(M,w);return R=M.createWebsocket?M.createWebsocket(st,[nt],M):new WebSocket(st,[nt]),R.binaryType="arraybuffer",R}(f,g),G=function(w,M,R){let nt=new o.Transform({objectMode:w.objectMode});return nt._write=M,nt._flush=R,nt}(g,function w(M,R,nt){if(D.bufferedAmount>_)return void setTimeout(w,S,M,R,nt);U&&typeof M=="string"&&(M=r.Buffer.from(M,"utf8"));try{D.send(M)}catch(st){return nt(st)}nt()},function(w){D.close(),w()});g.objectMode||(G._writev=i.writev.bind(G)),G.on("close",()=>{D.close()});let $=typeof D.addEventListener<"u";function X(){a("WebSocket onOpen"),b instanceof i.BufferedDuplex&&b.socketReady()}function B(w){a("WebSocket onClose",w),b.end(),b.destroy()}function A(w){a("WebSocket onError",w);let M=new Error("WebSocket error");M.event=w,b.destroy(M)}async function E(w){let{data:M}=w;M=M instanceof ArrayBuffer?r.Buffer.from(M):M instanceof Blob?r.Buffer.from(await new Response(M).arrayBuffer()):r.Buffer.from(M,"utf8"),G&&!G.destroyed&&G.push(M)}return D.readyState===D.OPEN?(b=G,b.socket=D):(b=new i.BufferedDuplex(g,G,D),$?D.addEventListener("open",X):D.onopen=X),$?(D.addEventListener("close",B),D.addEventListener("error",A),D.addEventListener("message",E)):(D.onclose=B,D.onerror=A,D.onmessage=E),b}}),Nl={};function Vt(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}fn(Nl,{Server:()=>Vt,Socket:()=>Vt,Stream:()=>Vt,_createServerHandle:()=>Vt,_normalizeArgs:()=>Vt,_setSimultaneousAccepts:()=>Vt,connect:()=>Vt,createConnection:()=>Vt,createServer:()=>Vt,default:()=>Td,isIP:()=>Vt,isIPv4:()=>Vt,isIPv6:()=>Vt});var Td,Od=ne(()=>{ht(),pt(),ft(),Td={_createServerHandle:Vt,_normalizeArgs:Vt,_setSimultaneousAccepts:Vt,connect:Vt,createConnection:Vt,createServer:Vt,isIP:Vt,isIPv4:Vt,isIPv6:Vt,Server:Vt,Socket:Vt,Stream:Vt}}),Nc=mt(t=>{ht(),pt(),ft();var e=t&&t.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((Od(),Dt(Nl))),n=(0,e(dr()).default)("mqttjs:tcp");t.default=(l,o)=>{o.port=o.port||1883,o.hostname=o.hostname||o.host||"localhost";let{port:s,path:i}=o,a=o.hostname;return n("port %d and host %s",s,a),r.default.createConnection({port:s,host:a,path:i})}}),xd={};fn(xd,{default:()=>Cd});var Cd,Ey=ne(()=>{ht(),pt(),ft(),Cd={}}),Dc=mt(t=>{ht(),pt(),ft();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((Ey(),Dt(xd))),n=e((Od(),Dt(Nl))),l=(0,e(dr()).default)("mqttjs:tls");t.default=(o,s)=>{s.port=s.port||8883,s.host=s.hostname||s.host||"localhost",n.default.isIP(s.host)===0&&(s.servername=s.host),s.rejectUnauthorized=s.rejectUnauthorized!==!1,delete s.path,l("port %d host %s rejectUnauthorized %b",s.port,s.host,s.rejectUnauthorized);let i=r.default.connect(s);function a(u){s.rejectUnauthorized&&o.emit("error",u),i.end()}return i.on("secureConnect",()=>{s.rejectUnauthorized&&!i.authorized?i.emit("error",new Error("TLS not authorized")):i.removeListener("error",a)}),i.on("error",a),i}}),Fc=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=gn(),s=Ul();t.default=(i,a)=>{if(a.hostname=a.hostname||a.host,!a.hostname)throw new Error("Could not determine host. Specify host manually.");let u=a.protocolId==="MQIsdp"&&a.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(a);let c=function(f,g){let b=f.protocol==="wxs"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,g)),_}(a,i);e=wx.connectSocket({url:c,protocols:[u]}),r=function(){let f=new o.Transform;return f._write=(g,b,_)=>{e.send({data:g.buffer,success(){_()},fail(S){_(new Error(S))}})},f._flush=g=>{e.close({success(){g()}})},f}(),(n=new s.BufferedDuplex(a,r,e))._destroy=(f,g)=>{e.close({success(){g&&g(f)}})};let d=n.destroy;return n.destroy=(f,g)=>(n.destroy=d,setTimeout(()=>{e.close({fail(){n._destroy(f,g)}})},0),n),e.onOpen(()=>{n.socketReady()}),e.onMessage(f=>{let{data:g}=f;g=g instanceof ArrayBuffer?l.Buffer.from(g):l.Buffer.from(g,"utf8"),r.push(g)}),e.onClose(()=>{n.emit("close"),n.end(),n.destroy()}),e.onError(f=>{let g=new Error(f.errMsg);n.destroy(g)}),n}}),Wc=mt(t=>{ht(),pt(),ft(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=gn(),s=Ul(),i=!1;t.default=(a,u)=>{if(u.hostname=u.hostname||u.host,!u.hostname)throw new Error("Could not determine host. Specify host manually.");let c=u.protocolId==="MQIsdp"&&u.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(u);let d=function(f,g){let b=f.protocol==="alis"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,g)),_}(u,a);return(e=u.my).connectSocket({url:d,protocols:c}),r=function(){let f=new o.Transform;return f._write=(g,b,_)=>{e.sendSocketMessage({data:g.buffer,success(){_()},fail(){_(new Error)}})},f._flush=g=>{e.closeSocket({success(){g()}})},f}(),n=new s.BufferedDuplex(u,r,e),i||(i=!0,e.onSocketOpen(()=>{n.socketReady()}),e.onSocketMessage(f=>{if(typeof f.data=="string"){let g=l.Buffer.from(f.data,"base64");r.push(g)}else{let g=new FileReader;g.addEventListener("load",()=>{let b=g.result;b=b instanceof ArrayBuffer?l.Buffer.from(b):l.Buffer.from(b,"utf8"),r.push(b)}),g.readAsArrayBuffer(f.data)}}),e.onSocketClose(()=>{n.end(),n.destroy()}),e.onSocketError(f=>{n.destroy(f)})),n}}),Sy=mt(t=>{ht(),pt(),ft();var e=t&&t.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.connectAsync=void 0;var r=e(dr()),n=e((wy(),Dt(Xp))),l=e(za()),o=e(Uo());typeof(Nt==null?void 0:Nt.nextTick)!="function"&&(Nt.nextTick=setImmediate);var s=(0,r.default)("mqttjs"),i=null;function a(u,c){var d,f,g,b;if(s("connecting to an MQTT broker..."),typeof u=="object"&&!c&&(c=u,u=""),c=c||{},u&&typeof u=="string"){let S=n.default.parse(u,!0),U={};if(S.port!=null&&(U.port=Number(S.port)),U.host=S.hostname,U.query=S.query,U.auth=S.auth,U.protocol=S.protocol,U.path=S.path,U.protocol=(d=U.protocol)===null||d===void 0?void 0:d.replace(/:$/,""),!(c=Object.assign(Object.assign({},U),c)).protocol)throw new Error("Missing protocol")}if(c.unixSocket=c.unixSocket||((f=c.protocol)===null||f===void 0?void 0:f.includes("+unix")),c.unixSocket?c.protocol=c.protocol.replace("+unix",""):(g=c.protocol)!==null&&g!==void 0&&g.startsWith("ws")||(b=c.protocol)!==null&&b!==void 0&&b.startsWith("wx")||delete c.path,function(S){let U;S.auth&&(U=S.auth.match(/^(.+):(.+)$/),U?(S.username=U[1],S.password=U[2]):S.username=S.auth)}(c),c.query&&typeof c.query.clientId=="string"&&(c.clientId=c.query.clientId),c.cert&&c.key){if(!c.protocol)throw new Error("Missing secure protocol key");if(["mqtts","wss","wxs","alis"].indexOf(c.protocol)===-1)switch(c.protocol){case"mqtt":c.protocol="mqtts";break;case"ws":c.protocol="wss";break;case"wx":c.protocol="wxs";break;case"ali":c.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${c.protocol}"!`)}}if(i||(i={},o.default||c.forceNativeWebSocket?(i.ws=Di().browserStreamBuilder,i.wss=Di().browserStreamBuilder,i.wx=Fc().default,i.wxs=Fc().default,i.ali=Wc().default,i.alis=Wc().default):(i.ws=Di().streamBuilder,i.wss=Di().streamBuilder,i.mqtt=Nc().default,i.tcp=Nc().default,i.ssl=Dc().default,i.tls=i.ssl,i.mqtts=Dc().default)),!i[c.protocol]){let S=["mqtts","wss"].indexOf(c.protocol)!==-1;c.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((U,D)=>(!S||D%2!=0)&&typeof i[U]=="function")[0]}if(c.clean===!1&&!c.clientId)throw new Error("Missing clientId for unclean clients");c.protocol&&(c.defaultProtocol=c.protocol);let _=new l.default(function(S){return c.servers&&((!S._reconnectCount||S._reconnectCount===c.servers.length)&&(S._reconnectCount=0),c.host=c.servers[S._reconnectCount].host,c.port=c.servers[S._reconnectCount].port,c.protocol=c.servers[S._reconnectCount].protocol?c.servers[S._reconnectCount].protocol:c.defaultProtocol,c.hostname=c.host,S._reconnectCount++),s("calling streambuilder for",c.protocol),i[c.protocol](S,c)},c);return _.on("error",()=>{}),_}t.connectAsync=function(u,c,d=!0){return new Promise((f,g)=>{let b=a(u,c),_={connect:U=>{S(),f(b)},end:()=>{S(),f(b)},error:U=>{S(),b.end(),g(U)}};function S(){Object.keys(_).forEach(U=>{b.off(U,_[U])})}d===!1&&(_.close=()=>{_.error(new Error("Couldn't connect to server"))}),Object.keys(_).forEach(U=>{b.on(U,_[U])})})},t.default=a}),$c=mt(t=>{ht(),pt(),ft();var e=t&&t.__createBinding||(Object.create?function(g,b,_,S){S===void 0&&(S=_);var U=Object.getOwnPropertyDescriptor(b,_);(!U||("get"in U?!b.__esModule:U.writable||U.configurable))&&(U={enumerable:!0,get:function(){return b[_]}}),Object.defineProperty(g,S,U)}:function(g,b,_,S){S===void 0&&(S=_),g[S]=b[_]}),r=t&&t.__setModuleDefault||(Object.create?function(g,b){Object.defineProperty(g,"default",{enumerable:!0,value:b})}:function(g,b){g.default=b}),n=t&&t.__importStar||function(g){if(g&&g.__esModule)return g;var b={};if(g!=null)for(var _ in g)_!=="default"&&Object.prototype.hasOwnProperty.call(g,_)&&e(b,g,_);return r(b,g),b},l=t&&t.__exportStar||function(g,b){for(var _ in g)_!=="default"&&!Object.prototype.hasOwnProperty.call(b,_)&&e(b,g,_)},o=t&&t.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=t.KeepaliveManager=t.UniqueMessageIdProvider=t.DefaultMessageIdProvider=t.Store=t.MqttClient=t.connectAsync=t.connect=t.Client=void 0;var s=o(za());t.MqttClient=s.default;var i=o(xp());t.DefaultMessageIdProvider=i.default;var a=o(cy());t.UniqueMessageIdProvider=a.default;var u=o(Cp());t.Store=u.default;var c=n(Sy());t.connect=c.default,Object.defineProperty(t,"connectAsync",{enumerable:!0,get:function(){return c.connectAsync}});var d=o(zp());t.KeepaliveManager=d.default,t.Client=s.default,l(za(),t),l(Nn(),t);var f=jo();Object.defineProperty(t,"ReasonCodes",{enumerable:!0,get:function(){return f.ReasonCodes}})});const lb=mt(t=>{ht(),pt(),ft();var e=t&&t.__createBinding||(Object.create?function(s,i,a,u){u===void 0&&(u=a);var c=Object.getOwnPropertyDescriptor(i,a);(!c||("get"in c?!i.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(s,u,c)}:function(s,i,a,u){u===void 0&&(u=a),s[u]=i[a]}),r=t&&t.__setModuleDefault||(Object.create?function(s,i){Object.defineProperty(s,"default",{enumerable:!0,value:i})}:function(s,i){s.default=i}),n=t&&t.__importStar||function(s){if(s&&s.__esModule)return s;var i={};if(s!=null)for(var a in s)a!=="default"&&Object.prototype.hasOwnProperty.call(s,a)&&e(i,s,a);return r(i,s),i},l=t&&t.__exportStar||function(s,i){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(i,a)&&e(i,s,a)};Object.defineProperty(t,"__esModule",{value:!0});var o=n($c());t.default=o,l($c(),t)})();/*! Bundled license information: - -@jspm/core/nodelibs/browser/buffer.js: - (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) -*/var be="top",Re="bottom",Pe="right",ve="left",Za="auto",Si=[be,Re,Pe,ve],Pn="start",bi="end",Rd="viewport",Kn="popper",Vc=Si.reduce(function(t,e){return t.concat([e+"-"+Pn,e+"-"+bi])},[]),Pd=[].concat(Si,[Za]).reduce(function(t,e){return t.concat([e,e+"-"+Pn,e+"-"+bi])},[]),Ay=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Ye(t){return t?(t.nodeName||"").toLowerCase():null}function Be(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function hn(t){return t instanceof Be(t).Element||t instanceof Element}function Oe(t){return t instanceof Be(t).HTMLElement||t instanceof HTMLElement}function Dl(t){return typeof ShadowRoot<"u"&&(t instanceof Be(t).ShadowRoot||t instanceof ShadowRoot)}const ky={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},l=e.attributes[r]||{},o=e.elements[r];Oe(o)&&Ye(o)&&(Object.assign(o.style,n),Object.keys(l).forEach(function(s){var i=l[s];i===!1?o.removeAttribute(s):o.setAttribute(s,i===!0?"":i)}))})},effect:function(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var l=e.elements[n],o=e.attributes[n]||{},s=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]).reduce(function(i,a){return i[a]="",i},{});Oe(l)&&Ye(l)&&(Object.assign(l.style,s),Object.keys(o).forEach(function(i){l.removeAttribute(i)}))})}},requires:["computeStyles"]};function Ke(t){return t.split("-")[0]}var un=Math.max,yo=Math.min,Bn=Math.round;function tl(){var t=navigator.userAgentData;return t!=null&&t.brands?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Bd(){return!/^((?!chrome|android).)*safari/i.test(tl())}function Mn(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!1);var n=t.getBoundingClientRect(),l=1,o=1;e&&Oe(t)&&(l=t.offsetWidth>0&&Bn(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Bn(n.height)/t.offsetHeight||1);var s=(hn(t)?Be(t):window).visualViewport,i=!Bd()&&r,a=(n.left+(i&&s?s.offsetLeft:0))/l,u=(n.top+(i&&s?s.offsetTop:0))/o,c=n.width/l,d=n.height/o;return{width:c,height:d,top:u,right:a+c,bottom:u+d,left:a,x:a,y:u}}function Fl(t){var e=Mn(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function Md(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&Dl(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function hr(t){return Be(t).getComputedStyle(t)}function Iy(t){return["table","td","th"].indexOf(Ye(t))>=0}function Mr(t){return((hn(t)?t.ownerDocument:t.document)||window.document).documentElement}function No(t){return Ye(t)==="html"?t:t.assignedSlot||t.parentNode||(Dl(t)?t.host:null)||Mr(t)}function qc(t){return Oe(t)&&hr(t).position!=="fixed"?t.offsetParent:null}function Ai(t){for(var e=Be(t),r=qc(t);r&&Iy(r)&&hr(r).position==="static";)r=qc(r);return r&&(Ye(r)==="html"||Ye(r)==="body"&&hr(r).position==="static")?e:r||function(n){var l=/firefox/i.test(tl());if(/Trident/i.test(tl())&&Oe(n)&&hr(n).position==="fixed")return null;var o=No(n);for(Dl(o)&&(o=o.host);Oe(o)&&["html","body"].indexOf(Ye(o))<0;){var s=hr(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||l&&s.willChange==="filter"||l&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}(t)||e}function Wl(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Yn(t,e,r){return un(t,yo(e,r))}function Ld(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function jd(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}const Ty={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,n=t.name,l=t.options,o=r.elements.arrow,s=r.modifiersData.popperOffsets,i=Ke(r.placement),a=Wl(i),u=[ve,Pe].indexOf(i)>=0?"height":"width";if(o&&s){var c=function(E,w){return Ld(typeof(E=typeof E=="function"?E(Object.assign({},w.rects,{placement:w.placement})):E)!="number"?E:jd(E,Si))}(l.padding,r),d=Fl(o),f=a==="y"?be:ve,g=a==="y"?Re:Pe,b=r.rects.reference[u]+r.rects.reference[a]-s[a]-r.rects.popper[u],_=s[a]-r.rects.reference[a],S=Ai(o),U=S?a==="y"?S.clientHeight||0:S.clientWidth||0:0,D=b/2-_/2,G=c[f],$=U-d[u]-c[g],X=U/2-d[u]/2+D,B=Yn(G,X,$),A=a;r.modifiersData[n]=((e={})[A]=B,e.centerOffset=B-X,e)}},effect:function(t){var e=t.state,r=t.options.element,n=r===void 0?"[data-popper-arrow]":r;n!=null&&(typeof n!="string"||(n=e.elements.popper.querySelector(n)))&&Md(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ln(t){return t.split("-")[1]}var Oy={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Hc(t){var e,r=t.popper,n=t.popperRect,l=t.placement,o=t.variation,s=t.offsets,i=t.position,a=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,d=t.isFixed,f=s.x,g=f===void 0?0:f,b=s.y,_=b===void 0?0:b,S=typeof c=="function"?c({x:g,y:_}):{x:g,y:_};g=S.x,_=S.y;var U=s.hasOwnProperty("x"),D=s.hasOwnProperty("y"),G=ve,$=be,X=window;if(u){var B=Ai(r),A="clientHeight",E="clientWidth";B===Be(r)&&hr(B=Mr(r)).position!=="static"&&i==="absolute"&&(A="scrollHeight",E="scrollWidth"),(l===be||(l===ve||l===Pe)&&o===bi)&&($=Re,_-=(d&&B===X&&X.visualViewport?X.visualViewport.height:B[A])-n.height,_*=a?1:-1),(l===ve||(l===be||l===Re)&&o===bi)&&(G=Pe,g-=(d&&B===X&&X.visualViewport?X.visualViewport.width:B[E])-n.width,g*=a?1:-1)}var w,M=Object.assign({position:i},u&&Oy),R=c===!0?function(nt){var st=nt.x,Z=nt.y,j=window.devicePixelRatio||1;return{x:Bn(st*j)/j||0,y:Bn(Z*j)/j||0}}({x:g,y:_}):{x:g,y:_};return g=R.x,_=R.y,a?Object.assign({},M,((w={})[$]=D?"0":"",w[G]=U?"0":"",w.transform=(X.devicePixelRatio||1)<=1?"translate("+g+"px, "+_+"px)":"translate3d("+g+"px, "+_+"px, 0)",w)):Object.assign({},M,((e={})[$]=D?_+"px":"",e[G]=U?g+"px":"",e.transform="",e))}var Fi={passive:!0},xy={left:"right",right:"left",bottom:"top",top:"bottom"};function Wi(t){return t.replace(/left|right|bottom|top/g,function(e){return xy[e]})}var Cy={start:"end",end:"start"};function zc(t){return t.replace(/start|end/g,function(e){return Cy[e]})}function $l(t){var e=Be(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function el(t){return Mn(Mr(t)).left+$l(t).scrollLeft}function Vl(t){var e=hr(t),r=e.overflow,n=e.overflowX,l=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+l+n)}function Ud(t){return["html","body","#document"].indexOf(Ye(t))>=0?t.ownerDocument.body:Oe(t)&&Vl(t)?t:Ud(No(t))}function li(t,e){var r;e===void 0&&(e=[]);var n=Ud(t),l=n===((r=t.ownerDocument)==null?void 0:r.body),o=Be(n),s=l?[o].concat(o.visualViewport||[],Vl(n)?n:[]):n,i=e.concat(s);return l?i:i.concat(li(No(s)))}function rl(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Kc(t,e,r){return e===Rd?rl(function(n,l){var o=Be(n),s=Mr(n),i=o.visualViewport,a=s.clientWidth,u=s.clientHeight,c=0,d=0;if(i){a=i.width,u=i.height;var f=Bd();(f||!f&&l==="fixed")&&(c=i.offsetLeft,d=i.offsetTop)}return{width:a,height:u,x:c+el(n),y:d}}(t,r)):hn(e)?function(n,l){var o=Mn(n,!1,l==="fixed");return o.top=o.top+n.clientTop,o.left=o.left+n.clientLeft,o.bottom=o.top+n.clientHeight,o.right=o.left+n.clientWidth,o.width=n.clientWidth,o.height=n.clientHeight,o.x=o.left,o.y=o.top,o}(e,r):rl(function(n){var l,o=Mr(n),s=$l(n),i=(l=n.ownerDocument)==null?void 0:l.body,a=un(o.scrollWidth,o.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),u=un(o.scrollHeight,o.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),c=-s.scrollLeft+el(n),d=-s.scrollTop;return hr(i||o).direction==="rtl"&&(c+=un(o.clientWidth,i?i.clientWidth:0)-a),{width:a,height:u,x:c,y:d}}(Mr(t)))}function Ry(t,e,r,n){var l=e==="clippingParents"?function(a){var u=li(No(a)),c=["absolute","fixed"].indexOf(hr(a).position)>=0&&Oe(a)?Ai(a):a;return hn(c)?u.filter(function(d){return hn(d)&&Md(d,c)&&Ye(d)!=="body"}):[]}(t):[].concat(e),o=[].concat(l,[r]),s=o[0],i=o.reduce(function(a,u){var c=Kc(t,u,n);return a.top=un(c.top,a.top),a.right=yo(c.right,a.right),a.bottom=yo(c.bottom,a.bottom),a.left=un(c.left,a.left),a},Kc(t,s,n));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Nd(t){var e,r=t.reference,n=t.element,l=t.placement,o=l?Ke(l):null,s=l?Ln(l):null,i=r.x+r.width/2-n.width/2,a=r.y+r.height/2-n.height/2;switch(o){case be:e={x:i,y:r.y-n.height};break;case Re:e={x:i,y:r.y+r.height};break;case Pe:e={x:r.x+r.width,y:a};break;case ve:e={x:r.x-n.width,y:a};break;default:e={x:r.x,y:r.y}}var u=o?Wl(o):null;if(u!=null){var c=u==="y"?"height":"width";switch(s){case Pn:e[u]=e[u]-(r[c]/2-n[c]/2);break;case bi:e[u]=e[u]+(r[c]/2-n[c]/2)}}return e}function vi(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=n===void 0?t.placement:n,o=r.strategy,s=o===void 0?t.strategy:o,i=r.boundary,a=i===void 0?"clippingParents":i,u=r.rootBoundary,c=u===void 0?Rd:u,d=r.elementContext,f=d===void 0?Kn:d,g=r.altBoundary,b=g!==void 0&&g,_=r.padding,S=_===void 0?0:_,U=Ld(typeof S!="number"?S:jd(S,Si)),D=f===Kn?"reference":Kn,G=t.rects.popper,$=t.elements[b?D:f],X=Ry(hn($)?$:$.contextElement||Mr(t.elements.popper),a,c,s),B=Mn(t.elements.reference),A=Nd({reference:B,element:G,placement:l}),E=rl(Object.assign({},G,A)),w=f===Kn?E:B,M={top:X.top-w.top+U.top,bottom:w.bottom-X.bottom+U.bottom,left:X.left-w.left+U.left,right:w.right-X.right+U.right},R=t.modifiersData.offset;if(f===Kn&&R){var nt=R[l];Object.keys(M).forEach(function(st){var Z=[Pe,Re].indexOf(st)>=0?1:-1,j=[be,Re].indexOf(st)>=0?"y":"x";M[st]+=nt[j]*Z})}return M}function Py(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=r.boundary,o=r.rootBoundary,s=r.padding,i=r.flipVariations,a=r.allowedAutoPlacements,u=a===void 0?Pd:a,c=Ln(n),d=c?i?Vc:Vc.filter(function(b){return Ln(b)===c}):Si,f=d.filter(function(b){return u.indexOf(b)>=0});f.length===0&&(f=d);var g=f.reduce(function(b,_){return b[_]=vi(t,{placement:_,boundary:l,rootBoundary:o,padding:s})[Ke(_)],b},{});return Object.keys(g).sort(function(b,_){return g[b]-g[_]})}const By={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s===void 0||s,a=r.fallbackPlacements,u=r.padding,c=r.boundary,d=r.rootBoundary,f=r.altBoundary,g=r.flipVariations,b=g===void 0||g,_=r.allowedAutoPlacements,S=e.options.placement,U=Ke(S),D=a||(U===S||!b?[Wi(S)]:function(k){if(Ke(k)===Za)return[];var q=Wi(k);return[zc(k),q,zc(q)]}(S)),G=[S].concat(D).reduce(function(k,q){return k.concat(Ke(q)===Za?Py(e,{placement:q,boundary:c,rootBoundary:d,padding:u,flipVariations:b,allowedAutoPlacements:_}):q)},[]),$=e.rects.reference,X=e.rects.popper,B=new Map,A=!0,E=G[0],w=0;w=0,Z=st?"width":"height",j=vi(e,{placement:M,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),N=st?nt?Pe:ve:nt?Re:be;$[Z]>X[Z]&&(N=Wi(N));var F=Wi(N),it=[];if(o&&it.push(j[R]<=0),i&&it.push(j[N]<=0,j[F]<=0),it.every(function(k){return k})){E=M,A=!1;break}B.set(M,it)}if(A)for(var J=function(k){var q=G.find(function(et){var ot=B.get(et);if(ot)return ot.slice(0,k).every(function(at){return at})});if(q)return E=q,"break"},Y=b?3:1;Y>0&&J(Y)!=="break";Y--);e.placement!==E&&(e.modifiersData[n]._skip=!0,e.placement=E,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Gc(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function Qc(t){return[be,Pe,Re,ve].some(function(e){return t[e]>=0})}const My={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.offset,o=l===void 0?[0,0]:l,s=Pd.reduce(function(c,d){return c[d]=function(f,g,b){var _=Ke(f),S=[ve,be].indexOf(_)>=0?-1:1,U=typeof b=="function"?b(Object.assign({},g,{placement:f})):b,D=U[0],G=U[1];return D=D||0,G=(G||0)*S,[ve,Pe].indexOf(_)>=0?{x:G,y:D}:{x:D,y:G}}(d,e.rects,o),c},{}),i=s[e.placement],a=i.x,u=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=a,e.modifiersData.popperOffsets.y+=u),e.modifiersData[n]=s}},Ly={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s!==void 0&&s,a=r.boundary,u=r.rootBoundary,c=r.altBoundary,d=r.padding,f=r.tether,g=f===void 0||f,b=r.tetherOffset,_=b===void 0?0:b,S=vi(e,{boundary:a,rootBoundary:u,padding:d,altBoundary:c}),U=Ke(e.placement),D=Ln(e.placement),G=!D,$=Wl(U),X=$==="x"?"y":"x",B=e.modifiersData.popperOffsets,A=e.rects.reference,E=e.rects.popper,w=typeof _=="function"?_(Object.assign({},e.rects,{placement:e.placement})):_,M=typeof w=="number"?{mainAxis:w,altAxis:w}:Object.assign({mainAxis:0,altAxis:0},w),R=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,nt={x:0,y:0};if(B){if(o){var st,Z=$==="y"?be:ve,j=$==="y"?Re:Pe,N=$==="y"?"height":"width",F=B[$],it=F+S[Z],J=F-S[j],Y=g?-E[N]/2:0,k=D===Pn?A[N]:E[N],q=D===Pn?-E[N]:-A[N],et=e.elements.arrow,ot=g&&et?Fl(et):{width:0,height:0},at=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ut=at[Z],dt=at[j],H=Yn(0,A[N],ot[N]),rt=G?A[N]/2-Y-H-ut-M.mainAxis:k-H-ut-M.mainAxis,tt=G?-A[N]/2+Y+H+dt+M.mainAxis:q+H+dt+M.mainAxis,P=e.elements.arrow&&Ai(e.elements.arrow),W=P?$==="y"?P.clientTop||0:P.clientLeft||0:0,C=(st=R==null?void 0:R[$])!=null?st:0,Q=F+tt-C,h=Yn(g?yo(it,F+rt-C-W):it,F,g?un(J,Q):J);B[$]=h,nt[$]=h-F}if(i){var p,v=$==="x"?be:ve,O=$==="x"?Re:Pe,x=B[X],I=X==="y"?"height":"width",m=x+S[v],y=x-S[O],T=[be,ve].indexOf(U)!==-1,L=(p=R==null?void 0:R[X])!=null?p:0,z=T?m:x-A[I]-E[I]-L+M.altAxis,V=T?x+A[I]+E[I]-L-M.altAxis:y,lt=g&&T?function(ct,yt,bt){var wt=Yn(ct,yt,bt);return wt>bt?bt:wt}(z,x,V):Yn(g?z:m,x,g?V:y);B[X]=lt,nt[X]=lt-x}e.modifiersData[n]=nt}},requiresIfExists:["offset"]};function jy(t,e,r){r===void 0&&(r=!1);var n,l,o=Oe(e),s=Oe(e)&&function(d){var f=d.getBoundingClientRect(),g=Bn(f.width)/d.offsetWidth||1,b=Bn(f.height)/d.offsetHeight||1;return g!==1||b!==1}(e),i=Mr(e),a=Mn(t,s,r),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(o||!o&&!r)&&((Ye(e)!=="body"||Vl(i))&&(u=(n=e)!==Be(n)&&Oe(n)?{scrollLeft:(l=n).scrollLeft,scrollTop:l.scrollTop}:$l(n)),Oe(e)?((c=Mn(e,!0)).x+=e.clientLeft,c.y+=e.clientTop):i&&(c.x=el(i))),{x:a.left+u.scrollLeft-c.x,y:a.top+u.scrollTop-c.y,width:a.width,height:a.height}}function Uy(t){var e=new Map,r=new Set,n=[];function l(o){r.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(s){if(!r.has(s)){var i=e.get(s);i&&l(i)}}),n.push(o)}return t.forEach(function(o){e.set(o.name,o)}),t.forEach(function(o){r.has(o.name)||l(o)}),n}function Ny(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}var Yc={placement:"bottom",modifiers:[],strategy:"absolute"};function Jc(){for(var t=arguments.length,e=new Array(t),r=0;r{throw TypeError(t)};var Wd=(t,e,r)=>e in t?Fd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var zt=(t,e,r)=>Wd(t,typeof e!="symbol"?e+"":e,r),Do=(t,e,r)=>e.has(t)||Kl("Cannot "+r);var z=(t,e,r)=>(Do(t,e,"read from private field"),r?r.call(t):e.get(t)),Rt=(t,e,r)=>e.has(t)?Kl("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),St=(t,e,r,n)=>(Do(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),Et=(t,e,r)=>(Do(t,e,"access private method"),r);var Ii=(t,e,r,n)=>({set _(l){St(t,e,l,r)},get _(){return z(t,e,n)}});const to=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{};/** +* @vue/shared v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function il(t){const e=Object.create(null);for(const r of t.split(","))e[r]=1;return r=>r in e}const Ut={},In=[],Ge=()=>{},$d=()=>!1,bo=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),ol=t=>t.startsWith("onUpdate:"),Xt=Object.assign,sl=(t,e)=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)},Vd=Object.prototype.hasOwnProperty,Bt=(t,e)=>Vd.call(t,e),At=Array.isArray,Tn=t=>vo(t)==="[object Map]",th=t=>vo(t)==="[object Set]",Tt=t=>typeof t=="function",qt=t=>typeof t=="string",gr=t=>typeof t=="symbol",Wt=t=>t!==null&&typeof t=="object",eh=t=>(Wt(t)||Tt(t))&&Tt(t.then)&&Tt(t.catch),rh=Object.prototype.toString,vo=t=>rh.call(t),nh=t=>vo(t)==="[object Object]",al=t=>qt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Xn=il(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),wo=t=>{const e=Object.create(null);return r=>e[r]||(e[r]=t(r))},qd=/-(\w)/g,Ce=wo(t=>t.replace(qd,(e,r)=>r?r.toUpperCase():"")),Hd=/\B([A-Z])/g,Dr=wo(t=>t.replace(Hd,"-$1").toLowerCase()),_o=wo(t=>t.charAt(0).toUpperCase()+t.slice(1)),Fo=wo(t=>t?`on${_o(t)}`:""),Br=(t,e)=>!Object.is(t,e),Wo=(t,...e)=>{for(let r=0;r{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:r})},zd=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let Gl;const eo=()=>Gl||(Gl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:to!==void 0?to:{});function Eo(t){if(At(t)){const e={};for(let r=0;r{if(r){const n=r.split(Gd);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function So(t){let e="";if(qt(t))e=t;else if(At(t))for(let r=0;r!(!t||t.__v_isRef!==!0),Xd=t=>qt(t)?t:t==null?"":At(t)||Wt(t)&&(t.toString===rh||!Tt(t.toString))?sh(t)?Xd(t.value):JSON.stringify(t,ah,2):String(t),ah=(t,e)=>sh(e)?ah(t,e.value):Tn(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((r,[n,l],o)=>(r[$o(n,o)+" =>"]=l,r),{})}:th(e)?{[`Set(${e.size})`]:[...e.values()].map(r=>$o(r))}:gr(e)?$o(e):!Wt(e)||At(e)||nh(e)?e:String(e),$o=(t,e="")=>{var r;return gr(t)?`Symbol(${(r=t.description)!=null?r:e})`:t};/** +* @vue/reactivity v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let he,Ft;class lh{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=he,!e&&he&&(this.index=(he.scopes||(he.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,r;if(this._isPaused=!0,this.scopes)for(e=0,r=this.scopes.length;e0)return;if(ti){let e=ti;for(ti=void 0;e;){const r=e.next;e.next=void 0,e.flags&=-9,e=r}}let t;for(;Zn;){let e=Zn;for(Zn=void 0;e;){const r=e.next;if(e.next=void 0,e.flags&=-9,1&e.flags)try{e.trigger()}catch(n){t||(t=n)}e=r}}if(t)throw t}function dh(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function gh(t){let e,r=t.depsTail,n=r;for(;n;){const l=n.prevDep;n.version===-1?(n===r&&(r=l),cl(n),Zd(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=l}t.deps=e,t.depsTail=r}function Cs(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(mh(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function mh(t){if(4&t.flags&&!(16&t.flags)||(t.flags&=-17,t.globalVersion===ci))return;t.globalVersion=ci;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&t.deps&&!Cs(t))return void(t.flags&=-3);const r=Ft,n=je;Ft=t,je=!0;try{dh(t);const l=t.fn(t._value);(e.version===0||Br(l,t._value))&&(t._value=l,e.version++)}catch(l){throw e.version++,l}finally{Ft=r,je=n,gh(t),t.flags&=-3}}function cl(t,e=!1){const{dep:r,prevSub:n,nextSub:l}=t;if(n&&(n.nextSub=l,t.prevSub=void 0),l&&(l.prevSub=n,t.nextSub=void 0),r.subs===t&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let o=r.computed.deps;o;o=o.nextDep)cl(o,!0)}e||--r.sc||!r.map||r.map.delete(r.key)}function Zd(t){const{prevDep:e,nextDep:r}=t;e&&(e.nextDep=r,t.prevDep=void 0),r&&(r.prevDep=e,t.nextDep=void 0)}let je=!0;const yh=[];function jr(){yh.push(je),je=!1}function Ur(){const t=yh.pop();je=t===void 0||t}function Ql(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const r=Ft;Ft=void 0;try{e()}finally{Ft=r}}}let ci=0;class tg{constructor(e,r){this.sub=e,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class hl{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!Ft||!je||Ft===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Ft)r=this.activeLink=new tg(Ft,this),Ft.deps?(r.prevDep=Ft.depsTail,Ft.depsTail.nextDep=r,Ft.depsTail=r):Ft.deps=Ft.depsTail=r,bh(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Ft.depsTail,r.nextDep=void 0,Ft.depsTail.nextDep=r,Ft.depsTail=r,Ft.deps===r&&(Ft.deps=n)}return r}trigger(e){this.version++,ci++,this.notify(e)}notify(e){ll();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{ul()}}}function bh(t){if(t.dep.sc++,4&t.sub.flags){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)bh(n)}const r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),t.dep.subs=t}}const ro=new WeakMap,on=Symbol(""),xs=Symbol(""),hi=Symbol("");function ae(t,e,r){if(je&&Ft){let n=ro.get(t);n||ro.set(t,n=new Map);let l=n.get(r);l||(n.set(r,l=new hl),l.map=n,l.key=r),l.track()}}function ar(t,e,r,n,l,o){const s=ro.get(t);if(!s)return void ci++;const i=a=>{a&&a.trigger()};if(ll(),e==="clear")s.forEach(i);else{const a=At(t),u=a&&al(r);if(a&&r==="length"){const c=Number(n);s.forEach((d,f)=>{(f==="length"||f===hi||!gr(f)&&f>=c)&&i(d)})}else switch((r!==void 0||s.has(void 0))&&i(s.get(r)),u&&i(s.get(hi)),e){case"add":a?u&&i(s.get("length")):(i(s.get(on)),Tn(t)&&i(s.get(xs)));break;case"delete":a||(i(s.get(on)),Tn(t)&&i(s.get(xs)));break;case"set":Tn(t)&&i(s.get(on))}}ul()}function yn(t){const e=xt(t);return e===t?e:(ae(e,0,hi),Oe(t)?e:e.map(le))}function Ao(t){return ae(t=xt(t),0,hi),t}const eg={__proto__:null,[Symbol.iterator](){return qo(this,Symbol.iterator,le)},concat(...t){return yn(this).concat(...t.map(e=>At(e)?yn(e):e))},entries(){return qo(this,"entries",t=>(t[1]=le(t[1]),t))},every(t,e){return Xe(this,"every",t,e,void 0,arguments)},filter(t,e){return Xe(this,"filter",t,e,r=>r.map(le),arguments)},find(t,e){return Xe(this,"find",t,e,le,arguments)},findIndex(t,e){return Xe(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Xe(this,"findLast",t,e,le,arguments)},findLastIndex(t,e){return Xe(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Xe(this,"forEach",t,e,void 0,arguments)},includes(...t){return Ho(this,"includes",t)},indexOf(...t){return Ho(this,"indexOf",t)},join(t){return yn(this).join(t)},lastIndexOf(...t){return Ho(this,"lastIndexOf",t)},map(t,e){return Xe(this,"map",t,e,void 0,arguments)},pop(){return Fn(this,"pop")},push(...t){return Fn(this,"push",t)},reduce(t,...e){return Yl(this,"reduce",t,e)},reduceRight(t,...e){return Yl(this,"reduceRight",t,e)},shift(){return Fn(this,"shift")},some(t,e){return Xe(this,"some",t,e,void 0,arguments)},splice(...t){return Fn(this,"splice",t)},toReversed(){return yn(this).toReversed()},toSorted(t){return yn(this).toSorted(t)},toSpliced(...t){return yn(this).toSpliced(...t)},unshift(...t){return Fn(this,"unshift",t)},values(){return qo(this,"values",le)}};function qo(t,e,r){const n=Ao(t),l=n[e]();return n===t||Oe(t)||(l._next=l.next,l.next=()=>{const o=l._next();return o.value&&(o.value=r(o.value)),o}),l}const rg=Array.prototype;function Xe(t,e,r,n,l,o){const s=Ao(t),i=s!==t&&!Oe(t),a=s[e];if(a!==rg[e]){const d=a.apply(t,o);return i?le(d):d}let u=r;s!==t&&(i?u=function(d,f){return r.call(this,le(d),f,t)}:r.length>2&&(u=function(d,f){return r.call(this,d,f,t)}));const c=a.call(s,u,n);return i&&l?l(c):c}function Yl(t,e,r,n){const l=Ao(t);let o=r;return l!==t&&(Oe(t)?r.length>3&&(o=function(s,i,a){return r.call(this,s,i,a,t)}):o=function(s,i,a){return r.call(this,s,le(i),a,t)}),l[e](o,...n)}function Ho(t,e,r){const n=xt(t);ae(n,0,hi);const l=n[e](...r);return l!==-1&&l!==!1||!dl(r[0])?l:(r[0]=xt(r[0]),n[e](...r))}function Fn(t,e,r=[]){jr(),ll();const n=xt(t)[e].apply(t,r);return ul(),Ur(),n}const ng=il("__proto__,__v_isRef,__isVue"),vh=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(gr));function ig(t){gr(t)||(t=String(t));const e=xt(this);return ae(e,0,t),e.hasOwnProperty(t)}class wh{constructor(e=!1,r=!1){this._isReadonly=e,this._isShallow=r}get(e,r,n){if(r==="__v_skip")return e.__v_skip;const l=this._isReadonly,o=this._isShallow;if(r==="__v_isReactive")return!l;if(r==="__v_isReadonly")return l;if(r==="__v_isShallow")return o;if(r==="__v_raw")return n===(l?o?pg:Ah:o?Sh:Eh).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=At(e);if(!l){let a;if(s&&(a=eg[r]))return a;if(r==="hasOwnProperty")return ig}const i=Reflect.get(e,r,Yt(e)?e:n);return(gr(r)?vh.has(r):ng(r))?i:(l||ae(e,0,r),o?i:Yt(i)?s&&al(r)?i:i.value:Wt(i)?l?Ih(i):_i(i):i)}}class _h extends wh{constructor(e=!1){super(!1,e)}set(e,r,n,l){let o=e[r];if(!this._isShallow){const a=hn(o);if(Oe(n)||hn(n)||(o=xt(o),n=xt(n)),!At(e)&&Yt(o)&&!Yt(n))return!a&&(o.value=n,!0)}const s=At(e)&&al(r)?Number(r)t,Ti=t=>Reflect.getPrototypeOf(t);function Oi(t){return function(...e){return t!=="delete"&&(t==="clear"?void 0:this)}}function ug(t,e){const r={get(n){const l=this.__v_raw,o=xt(l),s=xt(n);t||(Br(n,s)&&ae(o,0,n),ae(o,0,s));const{has:i}=Ti(o),a=e?zo:t?Ko:le;return i.call(o,n)?a(l.get(n)):i.call(o,s)?a(l.get(s)):void(l!==o&&l.get(n))},get size(){const n=this.__v_raw;return!t&&ae(xt(n),0,on),Reflect.get(n,"size",n)},has(n){const l=this.__v_raw,o=xt(l),s=xt(n);return t||(Br(n,s)&&ae(o,0,n),ae(o,0,s)),n===s?l.has(n):l.has(n)||l.has(s)},forEach(n,l){const o=this,s=o.__v_raw,i=xt(s),a=e?zo:t?Ko:le;return!t&&ae(i,0,on),s.forEach((u,c)=>n.call(l,a(u),a(c),o))}};return Xt(r,t?{add:Oi("add"),set:Oi("set"),delete:Oi("delete"),clear:Oi("clear")}:{add(n){e||Oe(n)||hn(n)||(n=xt(n));const l=xt(this);return Ti(l).has.call(l,n)||(l.add(n),ar(l,"add",n,n)),this},set(n,l){e||Oe(l)||hn(l)||(l=xt(l));const o=xt(this),{has:s,get:i}=Ti(o);let a=s.call(o,n);a||(n=xt(n),a=s.call(o,n));const u=i.call(o,n);return o.set(n,l),a?Br(l,u)&&ar(o,"set",n,l):ar(o,"add",n,l),this},delete(n){const l=xt(this),{has:o,get:s}=Ti(l);let i=o.call(l,n);i||(n=xt(n),i=o.call(l,n)),s&&s.call(l,n);const a=l.delete(n);return i&&ar(l,"delete",n,void 0),a},clear(){const n=xt(this),l=n.size!==0,o=n.clear();return l&&ar(n,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(n=>{r[n]=function(l,o,s){return function(...i){const a=this.__v_raw,u=xt(a),c=Tn(u),d=l==="entries"||l===Symbol.iterator&&c,f=l==="keys"&&c,m=a[l](...i),b=s?zo:o?Ko:le;return!o&&ae(u,0,f?xs:on),{next(){const{value:_,done:S}=m.next();return S?{value:_,done:S}:{value:d?[b(_[0]),b(_[1])]:b(_),done:S}},[Symbol.iterator](){return this}}}}(n,t,e)}),r}function fl(t,e){const r=ug(t,e);return(n,l,o)=>l==="__v_isReactive"?!t:l==="__v_isReadonly"?t:l==="__v_raw"?n:Reflect.get(Bt(r,l)&&l in n?r:n,l,o)}const cg={get:fl(!1,!1)},hg={get:fl(!1,!0)},fg={get:fl(!0,!1)},Eh=new WeakMap,Sh=new WeakMap,Ah=new WeakMap,pg=new WeakMap;function dg(t){return t.__v_skip||!Object.isExtensible(t)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>vo(e).slice(8,-1))(t))}function _i(t){return hn(t)?t:pl(t,!1,sg,cg,Eh)}function kh(t){return pl(t,!1,lg,hg,Sh)}function Ih(t){return pl(t,!0,ag,fg,Ah)}function pl(t,e,r,n,l){if(!Wt(t)||t.__v_raw&&(!e||!t.__v_isReactive))return t;const o=l.get(t);if(o)return o;const s=dg(t);if(s===0)return t;const i=new Proxy(t,s===2?n:r);return l.set(t,i),i}function Mr(t){return hn(t)?Mr(t.__v_raw):!(!t||!t.__v_isReactive)}function hn(t){return!(!t||!t.__v_isReadonly)}function Oe(t){return!(!t||!t.__v_isShallow)}function dl(t){return!!t&&!!t.__v_raw}function xt(t){const e=t&&t.__v_raw;return e?xt(e):t}function gl(t){return!Bt(t,"__v_skip")&&Object.isExtensible(t)&&ih(t,"__v_skip",!0),t}const le=t=>Wt(t)?_i(t):t,Ko=t=>Wt(t)?Ih(t):t;function Yt(t){return!!t&&t.__v_isRef===!0}function ml(t){return Th(t,!1)}function Th(t,e){return Yt(t)?t:new gg(t,e)}class gg{constructor(e,r){this.dep=new hl,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?e:xt(e),this._value=r?e:le(e),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(e){const r=this._rawValue,n=this.__v_isShallow||Oe(e)||hn(e);e=n?e:xt(e),Br(e,r)&&(this._rawValue=e,this._value=n?e:le(e),this.dep.trigger())}}function On(t){return Yt(t)?t.value:t}const mg={get:(t,e,r)=>e==="__v_raw"?t:On(Reflect.get(t,e,r)),set:(t,e,r,n)=>{const l=t[e];return Yt(l)&&!Yt(r)?(l.value=r,!0):Reflect.set(t,e,r,n)}};function Oh(t){return Mr(t)?t:new Proxy(t,mg)}class yg{constructor(e,r,n){this._object=e,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,r){const n=ro.get(e);return n&&n.get(r)}(xt(this._object),this._key)}}function bg(t,e,r){const n=t[e];return Yt(n)?n:new yg(t,e,r)}class vg{constructor(e,r,n){this.fn=e,this.setter=r,this._value=void 0,this.dep=new hl(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ci-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&Ft!==this)return ph(this,!0),!0}get value(){const e=this.dep.track();return mh(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Ci={},xi=new WeakMap;let Wr;function wg(t,e,r=Ut){const{immediate:n,deep:l,once:o,scheduler:s,augmentJob:i,call:a}=r,u=V=>l?V:Oe(V)||l===!1||l===0?lr(V,1):lr(V);let c,d,f,m,b=!1,_=!1;if(Yt(t)?(d=()=>t.value,b=Oe(t)):Mr(t)?(d=()=>u(t),b=!0):At(t)?(_=!0,b=t.some(V=>Mr(V)||Oe(V)),d=()=>t.map(V=>Yt(V)?V.value:Mr(V)?u(V):Tt(V)?a?a(V,2):V():void 0)):d=Tt(t)?e?a?()=>a(t,2):t:()=>{if(f){jr();try{f()}finally{Ur()}}const V=Wr;Wr=c;try{return a?a(t,3,[m]):t(m)}finally{Wr=V}}:Ge,e&&l){const V=d,Y=l===!0?1/0:l;d=()=>lr(V(),Y)}const S=ch(),U=()=>{c.stop(),S&&S.active&&sl(S.effects,c)};if(o&&e){const V=e;e=(...Y)=>{V(...Y),U()}}let D=_?new Array(t.length).fill(Ci):Ci;const K=V=>{if(1&c.flags&&(c.dirty||V))if(e){const Y=c.run();if(l||b||(_?Y.some((P,I)=>Br(P,D[I])):Br(Y,D))){f&&f();const P=Wr;Wr=c;try{const I=[Y,D===Ci?void 0:_&&D[0]===Ci?[]:D,m];a?a(e,3,I):e(...I),D=Y}finally{Wr=P}}}else c.run()};return i&&i(K),c=new hh(d),c.scheduler=s?()=>s(K,!1):K,m=V=>function(Y,P=!1,I=Wr){if(I){let E=xi.get(I);E||xi.set(I,E=[]),E.push(Y)}}(V,!1,c),f=c.onStop=()=>{const V=xi.get(c);if(V){if(a)a(V,4);else for(const Y of V)Y();xi.delete(c)}},e?n?K(!0):D=c.run():s?s(K.bind(null,!0),!0):c.run(),U.pause=c.pause.bind(c),U.resume=c.resume.bind(c),U.stop=U,U}function lr(t,e=1/0,r){if(e<=0||!Wt(t)||t.__v_skip||(r=r||new Set).has(t))return t;if(r.add(t),e--,Yt(t))lr(t.value,e,r);else if(At(t))for(let n=0;n{lr(n,e,r)});else if(nh(t)){for(const n in t)lr(t[n],e,r);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&lr(t[n],e,r)}return t}/** +* @vue/runtime-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ei(t,e,r,n){try{return n?t(...n):t()}catch(l){ko(l,e,r)}}function Ue(t,e,r,n){if(Tt(t)){const l=Ei(t,e,r,n);return l&&eh(l)&&l.catch(o=>{ko(o,e,r)}),l}if(At(t)){const l=[];for(let o=0;o=ei(r)?fe.push(t):fe.splice(function(n){let l=Ve+1,o=fe.length;for(;l>>1,i=fe[s],a=ei(i);aei(r)-ei(n));if(Cn.length=0,Or)return void Or.push(...e);for(Or=e,_n=0;_nt.id==null?2&t.flags?-1:1/0:t.id;function Bh(t){try{for(Ve=0;Ve{n._d&&mu(-1);const o=io(e);let s;try{s=t(...l)}finally{io(o),n._d&&mu(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Vy(t,e){if(Zt===null)return t;const r=Co(Zt),n=t.dirs||(t.dirs=[]);for(let l=0;lt.__isTeleport,Qn=t=>t&&(t.disabled||t.disabled===""),Xl=t=>t&&(t.defer||t.defer===""),Zl=t=>typeof SVGElement<"u"&&t instanceof SVGElement,tu=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,Go=(t,e)=>{const r=t&&t.to;return qt(r)?e?e(r):null:r},Uh={name:"Teleport",__isTeleport:!0,process(t,e,r,n,l,o,s,i,a,u){const{mc:c,pc:d,pbc:f,o:{insert:m,querySelector:b,createText:_,createComment:S}}=u,U=Qn(e.props);let{shapeFlag:D,children:K,dynamicChildren:V}=e;if(t==null){const Y=e.el=_(""),P=e.anchor=_("");m(Y,r,n),m(P,r,n);const I=(w,B)=>{16&D&&(l&&l.isCE&&(l.ce._teleportTarget=w),c(K,w,B,l,o,s,i,a))},E=()=>{const w=e.target=Go(e.props,b),B=eu(w,e,_,m);w&&(s!=="svg"&&Zl(w)?s="svg":s!=="mathml"&&tu(w)&&(s="mathml"),U||(I(w,B),Pi(e,!1)))};U&&(I(r,P),Pi(e,!0)),Xl(e.props)?ce(()=>{E(),e.el.__isMounted=!0},o):E()}else{if(Xl(e.props)&&!t.el.__isMounted)return void ce(()=>{Uh.process(t,e,r,n,l,o,s,i,a,u),delete t.el.__isMounted},o);e.el=t.el,e.targetStart=t.targetStart;const Y=e.anchor=t.anchor,P=e.target=t.target,I=e.targetAnchor=t.targetAnchor,E=Qn(t.props),w=E?r:P,B=E?Y:I;if(s==="svg"||Zl(P)?s="svg":(s==="mathml"||tu(P))&&(s="mathml"),V?(f(t.dynamicChildren,V,w,l,o,s,i),kl(t,e,!0)):a||d(t,e,w,B,l,o,s,i,!1),U)E?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):Ri(e,r,Y,u,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const R=e.target=Go(e.props,b);R&&Ri(e,R,null,u,0)}else E&&Ri(e,P,I,u,1);Pi(e,U)}},remove(t,e,r,{um:n,o:{remove:l}},o){const{shapeFlag:s,children:i,anchor:a,targetStart:u,targetAnchor:c,target:d,props:f}=t;if(d&&(l(u),l(c)),o&&l(a),16&s){const m=o||!Qn(f);for(let b=0;b{const e=t.subTree;return e.component?Dh(e.component):e},Eg={name:"BaseTransition",props:Nh,setup(t,{slots:e}){const r=hf(),n=function(){const l={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return vl(()=>{l.isMounted=!0}),Kh(()=>{l.isUnmounting=!0}),l}();return()=>{const l=e.default&&$h(e.default(),!0);if(!l||!l.length)return;const o=Fh(l),s=xt(t),{mode:i}=s;if(n.isLeaving)return Qo(o);const a=ru(o);if(!a)return Qo(o);let u=Rs(a,s,n,r,d=>u=d);a.type!==pe&&fi(a,u);let c=r.subTree&&ru(r.subTree);if(c&&c.type!==pe&&!tn(a,c)&&Dh(r).type!==pe){let d=Rs(c,s,n,r);if(fi(c,d),i==="out-in"&&a.type!==pe)return n.isLeaving=!0,d.afterLeave=()=>{n.isLeaving=!1,8&r.job.flags||r.update(),delete d.afterLeave,c=void 0},Qo(o);i==="in-out"&&a.type!==pe?d.delayLeave=(f,m,b)=>{Wh(n,c)[String(c.key)]=c,f[Cr]=()=>{m(),f[Cr]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{b(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function Fh(t){let e=t[0];if(t.length>1){for(const r of t)if(r.type!==pe){e=r;break}}return e}const Sg=Eg;function Wh(t,e){const{leavingVNodes:r}=t;let n=r.get(e.type);return n||(n=Object.create(null),r.set(e.type,n)),n}function Rs(t,e,r,n,l){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:f,onLeave:m,onAfterLeave:b,onLeaveCancelled:_,onBeforeAppear:S,onAppear:U,onAfterAppear:D,onAppearCancelled:K}=e,V=String(t.key),Y=Wh(r,t),P=(w,B)=>{w&&Ue(w,n,9,B)},I=(w,B)=>{const R=B[1];P(w,B),At(w)?w.every(rt=>rt.length<=1)&&R():w.length<=1&&R()},E={mode:s,persisted:i,beforeEnter(w){let B=a;if(!r.isMounted){if(!o)return;B=S||a}w[Cr]&&w[Cr](!0);const R=Y[V];R&&tn(t,R)&&R.el[Cr]&&R.el[Cr](),P(B,[w])},enter(w){let B=u,R=c,rt=d;if(!r.isMounted){if(!o)return;B=U||u,R=D||c,rt=K||d}let st=!1;const X=w[Bi]=j=>{st||(st=!0,P(j?rt:R,[w]),E.delayedLeave&&E.delayedLeave(),w[Bi]=void 0)};B?I(B,[w,X]):X()},leave(w,B){const R=String(t.key);if(w[Bi]&&w[Bi](!0),r.isUnmounting)return B();P(f,[w]);let rt=!1;const st=w[Cr]=X=>{rt||(rt=!0,B(),P(X?_:b,[w]),w[Cr]=void 0,Y[R]===t&&delete Y[R])};Y[R]=t,m?I(m,[w,st]):st()},clone(w){const B=Rs(w,e,r,n,l);return l&&l(B),B}};return E}function Qo(t){if(Io(t))return(t=Nr(t)).children=null,t}function ru(t){if(!Io(t))return jh(t.type)&&t.children?Fh(t.children):t;const{shapeFlag:e,children:r}=t;if(r){if(16&e)return r[0];if(32&e&&Tt(r.default))return r.default()}}function fi(t,e){6&t.shapeFlag&&t.component?(t.transition=e,fi(t.component.subTree,e)):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function $h(t,e=!1,r){let n=[],l=0;for(let o=0;o1)for(let o=0;ooo(b,e&&(At(e)?e[_]:e),r,n,l));if(An(n)&&!l)return void(512&n.shapeFlag&&n.type.__asyncResolved&&n.component.subTree.component&&oo(t,e,r,n.component.subTree));const o=4&n.shapeFlag?Co(n.component):n.el,s=l?null:o,{i,r:a}=t,u=e&&e.r,c=i.refs===Ut?i.refs={}:i.refs,d=i.setupState,f=xt(d),m=d===Ut?()=>!1:b=>Bt(f,b);if(u!=null&&u!==a&&(qt(u)?(c[u]=null,m(u)&&(d[u]=null)):Yt(u)&&(u.value=null)),Tt(a))Ei(a,i,12,[s,c]);else{const b=qt(a),_=Yt(a);if(b||_){const S=()=>{if(t.f){const U=b?m(a)?d[a]:c[a]:a.value;l?At(U)&&sl(U,o):At(U)?U.includes(o)||U.push(o):b?(c[a]=[o],m(a)&&(d[a]=c[a])):(a.value=[o],t.k&&(c[t.k]=a.value))}else b?(c[a]=s,m(a)&&(d[a]=s)):_&&(a.value=s,t.k&&(c[t.k]=s))};s?(S.id=-1,ce(S,r)):S()}}}eo().requestIdleCallback,eo().cancelIdleCallback;const An=t=>!!t.type.__asyncLoader,Io=t=>t.type.__isKeepAlive;function Ag(t,e){Hh(t,"a",e)}function kg(t,e){Hh(t,"da",e)}function Hh(t,e,r=re){const n=t.__wdc||(t.__wdc=()=>{let l=r;for(;l;){if(l.isDeactivated)return;l=l.parent}return t()});if(To(e,n,r),r){let l=r.parent;for(;l&&l.parent;)Io(l.parent.vnode)&&Ig(n,e,r,l),l=l.parent}}function Ig(t,e,r,n){const l=To(e,t,n,!0);wl(()=>{sl(n[e],l)},r)}function To(t,e,r=re,n=!1){if(r){const l=r[t]||(r[t]=[]),o=e.__weh||(e.__weh=(...s)=>{jr();const i=Si(r),a=Ue(e,r,t,s);return i(),Ur(),a});return n?l.unshift(o):l.push(o),o}}const mr=t=>(e,r=re)=>{gi&&t!=="sp"||To(t,(...n)=>e(...n),r)},Tg=mr("bm"),vl=mr("m"),zh=mr("bu"),Og=mr("u"),Kh=mr("bum"),wl=mr("um"),Cg=mr("sp"),xg=mr("rtg"),Rg=mr("rtc");function Pg(t,e=re){To("ec",t,e)}const _l="components";function Hy(t,e){return El(_l,t,!0,e)||t}const Gh=Symbol.for("v-ndc");function zy(t){return qt(t)?El(_l,t,!1)||t:t||Gh}function Ky(t){return El("directives",t)}function El(t,e,r=!0,n=!1){const l=Zt||re;if(l){const o=l.type;if(t===_l){const i=tm(o,!1);if(i&&(i===e||i===Ce(e)||i===_o(Ce(e))))return o}const s=nu(l[t]||o[t],e)||nu(l.appContext[t],e);return!s&&n?o:s}}function nu(t,e){return t&&(t[e]||t[Ce(e)]||t[_o(Ce(e))])}function Gy(t,e,r,n){let l;const o=r,s=At(t);if(s||qt(t)){let i=!1;s&&Mr(t)&&(i=!Oe(t),t=Ao(t)),l=new Array(t.length);for(let a=0,u=t.length;ae(i,a,void 0,o));else{const i=Object.keys(t);l=new Array(i.length);for(let a=0,u=i.length;a{const o=n.fn(...l);return o&&(o.key=n.key),o}:n.fn)}return t}function Yy(t,e,r={},n,l){if(Zt.ce||Zt.parent&&An(Zt.parent)&&Zt.parent.ce)return e!=="default"&&(r.name=e),js(),Us(ge,null,[me("slot",r,n&&n())],64);let o=t[e];o&&o._c&&(o._d=!1),js();const s=o&&Qh(o(r)),i=r.key||s&&s.key,a=Us(ge,{key:(i&&!gr(i)?i:`_${e}`)+(!s&&n?"_fb":"")},s||(n?n():[]),s&&t._===1?64:-2);return!l&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function Qh(t){return t.some(e=>!di(e)||e.type!==pe&&!(e.type===ge&&!Qh(e.children)))?t:null}const Ps=t=>t?ff(t)?Co(t):Ps(t.parent):null,ri=Xt(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ps(t.parent),$root:t=>Ps(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>Sl(t),$forceUpdate:t=>t.f||(t.f=()=>{bl(t.update)}),$nextTick:t=>t.n||(t.n=yl.bind(t.proxy)),$watch:t=>Vg.bind(t)}),Yo=(t,e)=>t!==Ut&&!t.__isScriptSetup&&Bt(t,e),Bg={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:r,setupState:n,data:l,props:o,accessCache:s,type:i,appContext:a}=t;let u;if(e[0]!=="$"){const m=s[e];if(m!==void 0)switch(m){case 1:return n[e];case 2:return l[e];case 4:return r[e];case 3:return o[e]}else{if(Yo(n,e))return s[e]=1,n[e];if(l!==Ut&&Bt(l,e))return s[e]=2,l[e];if((u=t.propsOptions[0])&&Bt(u,e))return s[e]=3,o[e];if(r!==Ut&&Bt(r,e))return s[e]=4,r[e];Bs&&(s[e]=0)}}const c=ri[e];let d,f;return c?(e==="$attrs"&&ae(t.attrs,0,""),c(t)):(d=i.__cssModules)&&(d=d[e])?d:r!==Ut&&Bt(r,e)?(s[e]=4,r[e]):(f=a.config.globalProperties,Bt(f,e)?f[e]:void 0)},set({_:t},e,r){const{data:n,setupState:l,ctx:o}=t;return Yo(l,e)?(l[e]=r,!0):n!==Ut&&Bt(n,e)?(n[e]=r,!0):!Bt(t.props,e)&&(e[0]!=="$"||!(e.slice(1)in t))&&(o[e]=r,!0)},has({_:{data:t,setupState:e,accessCache:r,ctx:n,appContext:l,propsOptions:o}},s){let i;return!!r[s]||t!==Ut&&Bt(t,s)||Yo(e,s)||(i=o[0])&&Bt(i,s)||Bt(n,s)||Bt(ri,s)||Bt(l.config.globalProperties,s)},defineProperty(t,e,r){return r.get!=null?t._.accessCache[e]=0:Bt(r,"value")&&this.set(t,e,r.value,null),Reflect.defineProperty(t,e,r)}};function iu(t){return At(t)?t.reduce((e,r)=>(e[r]=null,e),{}):t}let Bs=!0;function Mg(t){const e=Sl(t),r=t.proxy,n=t.ctx;Bs=!1,e.beforeCreate&&ou(e.beforeCreate,t,"bc");const{data:l,computed:o,methods:s,watch:i,provide:a,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:m,updated:b,activated:_,deactivated:S,beforeDestroy:U,beforeUnmount:D,destroyed:K,unmounted:V,render:Y,renderTracked:P,renderTriggered:I,errorCaptured:E,serverPrefetch:w,expose:B,inheritAttrs:R,components:rt,directives:st,filters:X}=e;if(u&&function(N,$){At(N)&&(N=Ms(N));for(const nt in N){const Q=N[nt];let G;G=Wt(Q)?"default"in Q?Qe(Q.from||nt,Q.default,!0):Qe(Q.from||nt):Qe(Q),Yt(G)?Object.defineProperty($,nt,{enumerable:!0,configurable:!0,get:()=>G.value,set:T=>G.value=T}):$[nt]=G}}(u,n,null),s)for(const N in s){const $=s[N];Tt($)&&(n[N]=$.bind(r))}if(l){const N=l.call(r,r);Wt(N)&&(t.data=_i(N))}if(Bs=!0,o)for(const N in o){const $=o[N],nt=Tt($)?$.bind(r,r):Tt($.get)?$.get.bind(r,r):Ge,Q=!Tt($)&&Tt($.set)?$.set.bind(r):Ge,G=Ie({get:nt,set:Q});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>G.value,set:T=>G.value=T})}if(i)for(const N in i)Yh(i[N],n,r,N);if(a){const N=Tt(a)?a.call(r):a;Reflect.ownKeys(N).forEach($=>{$i($,N[$])})}function j(N,$){At($)?$.forEach(nt=>N(nt.bind(r))):$&&N($.bind(r))}if(c&&ou(c,t,"c"),j(Tg,d),j(vl,f),j(zh,m),j(Og,b),j(Ag,_),j(kg,S),j(Pg,E),j(Rg,P),j(xg,I),j(Kh,D),j(wl,V),j(Cg,w),At(B))if(B.length){const N=t.exposed||(t.exposed={});B.forEach($=>{Object.defineProperty(N,$,{get:()=>r[$],set:nt=>r[$]=nt})})}else t.exposed||(t.exposed={});Y&&t.render===Ge&&(t.render=Y),R!=null&&(t.inheritAttrs=R),rt&&(t.components=rt),st&&(t.directives=st),w&&qh(t)}function ou(t,e,r){Ue(At(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,r)}function Yh(t,e,r,n){let l=n.includes(".")?of(r,n):()=>r[n];if(qt(t)){const o=e[t];Tt(o)&&xn(l,o)}else if(Tt(t))xn(l,t.bind(r));else if(Wt(t))if(At(t))t.forEach(o=>Yh(o,e,r,n));else{const o=Tt(t.handler)?t.handler.bind(r):e[t.handler];Tt(o)&&xn(l,o,t)}}function Sl(t){const e=t.type,{mixins:r,extends:n}=e,{mixins:l,optionsCache:o,config:{optionMergeStrategies:s}}=t.appContext,i=o.get(e);let a;return i?a=i:l.length||r||n?(a={},l.length&&l.forEach(u=>so(a,u,s,!0)),so(a,e,s)):a=e,Wt(e)&&o.set(e,a),a}function so(t,e,r,n=!1){const{mixins:l,extends:o}=e;o&&so(t,o,r,!0),l&&l.forEach(s=>so(t,s,r,!0));for(const s in e)if(!(n&&s==="expose")){const i=Lg[s]||r&&r[s];t[s]=i?i(t[s],e[s]):e[s]}return t}const Lg={data:su,props:au,emits:au,methods:Wn,computed:Wn,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Wn,directives:Wn,watch:function(t,e){if(!t)return e;if(!e)return t;const r=Xt(Object.create(null),t);for(const n in e)r[n]=ue(t[n],e[n]);return r},provide:su,inject:function(t,e){return Wn(Ms(t),Ms(e))}};function su(t,e){return e?t?function(){return Xt(Tt(t)?t.call(this,this):t,Tt(e)?e.call(this,this):e)}:e:t}function Ms(t){if(At(t)){const e={};for(let r=0;r(o.has(u)||(u&&Tt(u.install)?(o.add(u),u.install(a,...c)):Tt(u)&&(o.add(u),u(a,...c))),a),mixin:u=>(l.mixins.includes(u)||l.mixins.push(u),a),component:(u,c)=>c?(l.components[u]=c,a):l.components[u],directive:(u,c)=>c?(l.directives[u]=c,a):l.directives[u],mount(u,c,d){if(!i){const f=a._ceVNode||me(r,n);return f.appContext=l,d===!0?d="svg":d===!1&&(d=void 0),c&&e?e(f,u):t(f,u,d),i=!0,a._container=u,u.__vue_app__=a,Co(f.component)}},onUnmount(u){s.push(u)},unmount(){i&&(Ue(s,a._instance,16),t(null,a._container),delete a._container.__vue_app__)},provide:(u,c)=>(l.provides[u]=c,a),runWithContext(u){const c=sn;sn=a;try{return u()}finally{sn=c}}};return a}}let sn=null;function $i(t,e){if(re){let r=re.provides;const n=re.parent&&re.parent.provides;n===r&&(r=re.provides=Object.create(n)),r[t]=e}}function Qe(t,e,r=!1){const n=re||Zt;if(n||sn){const l=sn?sn._context.provides:n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(l&&t in l)return l[t];if(arguments.length>1)return r&&Tt(e)?e.call(n&&n.proxy):e}}const Xh={},lu=()=>Object.create(Xh),Zh=t=>Object.getPrototypeOf(t)===Xh;function uu(t,e,r,n){const[l,o]=t.propsOptions;let s,i=!1;if(e)for(let a in e){if(Xn(a))continue;const u=e[a];let c;l&&Bt(l,c=Ce(a))?o&&o.includes(c)?(s||(s={}))[c]=u:r[c]=u:ao(t.emitsOptions,a)||a in n&&u===n[a]||(n[a]=u,i=!0)}if(o){const a=xt(r),u=s||Ut;for(let c=0;c{a=!0;const[f,m]=tf(d,e,!0);Xt(s,f),m&&i.push(...m)};!r&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}if(!o&&!a)return Wt(t)&&n.set(t,In),In;if(At(o))for(let c=0;ct[0]==="_"||t==="$stable",Al=t=>At(t)?t.map(qe):[qe(t)],Dg=(t,e,r)=>{if(e._n)return e;const n=_g((...l)=>Al(e(...l)),r);return n._c=!1,n},hu=(t,e,r)=>{const n=t._ctx;for(const l in t){if(ef(l))continue;const o=t[l];if(Tt(o))e[l]=Dg(0,o,n);else if(o!=null){const s=Al(o);e[l]=()=>s}}},fu=(t,e)=>{const r=Al(e);t.slots.default=()=>r},pu=(t,e,r)=>{for(const n in e)(r||n!=="_")&&(t[n]=e[n])},ce=function(t,e){e&&e.pendingBranch?At(t)?e.effects.push(...t):e.effects.push(t):Rh(t)};function Fg(t){return function(e){eo().__VUE__=!0;const{insert:r,remove:n,patchProp:l,createElement:o,createText:s,createComment:i,setText:a,setElementText:u,parentNode:c,nextSibling:d,setScopeId:f=Ge,insertStaticContent:m}=e,b=(L,A,F,h=null,p=null,y=null,O=void 0,x=null,C=!!A.dynamicChildren)=>{if(L===A)return;L&&!tn(L,A)&&(h=ut(L),T(L,p,y,!0),L=null),A.patchFlag===-2&&(C=!1,A.dynamicChildren=null);const{type:g,ref:v,shapeFlag:k}=A;switch(g){case Oo:_(L,A,F,h);break;case pe:S(L,A,F,h);break;case Vi:L==null&&U(A,F,h,O);break;case ge:R(L,A,F,h,p,y,O,x,C);break;default:1&k?V(L,A,F,h,p,y,O,x,C):6&k?rt(L,A,F,h,p,y,O,x,C):(64&k||128&k)&&g.process(L,A,F,h,p,y,O,x,C,et)}v!=null&&p&&oo(v,L&&L.ref,y,A||L,!A)},_=(L,A,F,h)=>{if(L==null)r(A.el=s(A.children),F,h);else{const p=A.el=L.el;A.children!==L.children&&a(p,A.children)}},S=(L,A,F,h)=>{L==null?r(A.el=i(A.children||""),F,h):A.el=L.el},U=(L,A,F,h)=>{[L.el,L.anchor]=m(L.children,A,F,h,L.el,L.anchor)},D=({el:L,anchor:A},F,h)=>{let p;for(;L&&L!==A;)p=d(L),r(L,F,h),L=p;r(A,F,h)},K=({el:L,anchor:A})=>{let F;for(;L&&L!==A;)F=d(L),n(L),L=F;n(A)},V=(L,A,F,h,p,y,O,x,C)=>{A.type==="svg"?O="svg":A.type==="math"&&(O="mathml"),L==null?Y(A,F,h,p,y,O,x,C):E(L,A,p,y,O,x,C)},Y=(L,A,F,h,p,y,O,x)=>{let C,g;const{props:v,shapeFlag:k,transition:M,dirs:W}=L;if(C=L.el=o(L.type,y,v&&v.is,v),8&k?u(C,L.children):16&k&&I(L.children,C,null,h,p,Jo(L,y),O,x),W&&$r(L,null,h,"created"),P(C,L,L.scopeId,O,h),v){for(const at in v)at==="value"||Xn(at)||l(C,at,null,v[at],y,h);"value"in v&&l(C,"value",null,v.value,y),(g=v.onVnodeBeforeMount)&&Fe(g,h,L)}W&&$r(L,null,h,"beforeMount");const J=function(at,ot){return(!at||at&&!at.pendingBranch)&&ot&&!ot.persisted}(p,M);J&&M.beforeEnter(C),r(C,A,F),((g=v&&v.onVnodeMounted)||J||W)&&ce(()=>{g&&Fe(g,h,L),J&&M.enter(C),W&&$r(L,null,h,"mounted")},p)},P=(L,A,F,h,p)=>{if(F&&f(L,F),h)for(let y=0;y{for(let g=C;g{const x=A.el=L.el;let{patchFlag:C,dynamicChildren:g,dirs:v}=A;C|=16&L.patchFlag;const k=L.props||Ut,M=A.props||Ut;let W;if(F&&Vr(F,!1),(W=M.onVnodeBeforeUpdate)&&Fe(W,F,A,L),v&&$r(A,L,F,"beforeUpdate"),F&&Vr(F,!0),(k.innerHTML&&M.innerHTML==null||k.textContent&&M.textContent==null)&&u(x,""),g?w(L.dynamicChildren,g,x,F,h,Jo(A,p),y):O||$(L,A,x,null,F,h,Jo(A,p),y,!1),C>0){if(16&C)B(x,k,M,F,p);else if(2&C&&k.class!==M.class&&l(x,"class",null,M.class,p),4&C&&l(x,"style",k.style,M.style,p),8&C){const J=A.dynamicProps;for(let at=0;at{W&&Fe(W,F,A,L),v&&$r(A,L,F,"updated")},h)},w=(L,A,F,h,p,y,O)=>{for(let x=0;x{if(A!==F){if(A!==Ut)for(const y in A)Xn(y)||y in F||l(L,y,A[y],null,p,h);for(const y in F){if(Xn(y))continue;const O=F[y],x=A[y];O!==x&&y!=="value"&&l(L,y,x,O,p,h)}"value"in F&&l(L,"value",A.value,F.value,p)}},R=(L,A,F,h,p,y,O,x,C)=>{const g=A.el=L?L.el:s(""),v=A.anchor=L?L.anchor:s("");let{patchFlag:k,dynamicChildren:M,slotScopeIds:W}=A;W&&(x=x?x.concat(W):W),L==null?(r(g,F,h),r(v,F,h),I(A.children||[],F,v,p,y,O,x,C)):k>0&&64&k&&M&&L.dynamicChildren?(w(L.dynamicChildren,M,F,p,y,O,x),(A.key!=null||p&&A===p.subTree)&&kl(L,A,!0)):$(L,A,F,v,p,y,O,x,C)},rt=(L,A,F,h,p,y,O,x,C)=>{A.slotScopeIds=x,L==null?512&A.shapeFlag?p.ctx.activate(A,F,h,O,C):st(A,F,h,p,y,O,C):X(L,A,C)},st=(L,A,F,h,p,y,O)=>{const x=L.component=function(C,g,v){const k=C.type,M=(g?g.appContext:C.appContext)||Jg,W={uid:Xg++,vnode:C,type:k,parent:g,appContext:M,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new lh(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:g?g.provides:Object.create(M.provides),ids:g?g.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:tf(k,M),emitsOptions:sf(k,M),emit:null,emitted:null,propsDefaults:Ut,inheritAttrs:k.inheritAttrs,ctx:Ut,data:Ut,props:Ut,attrs:Ut,slots:Ut,refs:Ut,setupState:Ut,setupContext:null,suspense:v,suspenseId:v?v.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return W.ctx={_:W},W.root=g?g.root:W,W.emit=Hg.bind(null,W),C.ce&&C.ce(W),W}(L,h,p);if(Io(L)&&(x.ctx.renderer=et),function(C,g=!1,v=!1){g&&Ns(g);const{props:k,children:M}=C.vnode,W=ff(C);(function(at,ot,vt,bt=!1){const wt={},Ot=lu();at.propsDefaults=Object.create(null),uu(at,ot,wt,Ot);for(const kt in at.propsOptions[0])kt in wt||(wt[kt]=void 0);vt?at.props=bt?wt:kh(wt):at.type.props?at.props=wt:at.props=Ot,at.attrs=Ot})(C,k,W,g),((at,ot,vt)=>{const bt=at.slots=lu();if(32&at.vnode.shapeFlag){const wt=ot._;wt?(pu(bt,ot,vt),vt&&ih(bt,"_",wt,!0)):hu(ot,bt)}else ot&&fu(at,ot)})(C,M,v);const J=W?function(at,ot){const vt=at.type;at.accessCache=Object.create(null),at.proxy=new Proxy(at.ctx,Bg);const{setup:bt}=vt;if(bt){jr();const wt=at.setupContext=bt.length>1?function(_t){const It=yt=>{_t.exposed=yt||{}};return{attrs:new Proxy(_t.attrs,Zg),slots:_t.slots,emit:_t.emit,expose:It}}(at):null,Ot=Si(at),kt=Ei(bt,at,0,[at.props,wt]),Mt=eh(kt);if(Ur(),Ot(),!Mt&&!at.sp||An(at)||qh(at),Mt){if(kt.then(yu,yu),ot)return kt.then(_t=>{vu(at,_t,ot)}).catch(_t=>{ko(_t,at,0)});at.asyncDep=kt}else vu(at,kt,ot)}else pf(at,ot)}(C,g):void 0;g&&Ns(!1)}(x,!1,O),x.asyncDep){if(p&&p.registerDep(x,j,O),!L.el){const C=x.subTree=me(pe);S(null,C,A,F)}}else j(x,L,A,F,p,y,O)},X=(L,A,F)=>{const h=A.component=L.component;if(function(p,y,O){const{props:x,children:C,component:g}=p,{props:v,children:k,patchFlag:M}=y,W=g.emitsOptions;if(y.dirs||y.transition)return!0;if(!(O&&M>=0))return!(!C&&!k||k&&k.$stable)||x!==v&&(x?!v||gu(x,v,W):!!v);if(1024&M)return!0;if(16&M)return x?gu(x,v,W):!!v;if(8&M){const J=y.dynamicProps;for(let at=0;at{const x=()=>{if(L.isMounted){let{next:k,bu:M,u:W,parent:J,vnode:at}=L;{const Ot=rf(L);if(Ot)return k&&(k.el=at.el,N(L,k,O)),void Ot.asyncDep.then(()=>{L.isUnmounted||x()})}let ot,vt=k;Vr(L,!1),k?(k.el=at.el,N(L,k,O)):k=at,M&&Wo(M),(ot=k.props&&k.props.onVnodeBeforeUpdate)&&Fe(ot,J,k,at),Vr(L,!0);const bt=Xo(L),wt=L.subTree;L.subTree=bt,b(wt,bt,c(wt.el),ut(wt),L,p,y),k.el=bt.el,vt===null&&function({vnode:Ot,parent:kt},Mt){for(;kt;){const _t=kt.subTree;if(_t.suspense&&_t.suspense.activeBranch===Ot&&(_t.el=Ot.el),_t!==Ot)break;(Ot=kt.vnode).el=Mt,kt=kt.parent}}(L,bt.el),W&&ce(W,p),(ot=k.props&&k.props.onVnodeUpdated)&&ce(()=>Fe(ot,J,k,at),p)}else{let k;const{el:M,props:W}=A,{bm:J,m:at,parent:ot,root:vt,type:bt}=L,wt=An(A);if(Vr(L,!1),J&&Wo(J),!wt&&(k=W&&W.onVnodeBeforeMount)&&Fe(k,ot,A),Vr(L,!0),M&&dt){const Ot=()=>{L.subTree=Xo(L),dt(M,L.subTree,L,p,null)};wt&&bt.__asyncHydrate?bt.__asyncHydrate(M,L,Ot):Ot()}else{vt.ce&&vt.ce._injectChildStyle(bt);const Ot=L.subTree=Xo(L);b(null,Ot,F,h,L,p,y),A.el=Ot.el}if(at&&ce(at,p),!wt&&(k=W&&W.onVnodeMounted)){const Ot=A;ce(()=>Fe(k,ot,Ot),p)}(256&A.shapeFlag||ot&&An(ot.vnode)&&256&ot.vnode.shapeFlag)&&L.a&&ce(L.a,p),L.isMounted=!0,A=F=h=null}};L.scope.on();const C=L.effect=new hh(x);L.scope.off();const g=L.update=C.run.bind(C),v=L.job=C.runIfDirty.bind(C);v.i=L,v.id=L.uid,C.scheduler=()=>bl(v),Vr(L,!0),g()},N=(L,A,F)=>{A.component=L;const h=L.vnode.props;L.vnode=A,L.next=null,function(p,y,O,x){const{props:C,attrs:g,vnode:{patchFlag:v}}=p,k=xt(C),[M]=p.propsOptions;let W=!1;if(!(x||v>0)||16&v){let J;uu(p,y,C,g)&&(W=!0);for(const at in k)y&&(Bt(y,at)||(J=Dr(at))!==at&&Bt(y,J))||(M?!O||O[at]===void 0&&O[J]===void 0||(C[at]=Ls(M,k,at,void 0,p,!0)):delete C[at]);if(g!==k)for(const at in g)y&&Bt(y,at)||(delete g[at],W=!0)}else if(8&v){const J=p.vnode.dynamicProps;for(let at=0;at{const{vnode:x,slots:C}=p;let g=!0,v=Ut;if(32&x.shapeFlag){const k=y._;k?O&&k===1?g=!1:pu(C,y,O):(g=!y.$stable,hu(y,C)),v=y}else y&&(fu(p,y),v={default:1});if(g)for(const k in C)ef(k)||v[k]!=null||delete C[k]})(L,A.children,F),jr(),Jl(L),Ur()},$=(L,A,F,h,p,y,O,x,C=!1)=>{const g=L&&L.children,v=L?L.shapeFlag:0,k=A.children,{patchFlag:M,shapeFlag:W}=A;if(M>0){if(128&M)return void Q(g,k,F,h,p,y,O,x,C);if(256&M)return void nt(g,k,F,h,p,y,O,x,C)}8&W?(16&v&<(g,p,y),k!==g&&u(F,k)):16&v?16&W?Q(g,k,F,h,p,y,O,x,C):lt(g,p,y,!0):(8&v&&u(F,""),16&W&&I(k,F,h,p,y,O,x,C))},nt=(L,A,F,h,p,y,O,x,C)=>{A=A||In;const g=(L=L||In).length,v=A.length,k=Math.min(g,v);let M;for(M=0;Mv?lt(L,p,y,!0,!1,k):I(A,F,h,p,y,O,x,C,k)},Q=(L,A,F,h,p,y,O,x,C)=>{let g=0;const v=A.length;let k=L.length-1,M=v-1;for(;g<=k&&g<=M;){const W=L[g],J=A[g]=C?xr(A[g]):qe(A[g]);if(!tn(W,J))break;b(W,J,F,null,p,y,O,x,C),g++}for(;g<=k&&g<=M;){const W=L[k],J=A[M]=C?xr(A[M]):qe(A[M]);if(!tn(W,J))break;b(W,J,F,null,p,y,O,x,C),k--,M--}if(g>k){if(g<=M){const W=M+1,J=WM)for(;g<=k;)T(L[g],p,y,!0),g++;else{const W=g,J=g,at=new Map;for(g=J;g<=M;g++){const _t=A[g]=C?xr(A[g]):qe(A[g]);_t.key!=null&&at.set(_t.key,g)}let ot,vt=0;const bt=M-J+1;let wt=!1,Ot=0;const kt=new Array(bt);for(g=0;g=bt){T(_t,p,y,!0);continue}let It;if(_t.key!=null)It=at.get(_t.key);else for(ot=J;ot<=M;ot++)if(kt[ot-J]===0&&tn(_t,A[ot])){It=ot;break}It===void 0?T(_t,p,y,!0):(kt[It-J]=g+1,It>=Ot?Ot=It:wt=!0,b(_t,A[It],F,null,p,y,O,x,C),vt++)}const Mt=wt?function(_t){const It=_t.slice(),yt=[0];let Ct,wr,Ht,Jt,Ee;const De=_t.length;for(Ct=0;Ct>1,_t[yt[Ee]]0&&(It[Ct]=yt[Ht-1]),yt[Ht]=Ct)}}for(Ht=yt.length,Jt=yt[Ht-1];Ht-- >0;)yt[Ht]=Jt,Jt=It[Jt];return yt}(kt):In;for(ot=Mt.length-1,g=bt-1;g>=0;g--){const _t=J+g,It=A[_t],yt=_t+1{const{el:y,type:O,transition:x,children:C,shapeFlag:g}=L;if(6&g)return void G(L.component.subTree,A,F,h);if(128&g)return void L.suspense.move(A,F,h);if(64&g)return void O.move(L,A,F,et);if(O===ge){r(y,A,F);for(let v=0;vx.enter(y),p);else{const{leave:v,delayLeave:k,afterLeave:M}=x,W=()=>r(y,A,F),J=()=>{v(y,()=>{W(),M&&M()})};k?k(y,W,J):J()}else r(y,A,F)},T=(L,A,F,h=!1,p=!1)=>{const{type:y,props:O,ref:x,children:C,dynamicChildren:g,shapeFlag:v,patchFlag:k,dirs:M,cacheIndex:W}=L;if(k===-2&&(p=!1),x!=null&&oo(x,null,F,L,!0),W!=null&&(A.renderCache[W]=void 0),256&v)return void A.ctx.deactivate(L);const J=1&v&&M,at=!An(L);let ot;if(at&&(ot=O&&O.onVnodeBeforeUnmount)&&Fe(ot,A,L),6&v)it(L.component,F,h);else{if(128&v)return void L.suspense.unmount(F,h);J&&$r(L,null,A,"beforeUnmount"),64&v?L.type.remove(L,A,F,et,h):g&&!g.hasOnce&&(y!==ge||k>0&&64&k)?lt(g,A,F,!1,!0):(y===ge&&384&k||!p&&16&v)&<(C,A,F),h&&q(L)}(at&&(ot=O&&O.onVnodeUnmounted)||J)&&ce(()=>{ot&&Fe(ot,A,L),J&&$r(L,null,A,"unmounted")},F)},q=L=>{const{type:A,el:F,anchor:h,transition:p}=L;if(A===ge)return void tt(F,h);if(A===Vi)return void K(L);const y=()=>{n(F),p&&!p.persisted&&p.afterLeave&&p.afterLeave()};if(1&L.shapeFlag&&p&&!p.persisted){const{leave:O,delayLeave:x}=p,C=()=>O(F,y);x?x(L.el,y,C):C()}else y()},tt=(L,A)=>{let F;for(;L!==A;)F=d(L),n(L),L=F;n(A)},it=(L,A,F)=>{const{bum:h,scope:p,job:y,subTree:O,um:x,m:C,a:g}=L;du(C),du(g),h&&Wo(h),p.stop(),y&&(y.flags|=8,T(O,L,A,F)),x&&ce(x,A),ce(()=>{L.isUnmounted=!0},A),A&&A.pendingBranch&&!A.isUnmounted&&L.asyncDep&&!L.asyncResolved&&L.suspenseId===A.pendingId&&(A.deps--,A.deps===0&&A.resolve())},lt=(L,A,F,h=!1,p=!1,y=0)=>{for(let O=y;O{if(6&L.shapeFlag)return ut(L.component.subTree);if(128&L.shapeFlag)return L.suspense.next();const A=d(L.anchor||L.el),F=A&&A[Lh];return F?d(F):A};let pt=!1;const H=(L,A,F)=>{L==null?A._vnode&&T(A._vnode,null,null,!0):b(A._vnode||null,L,A,null,null,null,F),A._vnode=L,pt||(pt=!0,Jl(),Ph(),pt=!1)},et={p:b,um:T,m:G,r:q,mt:st,mc:I,pc:$,pbc:w,n:ut,o:e};let Z,dt;return{render:H,hydrate:Z,createApp:Ug(H,Z)}}(t)}function Jo({type:t,props:e},r){return r==="svg"&&t==="foreignObject"||r==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:r}function Vr({effect:t,job:e},r){r?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function kl(t,e,r=!1){const n=t.children,l=e.children;if(At(n)&&At(l))for(let o=0;oQe(Wg);function xn(t,e,r){return nf(t,e,r)}function nf(t,e,r=Ut){const{immediate:n,deep:l,flush:o,once:s}=r,i=Xt({},r),a=e&&n||!e&&o!=="post";let u;if(gi){if(o==="sync"){const m=$g();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!a){const m=()=>{};return m.stop=Ge,m.resume=Ge,m.pause=Ge,m}}const c=re;i.call=(m,b,_)=>Ue(m,c,b,_);let d=!1;o==="post"?i.scheduler=m=>{ce(m,c&&c.suspense)}:o!=="sync"&&(d=!0,i.scheduler=(m,b)=>{b?m():bl(m)}),i.augmentJob=m=>{e&&(m.flags|=4),d&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const f=wg(t,e,i);return gi&&(u?u.push(f):a&&f()),f}function Vg(t,e,r){const n=this.proxy,l=qt(t)?t.includes(".")?of(n,t):()=>n[t]:t.bind(n,n);let o;Tt(e)?o=e:(o=e.handler,r=e);const s=Si(this),i=nf(l,o.bind(n),r);return s(),i}function of(t,e){const r=e.split(".");return()=>{let n=t;for(let l=0;le==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Ce(e)}Modifiers`]||t[`${Dr(e)}Modifiers`];function Hg(t,e,...r){if(t.isUnmounted)return;const n=t.vnode.props||Ut;let l=r;const o=e.startsWith("update:"),s=o&&qg(n,e.slice(7));let i;s&&(s.trim&&(l=r.map(c=>qt(c)?c.trim():c)),s.number&&(l=r.map(zd)));let a=n[i=Fo(e)]||n[i=Fo(Ce(e))];!a&&o&&(a=n[i=Fo(Dr(e))]),a&&Ue(a,t,6,l);const u=n[i+"Once"];if(u){if(t.emitted){if(t.emitted[i])return}else t.emitted={};t.emitted[i]=!0,Ue(u,t,6,l)}}function sf(t,e,r=!1){const n=e.emitsCache,l=n.get(t);if(l!==void 0)return l;const o=t.emits;let s={},i=!1;if(!Tt(t)){const a=u=>{const c=sf(u,e,!0);c&&(i=!0,Xt(s,c))};!r&&e.mixins.length&&e.mixins.forEach(a),t.extends&&a(t.extends),t.mixins&&t.mixins.forEach(a)}return o||i?(At(o)?o.forEach(a=>s[a]=null):Xt(s,o),Wt(t)&&n.set(t,s),s):(Wt(t)&&n.set(t,null),null)}function ao(t,e){return!(!t||!bo(e))&&(e=e.slice(2).replace(/Once$/,""),Bt(t,e[0].toLowerCase()+e.slice(1))||Bt(t,Dr(e))||Bt(t,e))}function Xo(t){const{type:e,vnode:r,proxy:n,withProxy:l,propsOptions:[o],slots:s,attrs:i,emit:a,render:u,renderCache:c,props:d,data:f,setupState:m,ctx:b,inheritAttrs:_}=t,S=io(t);let U,D;try{if(4&r.shapeFlag){const V=l||n,Y=V;U=qe(u.call(Y,V,c,d,m,f,b)),D=i}else{const V=e;U=qe(V.length>1?V(d,{attrs:i,slots:s,emit:a}):V(d,null)),D=e.props?i:zg(i)}}catch(V){ni.length=0,ko(V,t,1),U=me(pe)}let K=U;if(D&&_!==!1){const V=Object.keys(D),{shapeFlag:Y}=K;V.length&&7&Y&&(o&&V.some(ol)&&(D=Kg(D,o)),K=Nr(K,D,!1,!0))}return r.dirs&&(K=Nr(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(r.dirs):r.dirs),r.transition&&fi(K,r.transition),U=K,io(S),U}const zg=t=>{let e;for(const r in t)(r==="class"||r==="style"||bo(r))&&((e||(e={}))[r]=t[r]);return e},Kg=(t,e)=>{const r={};for(const n in t)ol(n)&&n.slice(9)in e||(r[n]=t[n]);return r};function gu(t,e,r){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!0;for(let l=0;lt.__isSuspense,ge=Symbol.for("v-fgt"),Oo=Symbol.for("v-txt"),pe=Symbol.for("v-cmt"),Vi=Symbol.for("v-stc"),ni=[];let _e=null;function js(t=!1){ni.push(_e=t?null:[])}let pi=1;function mu(t,e=!1){pi+=t,t<0&&_e&&e&&(_e.hasOnce=!0)}function lf(t){return t.dynamicChildren=pi>0?_e||In:null,ni.pop(),_e=ni[ni.length-1]||null,pi>0&&_e&&_e.push(t),t}function Jy(t,e,r,n,l,o){return lf(cf(t,e,r,n,l,o,!0))}function Us(t,e,r,n,l){return lf(me(t,e,r,n,l,!0))}function di(t){return!!t&&t.__v_isVNode===!0}function tn(t,e){return t.type===e.type&&t.key===e.key}const uf=({key:t})=>t??null,qi=({ref:t,ref_key:e,ref_for:r})=>(typeof t=="number"&&(t=""+t),t!=null?qt(t)||Yt(t)||Tt(t)?{i:Zt,r:t,k:e,f:!!r}:t:null);function cf(t,e=null,r=null,n=0,l=null,o=t===ge?0:1,s=!1,i=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&uf(e),ref:e&&qi(e),scopeId:Mh,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:Zt};return i?(Il(a,r),128&o&&t.normalize(a)):r&&(a.shapeFlag|=qt(r)?8:16),pi>0&&!s&&_e&&(a.patchFlag>0||6&o)&&a.patchFlag!==32&&_e.push(a),a}const me=function(t,e=null,r=null,n=0,l=null,o=!1){if(t&&t!==Gh||(t=pe),di(t)){const a=Nr(t,e,!0);return r&&Il(a,r),pi>0&&!o&&_e&&(6&a.shapeFlag?_e[_e.indexOf(t)]=a:_e.push(a)),a.patchFlag=-2,a}s=t,Tt(s)&&"__vccOpts"in s&&(t=t.__vccOpts);var s;if(e){e=Gg(e);let{class:a,style:u}=e;a&&!qt(a)&&(e.class=So(a)),Wt(u)&&(dl(u)&&!At(u)&&(u=Xt({},u)),e.style=Eo(u))}const i=qt(t)?1:af(t)?128:jh(t)?64:Wt(t)?4:Tt(t)?2:0;return cf(t,e,r,n,l,i,o,!0)};function Gg(t){return t?dl(t)||Zh(t)?Xt({},t):t:null}function Nr(t,e,r=!1,n=!1){const{props:l,ref:o,patchFlag:s,children:i,transition:a}=t,u=e?Yg(l||{},e):l,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&uf(u),ref:e&&e.ref?r&&o?At(o)?o.concat(qi(e)):[o,qi(e)]:qi(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:i,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==ge?s===-1?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Nr(t.ssContent),ssFallback:t.ssFallback&&Nr(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&n&&fi(c,a.clone(c)),c}function Qg(t=" ",e=0){return me(Oo,null,t,e)}function Xy(t="",e=!1){return e?(js(),Us(pe,null,t)):me(pe,null,t)}function qe(t){return t==null||typeof t=="boolean"?me(pe):At(t)?me(ge,null,t.slice()):di(t)?xr(t):me(Oo,null,String(t))}function xr(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Nr(t)}function Il(t,e){let r=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(At(e))r=16;else if(typeof e=="object"){if(65&n){const l=e.default;return void(l&&(l._c&&(l._d=!1),Il(t,l()),l._c&&(l._d=!0)))}{r=32;const l=e._;l||Zh(e)?l===3&&Zt&&(Zt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=Zt}}else Tt(e)?(e={default:e,_ctx:Zt},r=32):(e=String(e),64&n?(r=16,e=[Qg(e)]):r=8);t.children=e,t.shapeFlag|=r}function Yg(...t){const e={};for(let r=0;rre||Zt;let lo,Ns;{const t=eo(),e=(r,n)=>{let l;return(l=t[r])||(l=t[r]=[]),l.push(n),o=>{l.length>1?l.forEach(s=>s(o)):l[0](o)}};lo=e("__VUE_INSTANCE_SETTERS__",r=>re=r),Ns=e("__VUE_SSR_SETTERS__",r=>gi=r)}const Si=t=>{const e=re;return lo(t),t.scope.on(),()=>{t.scope.off(),lo(e)}},yu=()=>{re&&re.scope.off(),lo(null)};function ff(t){return 4&t.vnode.shapeFlag}let bu,gi=!1;function vu(t,e,r){Tt(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Wt(e)&&(t.setupState=Oh(e)),pf(t,r)}function pf(t,e,r){const n=t.type;if(!t.render){if(!e&&bu&&!n.render){const l=n.template||Sl(t).template;if(l){const{isCustomElement:o,compilerOptions:s}=t.appContext.config,{delimiters:i,compilerOptions:a}=n,u=Xt(Xt({isCustomElement:o,delimiters:i},s),a);n.render=bu(l,u)}}t.render=n.render||Ge}{const l=Si(t);jr();try{Mg(t)}finally{Ur(),l()}}}const Zg={get:(t,e)=>(ae(t,0,""),t[e])};function Co(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Oh(gl(t.exposed)),{get:(e,r)=>r in e?e[r]:r in ri?ri[r](t):void 0,has:(e,r)=>r in e||r in ri})):t.proxy}function tm(t,e=!0){return Tt(t)?t.displayName||t.name:t.name||e&&t.__name}const Ie=(t,e)=>function(n,l,o=!1){let s,i;return Tt(n)?s=n:(s=n.get,i=n.set),new vg(s,i,o)}(t,0,gi);function Tl(t,e,r){const n=arguments.length;return n===2?Wt(e)&&!At(e)?di(e)?me(t,null,[e]):me(t,e):me(t,null,e):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&di(r)&&(r=[r]),me(t,e,r))}const em="3.5.13";/** +* @vue/runtime-dom v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ds;const wu=typeof window<"u"&&window.trustedTypes;if(wu)try{Ds=wu.createPolicy("vue",{createHTML:t=>t})}catch{}const df=Ds?t=>Ds.createHTML(t):t=>t,ir=typeof document<"u"?document:null,_u=ir&&ir.createElement("template"),rm={insert:(t,e,r)=>{e.insertBefore(t,r||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,r,n)=>{const l=e==="svg"?ir.createElementNS("http://www.w3.org/2000/svg",t):e==="mathml"?ir.createElementNS("http://www.w3.org/1998/Math/MathML",t):r?ir.createElement(t,{is:r}):ir.createElement(t);return t==="select"&&n&&n.multiple!=null&&l.setAttribute("multiple",n.multiple),l},createText:t=>ir.createTextNode(t),createComment:t=>ir.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>ir.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,r,n,l,o){const s=r?r.previousSibling:e.lastChild;if(l&&(l===o||l.nextSibling))for(;e.insertBefore(l.cloneNode(!0),r),l!==o&&(l=l.nextSibling););else{_u.innerHTML=df(n==="svg"?`${t}`:n==="mathml"?`${t}`:t);const i=_u.content;if(n==="svg"||n==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}e.insertBefore(i,r)}return[s?s.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}},_r="transition",$n="animation",mi=Symbol("_vtc"),gf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},nm=Xt({},Nh,gf),Zy=(t=>(t.displayName="Transition",t.props=nm,t))((t,{slots:e})=>Tl(Sg,function(r){const n={};for(const X in r)X in gf||(n[X]=r[X]);if(r.css===!1)return n;const{name:l="v",type:o,duration:s,enterFromClass:i=`${l}-enter-from`,enterActiveClass:a=`${l}-enter-active`,enterToClass:u=`${l}-enter-to`,appearFromClass:c=i,appearActiveClass:d=a,appearToClass:f=u,leaveFromClass:m=`${l}-leave-from`,leaveActiveClass:b=`${l}-leave-active`,leaveToClass:_=`${l}-leave-to`}=r,S=function(X){if(X==null)return null;if(Wt(X))return[Zo(X.enter),Zo(X.leave)];{const j=Zo(X);return[j,j]}}(s),U=S&&S[0],D=S&&S[1],{onBeforeEnter:K,onEnter:V,onEnterCancelled:Y,onLeave:P,onLeaveCancelled:I,onBeforeAppear:E=K,onAppear:w=V,onAppearCancelled:B=Y}=n,R=(X,j,N,$)=>{X._enterCancelled=$,Hr(X,j?f:u),Hr(X,j?d:a),N&&N()},rt=(X,j)=>{X._isLeaving=!1,Hr(X,m),Hr(X,_),Hr(X,b),j&&j()},st=X=>(j,N)=>{const $=X?w:V,nt=()=>R(j,X,N);qr($,[j,nt]),Su(()=>{Hr(j,X?c:i),Ze(j,X?f:u),Eu($)||Au(j,o,U,nt)})};return Xt(n,{onBeforeEnter(X){qr(K,[X]),Ze(X,i),Ze(X,a)},onBeforeAppear(X){qr(E,[X]),Ze(X,c),Ze(X,d)},onEnter:st(!1),onAppear:st(!0),onLeave(X,j){X._isLeaving=!0;const N=()=>rt(X,j);Ze(X,m),X._enterCancelled?(Ze(X,b),Tu()):(Tu(),Ze(X,b)),Su(()=>{X._isLeaving&&(Hr(X,m),Ze(X,_),Eu(P)||Au(X,o,D,N))}),qr(P,[X,N])},onEnterCancelled(X){R(X,!1,void 0,!0),qr(Y,[X])},onAppearCancelled(X){R(X,!0,void 0,!0),qr(B,[X])},onLeaveCancelled(X){rt(X),qr(I,[X])}})}(t),e)),qr=(t,e=[])=>{At(t)?t.forEach(r=>r(...e)):t&&t(...e)},Eu=t=>!!t&&(At(t)?t.some(e=>e.length>1):t.length>1);function Zo(t){return(r=>{const n=qt(r)?Number(r):NaN;return isNaN(n)?r:n})(t)}function Ze(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.add(r)),(t[mi]||(t[mi]=new Set)).add(e)}function Hr(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const r=t[mi];r&&(r.delete(e),r.size||(t[mi]=void 0))}function Su(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let im=0;function Au(t,e,r,n){const l=t._endId=++im,o=()=>{l===t._endId&&n()};if(r!=null)return setTimeout(o,r);const{type:s,timeout:i,propCount:a}=function(m,b){const _=window.getComputedStyle(m),S=R=>(_[R]||"").split(", "),U=S(`${_r}Delay`),D=S(`${_r}Duration`),K=ku(U,D),V=S(`${$n}Delay`),Y=S(`${$n}Duration`),P=ku(V,Y);let I=null,E=0,w=0;b===_r?K>0&&(I=_r,E=K,w=D.length):b===$n?P>0&&(I=$n,E=P,w=Y.length):(E=Math.max(K,P),I=E>0?K>P?_r:$n:null,w=I?I===_r?D.length:Y.length:0);const B=I===_r&&/\b(transform|all)(,|$)/.test(S(`${_r}Property`).toString());return{type:I,timeout:E,propCount:w,hasTransform:B}}(t,e);if(!s)return n();const u=s+"end";let c=0;const d=()=>{t.removeEventListener(u,f),o()},f=m=>{m.target===t&&++c>=a&&d()};setTimeout(()=>{cIu(r)+Iu(t[n])))}function Iu(t){return t==="auto"?0:1e3*Number(t.slice(0,-1).replace(",","."))}function Tu(){return document.body.offsetHeight}const uo=Symbol("_vod"),mf=Symbol("_vsh"),tb={beforeMount(t,{value:e},{transition:r}){t[uo]=t.style.display==="none"?"":t.style.display,r&&e?r.beforeEnter(t):Vn(t,e)},mounted(t,{value:e},{transition:r}){r&&e&&r.enter(t)},updated(t,{value:e,oldValue:r},{transition:n}){!e!=!r&&(n?e?(n.beforeEnter(t),Vn(t,!0),n.enter(t)):n.leave(t,()=>{Vn(t,!1)}):Vn(t,e))},beforeUnmount(t,{value:e}){Vn(t,e)}};function Vn(t,e){t.style.display=e?t[uo]:"none",t[mf]=!e}const yf=Symbol("");function eb(t){const e=hf();if(!e)return;const r=e.ut=(l=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach(o=>co(o,l))},n=()=>{const l=t(e.proxy);e.ce?co(e.ce,l):Fs(e.subTree,l),r(l)};zh(()=>{Rh(n)}),vl(()=>{xn(n,Ge,{flush:"post"});const l=new MutationObserver(n);l.observe(e.subTree.el.parentNode,{childList:!0}),wl(()=>l.disconnect())})}function Fs(t,e){if(128&t.shapeFlag){const r=t.suspense;t=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Fs(r.activeBranch,e)})}for(;t.component;)t=t.component.subTree;if(1&t.shapeFlag&&t.el)co(t.el,e);else if(t.type===ge)t.children.forEach(r=>Fs(r,e));else if(t.type===Vi){let{el:r,anchor:n}=t;for(;r&&(co(r,e),r!==n);)r=r.nextSibling}}function co(t,e){if(t.nodeType===1){const r=t.style;let n="";for(const l in e)r.setProperty(`--${l}`,e[l]),n+=`--${l}: ${e[l]};`;r[yf]=n}}const om=/(^|;)\s*display\s*:/,Ou=/\s*!important$/;function Hi(t,e,r){if(At(r))r.forEach(n=>Hi(t,e,n));else if(r==null&&(r=""),e.startsWith("--"))t.setProperty(e,r);else{const n=function(l,o){const s=ts[o];if(s)return s;let i=Ce(o);if(i!=="filter"&&i in l)return ts[o]=i;i=_o(i);for(let a=0;a{if(m._vts){if(m._vts<=f.attached)return}else m._vts=Date.now();Ue(function(b,_){if(At(_)){const S=b.stopImmediatePropagation;return b.stopImmediatePropagation=()=>{S.call(b),b._stopped=!0},_.map(U=>D=>!D._stopped&&U&&U(D))}return _}(m,f.value),d,5,[m])};return f.value=c,f.attached=lm(),f}(n,l);(function(c,d,f,m){c.addEventListener(d,f,m)})(t,i,u,a)}else s&&(function(u,c,d,f){u.removeEventListener(c,d,f)}(t,i,s,a),o[e]=void 0)}}const Mu=/(?:Once|Passive|Capture)$/;let es=0;const am=Promise.resolve(),lm=()=>es||(am.then(()=>es=0),es=Date.now()),Lu=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,um=["ctrl","shift","alt","meta"],cm={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>um.some(r=>t[`${r}Key`]&&!e.includes(r))},rb=(t,e)=>{const r=t._withMods||(t._withMods={}),n=e.join(".");return r[n]||(r[n]=(l,...o)=>{for(let s=0;s{const r=t._withKeys||(t._withKeys={}),n=e.join(".");return r[n]||(r[n]=l=>{if(!("key"in l))return;const o=Dr(l.key);return e.some(s=>s===o||hm[s]===o)?t(l):void 0})},fm=Xt({patchProp:(t,e,r,n,l,o)=>{const s=l==="svg";e==="class"?function(i,a,u){const c=i[mi];c&&(a=(a?[a,...c]:[...c]).join(" ")),a==null?i.removeAttribute("class"):u?i.setAttribute("class",a):i.className=a}(t,n,s):e==="style"?function(i,a,u){const c=i.style,d=qt(u);let f=!1;if(u&&!d){if(a)if(qt(a))for(const m of a.split(";")){const b=m.slice(0,m.indexOf(":")).trim();u[b]==null&&Hi(c,b,"")}else for(const m in a)u[m]==null&&Hi(c,m,"");for(const m in u)m==="display"&&(f=!0),Hi(c,m,u[m])}else if(d){if(a!==u){const m=c[yf];m&&(u+=";"+m),c.cssText=u,f=om.test(u)}}else a&&i.removeAttribute("style");uo in i&&(i[uo]=f?c.display:"",i[mf]&&(c.display="none"))}(t,r,n):bo(e)?ol(e)||sm(t,e,0,n,o):(e[0]==="."?(e=e.slice(1),1):e[0]==="^"?(e=e.slice(1),0):function(i,a,u,c){if(c)return a==="innerHTML"||a==="textContent"||!!(a in i&&Lu(a)&&Tt(u));if(a==="spellcheck"||a==="draggable"||a==="translate"||a==="form"||a==="list"&&i.tagName==="INPUT"||a==="type"&&i.tagName==="TEXTAREA")return!1;if(a==="width"||a==="height"){const d=i.tagName;if(d==="IMG"||d==="VIDEO"||d==="CANVAS"||d==="SOURCE")return!1}return Lu(a)&&qt(u)?!1:a in i}(t,e,n,s))?(Pu(t,e,n),t.tagName.includes("-")||e!=="value"&&e!=="checked"&&e!=="selected"||Ru(t,e,n,s,0,e!=="value")):!t._isVueCE||!/[A-Z]/.test(e)&&qt(n)?(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),Ru(t,e,n,s)):Pu(t,Ce(e),n,0,e)}},rm);let ju;const ib=(...t)=>{const e=(ju||(ju=Fg(fm))).createApp(...t),{mount:r}=e;return e.mount=n=>{const l=function(i){return qt(i)?document.querySelector(i):i}(n);if(!l)return;const o=e._component;Tt(o)||o.render||o.template||(o.template=l.innerHTML),l.nodeType===1&&(l.textContent="");const s=r(l,!1,function(i){if(i instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&i instanceof MathMLElement)return"mathml"}(l));return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),s},e};let bf;const xo=t=>bf=t,vf=Symbol();function Ws(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ii,rs;function ob(){const t=uh(!0),e=t.run(()=>ml({}));let r=[],n=[];const l=gl({install(o){xo(l),l._a=o,o.provide(vf,l),o.config.globalProperties.$pinia=l,n.forEach(s=>r.push(s)),n=[]},use(o){return this._a?r.push(o):n.push(o),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return l}(rs=ii||(ii={})).direct="direct",rs.patchObject="patch object",rs.patchFunction="patch function";const wf=()=>{};function Uu(t,e,r,n=wf){t.push(e);const l=()=>{const o=t.indexOf(e);o>-1&&(t.splice(o,1),n())};return!r&&ch()&&function(o){he&&he.cleanups.push(o)}(l),l}function bn(t,...e){t.slice().forEach(r=>{r(...e)})}const pm=t=>t(),Nu=Symbol(),ns=Symbol();function $s(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],l=t[r];Ws(l)&&Ws(n)&&t.hasOwnProperty(r)&&!Yt(n)&&!Mr(n)?t[r]=$s(l,n):t[r]=n}return t}const dm=Symbol(),{assign:Sr}=Object;function gm(t,e,r,n){const{state:l,actions:o,getters:s}=e,i=r.state.value[t];let a;return a=_f(t,function(){i||(r.state.value[t]=l?l():{});const u=function(c){const d=At(c)?new Array(c.length):{};for(const f in c)d[f]=bg(c,f);return d}(r.state.value[t]);return Sr(u,o,Object.keys(s||{}).reduce((c,d)=>(c[d]=gl(Ie(()=>{xo(r);const f=r._s.get(t);return s[d].call(f,f)})),c),{}))},e,r,n,!0),a}function _f(t,e,r={},n,l,o){let s;const i=Sr({actions:{}},r),a={deep:!0};let u,c,d,f=[],m=[];const b=n.state.value[t];let _;function S(I){let E;u=c=!1,typeof I=="function"?(I(n.state.value[t]),E={type:ii.patchFunction,storeId:t,events:d}):($s(n.state.value[t],I),E={type:ii.patchObject,payload:I,storeId:t,events:d});const w=_=Symbol();yl().then(()=>{_===w&&(u=!0)}),c=!0,bn(f,E,n.state.value[t])}o||b||(n.state.value[t]={}),ml({});const U=o?function(){const{state:I}=r,E=I?I():{};this.$patch(w=>{Sr(w,E)})}:wf,D=(I,E="")=>{if(Nu in I)return I[ns]=E,I;const w=function(){xo(n);const B=Array.from(arguments),R=[],rt=[];let st;bn(m,{args:B,name:w[ns],store:K,after:function(X){R.push(X)},onError:function(X){rt.push(X)}});try{st=I.apply(this&&this.$id===t?this:K,B)}catch(X){throw bn(rt,X),X}return st instanceof Promise?st.then(X=>(bn(R,X),X)).catch(X=>(bn(rt,X),Promise.reject(X))):(bn(R,st),st)};return w[Nu]=!0,w[ns]=E,w},K=_i({_p:n,$id:t,$onAction:Uu.bind(null,m),$patch:S,$reset:U,$subscribe(I,E={}){const w=Uu(f,I,E.detached,()=>B()),B=s.run(()=>xn(()=>n.state.value[t],R=>{(E.flush==="sync"?c:u)&&I({storeId:t,type:ii.direct,events:d},R)},Sr({},a,E)));return w},$dispose:function(){s.stop(),f=[],m=[],n._s.delete(t)}});n._s.set(t,K);const V=(n._a&&n._a.runWithContext||pm)(()=>n._e.run(()=>(s=uh()).run(()=>e({action:D}))));for(const I in V){const E=V[I];if(Yt(E)&&(!Yt(P=E)||!P.effect)||Mr(E))o||(!b||Ws(Y=E)&&Y.hasOwnProperty(dm)||(Yt(E)?E.value=b[I]:$s(E,b[I])),n.state.value[t][I]=E);else if(typeof E=="function"){const w=D(E,I);V[I]=w,i.actions[I]=E}}var Y,P;return Sr(K,V),Sr(xt(K),V),Object.defineProperty(K,"$state",{get:()=>n.state.value[t],set:I=>{S(E=>{Sr(E,I)})}}),n._p.forEach(I=>{Sr(K,s.run(()=>I({store:K,app:n._a,pinia:n,options:i})))}),b&&o&&r.hydrate&&r.hydrate(K.$state,b),u=!0,c=!0,K}/*! #__NO_SIDE_EFFECTS__ */function sb(t,e,r){let n,l;const o=typeof e=="function";function s(i,a){return(i=i||(re||Zt||sn?Qe(vf,null):null))&&xo(i),(i=bf)._s.has(n)||(o?_f(n,e,l,i):gm(n,l,i)),i._s.get(n)}return n=t,l=o?r:e,s.$id=n,s}/*! + * vue-router v4.5.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const En=typeof document<"u";function Du(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}const Pt=Object.assign;function is(t,e){const r={};for(const n in e){const l=e[n];r[n]=Ne(l)?l.map(t):t(l)}return r}const oi=()=>{},Ne=Array.isArray,Ef=/#/g,mm=/&/g,ym=/\//g,bm=/=/g,vm=/\?/g,Sf=/\+/g,wm=/%5B/g,_m=/%5D/g,Af=/%5E/g,Em=/%60/g,kf=/%7B/g,Sm=/%7C/g,If=/%7D/g,Am=/%20/g;function Ol(t){return encodeURI(""+t).replace(Sm,"|").replace(wm,"[").replace(_m,"]")}function os(t){return Ol(t).replace(Sf,"%2B").replace(Am,"+").replace(Ef,"%23").replace(mm,"%26").replace(Em,"`").replace(kf,"{").replace(If,"}").replace(Af,"^")}function km(t){return t==null?"":function(e){return Ol(e).replace(Ef,"%23").replace(vm,"%3F")}(t).replace(ym,"%2F")}function yi(t){try{return decodeURIComponent(""+t)}catch{}return""+t}const Im=/\/$/;function ss(t,e,r="/"){let n,l={},o="",s="";const i=e.indexOf("#");let a=e.indexOf("?");return i=0&&(a=-1),a>-1&&(n=e.slice(0,a),o=e.slice(a+1,i>-1?i:e.length),l=t(o)),i>-1&&(n=n||e.slice(0,i),s=e.slice(i,e.length)),n=function(u,c){if(u.startsWith("/"))return u;if(!u)return c;const d=c.split("/"),f=u.split("/"),m=f[f.length-1];m!==".."&&m!=="."||f.push("");let b,_,S=d.length-1;for(b=0;b1&&S--}return d.slice(0,S).join("/")+"/"+f.slice(b).join("/")}(n??e,r),{fullPath:n+(o&&"?")+o+s,path:n,query:l,hash:yi(s)}}function Fu(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function Rn(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function Tf(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const r in t)if(!Tm(t[r],e[r]))return!1;return!0}function Tm(t,e){return Ne(t)?Wu(t,e):Ne(e)?Wu(e,t):t===e}function Wu(t,e){return Ne(e)?t.length===e.length&&t.every((r,n)=>r===e[n]):t.length===1&&t[0]===e}const Er={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var bi,$u,si,as;function Om(t){if(!t)if(En){const e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),t.replace(Im,"")}($u=bi||(bi={})).pop="pop",$u.push="push",(as=si||(si={})).back="back",as.forward="forward",as.unknown="";const Cm=/^[^#]+#/;function xm(t,e){return t.replace(Cm,"#")+e}const Ro=()=>({left:window.scrollX,top:window.scrollY});function Rm(t){let e;if("el"in t){const r=t.el,n=typeof r=="string"&&r.startsWith("#"),l=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!l)return;e=function(o,s){const i=document.documentElement.getBoundingClientRect(),a=o.getBoundingClientRect();return{behavior:s.behavior,left:a.left-i.left-(s.left||0),top:a.top-i.top-(s.top||0)}}(l,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function Vu(t,e){return(history.state?history.state.position-e:-1)+t}const ls=new Map;function Of(t,e){const{pathname:r,search:n,hash:l}=e,o=t.indexOf("#");if(o>-1){let s=l.includes(t.slice(o))?t.slice(o).length:1,i=l.slice(s);return i[0]!=="/"&&(i="/"+i),Fu(i,"")}return Fu(r,t)+n+l}function qu(t,e,r,n=!1,l=!1){return{back:t,current:e,forward:r,replaced:n,position:window.history.length,scroll:l?Ro():null}}function Pm(t){const{history:e,location:r}=window,n={value:Of(t,r)},l={value:e.state};function o(s,i,a){const u=t.indexOf("#"),c=u>-1?(r.host&&document.querySelector("base")?t:t.slice(u))+s:location.protocol+"//"+location.host+t+s;try{e[a?"replaceState":"pushState"](i,"",c),l.value=i}catch{r[a?"replace":"assign"](c)}}return l.value||o(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:n,state:l,push:function(s,i){const a=Pt({},l.value,e.state,{forward:s,scroll:Ro()});o(a.current,a,!0),o(s,Pt({},qu(n.value,s,null),{position:a.position+1},i),!1),n.value=s},replace:function(s,i){o(s,Pt({},e.state,qu(l.value.back,s,l.value.forward,!0),i,{position:l.value.position}),!0),n.value=s}}}function Bm(t){const e=Pm(t=Om(t)),r=function(l,o,s,i){let a=[],u=[],c=null;const d=({state:m})=>{const b=Of(l,location),_=s.value,S=o.value;let U=0;if(m){if(s.value=b,o.value=m,c&&c===_)return void(c=null);U=S?m.position-S.position:0}else i(b);a.forEach(D=>{D(s.value,_,{delta:U,type:bi.pop,direction:U?U>0?si.forward:si.back:si.unknown})})};function f(){const{history:m}=window;m.state&&m.replaceState(Pt({},m.state,{scroll:Ro()}),"")}return window.addEventListener("popstate",d),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:function(){c=s.value},listen:function(m){a.push(m);const b=()=>{const _=a.indexOf(m);_>-1&&a.splice(_,1)};return u.push(b),b},destroy:function(){for(const m of u)m();u=[],window.removeEventListener("popstate",d),window.removeEventListener("beforeunload",f)}}}(t,e.state,e.location,e.replace),n=Pt({location:"",base:t,go:function(l,o=!0){o||r.pauseListeners(),history.go(l)},createHref:xm.bind(null,t)},e,r);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>e.state.value}),n}function ab(t){return(t=location.host?t||location.pathname+location.search:"").includes("#")||(t+="#"),Bm(t)}function Cf(t){return typeof t=="string"||typeof t=="symbol"}const xf=Symbol("");var Hu,vn;function Pn(t,e){return Pt(new Error,{type:t,[xf]:!0},e)}function tr(t,e){return t instanceof Error&&xf in t&&(e==null||!!(t.type&e))}(vn=Hu||(Hu={}))[vn.aborted=4]="aborted",vn[vn.cancelled=8]="cancelled",vn[vn.duplicated=16]="duplicated";const zu="[^/]+?",Mm={sensitive:!1,strict:!1,start:!0,end:!0},Lm=/[.+*?^${}()[\]/\\]/g;function jm(t,e){let r=0;for(;re.length?e.length===1&&e[0]===80?1:-1:0}function Ku(t,e){let r=0;const n=t.score,l=e.score;for(;r0&&e[e.length-1]<0}const Um={type:0,value:""},Nm=/[a-zA-Z0-9_]/;function Dm(t,e,r){const n=function(o,s){const i=Pt({},Mm,s),a=[];let u=i.start?"^":"";const c=[];for(const f of o){const m=f.length?[]:[90];i.strict&&!f.length&&(u+="/");for(let b=0;b1&&(f==="*"||f==="+")&&s(`A repeatable param (${b}) must be alone in its segment. eg: '/:ids+.`),c.push({type:1,value:b,regexp:_,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):s("Invalid state to consume buffer"),b="")}function U(){b+=f}for(;m{o(_)}:oi}function o(i){if(Cf(i)){const a=n.get(i);a&&(n.delete(i),r.splice(r.indexOf(a),1),a.children.forEach(o),a.alias.forEach(o))}else{const a=r.indexOf(i);a>-1&&(r.splice(a,1),i.record.name&&n.delete(i.record.name),i.children.forEach(o),i.alias.forEach(o))}}function s(i){const a=function(u,c){let d=0,f=c.length;for(;d!==f;){const b=d+f>>1;Ku(u,c[b])<0?f=b:d=b+1}const m=function(b){let _=b;for(;_=_.parent;)if(Zu(_)&&Ku(b,_)===0)return _}(u);return m&&(f=c.lastIndexOf(m,f-1)),f}(i,r);r.splice(a,0,i),i.record.name&&!Ju(i)&&n.set(i.record.name,i)}return e=Xu({strict:!1,end:!0,sensitive:!1},e),t.forEach(i=>l(i)),{addRoute:l,resolve:function(i,a){let u,c,d,f={};if("name"in i&&i.name){if(u=n.get(i.name),!u)throw Pn(1,{location:i});d=u.record.name,f=Pt(Qu(a.params,u.keys.filter(_=>!_.optional).concat(u.parent?u.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),i.params&&Qu(i.params,u.keys.map(_=>_.name))),c=u.stringify(f)}else if(i.path!=null)c=i.path,u=r.find(_=>_.re.test(c)),u&&(f=u.parse(c),d=u.record.name);else{if(u=a.name?n.get(a.name):r.find(_=>_.re.test(a.path)),!u)throw Pn(1,{location:i,currentLocation:a});d=u.record.name,f=Pt({},a.params,i.params),c=u.stringify(f)}const m=[];let b=u;for(;b;)m.unshift(b.record),b=b.parent;return{name:d,path:c,params:f,matched:m,meta:$m(m)}},removeRoute:o,clearRoutes:function(){r.length=0,n.clear()},getRoutes:function(){return r},getRecordMatcher:function(i){return n.get(i)}}}function Qu(t,e){const r={};for(const n of e)n in t&&(r[n]=t[n]);return r}function Yu(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:Wm(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function Wm(t){const e={},r=t.props||!1;if("component"in t)e.default=r;else for(const n in t.components)e[n]=typeof r=="object"?r[n]:r;return e}function Ju(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function $m(t){return t.reduce((e,r)=>Pt(e,r.meta),{})}function Xu(t,e){const r={};for(const n in t)r[n]=n in e?e[n]:t[n];return r}function Zu({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function Vm(t){const e={};if(t===""||t==="?")return e;const r=(t[0]==="?"?t.slice(1):t).split("&");for(let n=0;no&&os(o)):[n&&os(n)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+r,o!=null&&(e+="="+o))})}return e}function qm(t){const e={};for(const r in t){const n=t[r];n!==void 0&&(e[r]=Ne(n)?n.map(l=>l==null?null:""+l):n==null?n:""+n)}return e}const Hm=Symbol(""),ec=Symbol(""),Cl=Symbol(""),Rf=Symbol(""),Vs=Symbol("");function qn(){let t=[];return{add:function(e){return t.push(e),()=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)}},list:()=>t.slice(),reset:function(){t=[]}}}function Rr(t,e,r,n,l,o=s=>s()){const s=n&&(n.enterCallbacks[l]=n.enterCallbacks[l]||[]);return()=>new Promise((i,a)=>{const u=f=>{var m;f===!1?a(Pn(4,{from:r,to:e})):f instanceof Error?a(f):typeof(m=f)=="string"||m&&typeof m=="object"?a(Pn(2,{from:e,to:f})):(s&&n.enterCallbacks[l]===s&&typeof f=="function"&&s.push(f),i())},c=o(()=>t.call(n&&n.instances[l],e,r,u));let d=Promise.resolve(c);t.length<3&&(d=d.then(u)),d.catch(f=>a(f))})}function us(t,e,r,n,l=o=>o()){const o=[];for(const s of t)for(const i in s.components){let a=s.components[i];if(e==="beforeRouteEnter"||s.instances[i])if(Du(a)){const u=(a.__vccOpts||a)[e];u&&o.push(Rr(u,r,n,s,i,l))}else{let u=a();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${i}" at "${s.path}"`);const d=(f=c).__esModule||f[Symbol.toStringTag]==="Module"||f.default&&Du(f.default)?c.default:c;var f;s.mods[i]=c,s.components[i]=d;const m=(d.__vccOpts||d)[e];return m&&Rr(m,r,n,s,i,l)()}))}}return o}function rc(t){const e=Qe(Cl),r=Qe(Rf),n=Ie(()=>{const i=On(t.to);return e.resolve(i)}),l=Ie(()=>{const{matched:i}=n.value,{length:a}=i,u=i[a-1],c=r.matched;if(!u||!c.length)return-1;const d=c.findIndex(Rn.bind(null,u));if(d>-1)return d;const f=nc(i[a-2]);return a>1&&nc(u)===f&&c[c.length-1].path!==f?c.findIndex(Rn.bind(null,i[a-2])):d}),o=Ie(()=>l.value>-1&&function(i,a){for(const u in a){const c=a[u],d=i[u];if(typeof c=="string"){if(c!==d)return!1}else if(!Ne(d)||d.length!==c.length||c.some((f,m)=>f!==d[m]))return!1}return!0}(r.params,n.value.params)),s=Ie(()=>l.value>-1&&l.value===r.matched.length-1&&Tf(r.params,n.value.params));return{route:n,href:Ie(()=>n.value.href),isActive:o,isExactActive:s,navigate:function(i={}){if(function(a){if(!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)&&!a.defaultPrevented&&!(a.button!==void 0&&a.button!==0)){if(a.currentTarget&&a.currentTarget.getAttribute){const u=a.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(u))return}return a.preventDefault&&a.preventDefault(),!0}}(i)){const a=e[On(t.replace)?"replace":"push"](On(t.to)).catch(oi);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}}}const zm=Vh({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:rc,setup(t,{slots:e}){const r=_i(rc(t)),{options:n}=Qe(Cl),l=Ie(()=>({[ic(t.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[ic(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const o=e.default&&((s=e.default(r)).length===1?s[0]:s);var s;return t.custom?o:Tl("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:l.value},o)}}});function nc(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const ic=(t,e,r)=>t??e??r;function oc(t,e){if(!t)return null;const r=t(e);return r.length===1?r[0]:r}const Km=Vh({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:r}){const n=Qe(Vs),l=Ie(()=>t.route||n.value),o=Qe(ec,0),s=Ie(()=>{let u=On(o);const{matched:c}=l.value;let d;for(;(d=c[u])&&!d.components;)u++;return u}),i=Ie(()=>l.value.matched[s.value]);$i(ec,Ie(()=>s.value+1)),$i(Hm,i),$i(Vs,l);const a=ml();return xn(()=>[a.value,i.value,t.name],([u,c,d],[f,m,b])=>{c&&(c.instances[d]=u,m&&m!==c&&u&&u===f&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),!u||!c||m&&Rn(c,m)&&f||(c.enterCallbacks[d]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=l.value,c=t.name,d=i.value,f=d&&d.components[c];if(!f)return oc(r.default,{Component:f,route:u});const m=d.props[c],b=m?m===!0?u.params:typeof m=="function"?m(u):m:null,_=Tl(f,Pt({},b,e,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return oc(r.default,{Component:_,route:u})||_}}});function lb(t){const e=Fm(t.routes,t),r=t.parseQuery||Vm,n=t.stringifyQuery||tc,l=t.history,o=qn(),s=qn(),i=qn(),a=Th(Er,!0);let u=Er;En&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=is.bind(null,T=>""+T),d=is.bind(null,km),f=is.bind(null,yi);function m(T,q){if(q=Pt({},q||a.value),typeof T=="string"){const et=ss(r,T,q.path),Z=e.resolve({path:et.path},q),dt=l.createHref(et.fullPath);return Pt(et,Z,{params:f(Z.params),hash:yi(et.hash),redirectedFrom:void 0,href:dt})}let tt;if(T.path!=null)tt=Pt({},T,{path:ss(r,T.path,q.path).path});else{const et=Pt({},T.params);for(const Z in et)et[Z]==null&&delete et[Z];tt=Pt({},T,{params:d(et)}),q.params=d(q.params)}const it=e.resolve(tt,q),lt=T.hash||"";it.params=c(f(it.params));const ut=function(et,Z){const dt=Z.query?et(Z.query):"";return Z.path+(dt&&"?")+dt+(Z.hash||"")}(n,Pt({},T,{hash:(pt=lt,Ol(pt).replace(kf,"{").replace(If,"}").replace(Af,"^")),path:it.path}));var pt;const H=l.createHref(ut);return Pt({fullPath:ut,hash:lt,query:n===tc?qm(T.query):T.query||{}},it,{redirectedFrom:void 0,href:H})}function b(T){return typeof T=="string"?ss(r,T,a.value.path):Pt({},T)}function _(T,q){if(u!==T)return Pn(8,{from:q,to:T})}function S(T){return D(T)}function U(T){const q=T.matched[T.matched.length-1];if(q&&q.redirect){const{redirect:tt}=q;let it=typeof tt=="function"?tt(T):tt;return typeof it=="string"&&(it=it.includes("?")||it.includes("#")?it=b(it):{path:it},it.params={}),Pt({query:T.query,hash:T.hash,params:it.path!=null?{}:T.params},it)}}function D(T,q){const tt=u=m(T),it=a.value,lt=T.state,ut=T.force,pt=T.replace===!0,H=U(tt);if(H)return D(Pt(b(H),{state:typeof H=="object"?Pt({},lt,H.state):lt,force:ut,replace:pt}),q||tt);const et=tt;let Z;return et.redirectedFrom=q,!ut&&function(dt,L,A){const F=L.matched.length-1,h=A.matched.length-1;return F>-1&&F===h&&Rn(L.matched[F],A.matched[h])&&Tf(L.params,A.params)&&dt(L.query)===dt(A.query)&&L.hash===A.hash}(n,it,tt)&&(Z=Pn(16,{to:et,from:it}),j(it,it,!0,!1)),(Z?Promise.resolve(Z):Y(et,it)).catch(dt=>tr(dt)?tr(dt,2)?dt:X(dt):st(dt,et,it)).then(dt=>{if(dt){if(tr(dt,2))return D(Pt({replace:pt},b(dt.to),{state:typeof dt.to=="object"?Pt({},lt,dt.to.state):lt,force:ut}),q||et)}else dt=I(et,it,!0,pt,lt);return P(et,it,dt),dt})}function K(T,q){const tt=_(T,q);return tt?Promise.reject(tt):Promise.resolve()}function V(T){const q=nt.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(T):T()}function Y(T,q){let tt;const[it,lt,ut]=function(H,et){const Z=[],dt=[],L=[],A=Math.max(et.matched.length,H.matched.length);for(let F=0;FRn(y,h))?dt.push(h):Z.push(h));const p=H.matched[F];p&&(et.matched.find(y=>Rn(y,p))||L.push(p))}return[Z,dt,L]}(T,q);tt=us(it.reverse(),"beforeRouteLeave",T,q);for(const H of it)H.leaveGuards.forEach(et=>{tt.push(Rr(et,T,q))});const pt=K.bind(null,T,q);return tt.push(pt),G(tt).then(()=>{tt=[];for(const H of o.list())tt.push(Rr(H,T,q));return tt.push(pt),G(tt)}).then(()=>{tt=us(lt,"beforeRouteUpdate",T,q);for(const H of lt)H.updateGuards.forEach(et=>{tt.push(Rr(et,T,q))});return tt.push(pt),G(tt)}).then(()=>{tt=[];for(const H of ut)if(H.beforeEnter)if(Ne(H.beforeEnter))for(const et of H.beforeEnter)tt.push(Rr(et,T,q));else tt.push(Rr(H.beforeEnter,T,q));return tt.push(pt),G(tt)}).then(()=>(T.matched.forEach(H=>H.enterCallbacks={}),tt=us(ut,"beforeRouteEnter",T,q,V),tt.push(pt),G(tt))).then(()=>{tt=[];for(const H of s.list())tt.push(Rr(H,T,q));return tt.push(pt),G(tt)}).catch(H=>tr(H,8)?H:Promise.reject(H))}function P(T,q,tt){i.list().forEach(it=>V(()=>it(T,q,tt)))}function I(T,q,tt,it,lt){const ut=_(T,q);if(ut)return ut;const pt=q===Er,H=En?history.state:{};tt&&(it||pt?l.replace(T.fullPath,Pt({scroll:pt&&H&&H.scroll},lt)):l.push(T.fullPath,lt)),a.value=T,j(T,q,tt,pt),X()}let E;function w(){E||(E=l.listen((T,q,tt)=>{if(!Q.listening)return;const it=m(T),lt=U(it);if(lt)return void D(Pt(lt,{replace:!0,force:!0}),it).catch(oi);u=it;const ut=a.value;var pt,H;En&&(pt=Vu(ut.fullPath,tt.delta),H=Ro(),ls.set(pt,H)),Y(it,ut).catch(et=>tr(et,12)?et:tr(et,2)?(D(Pt(b(et.to),{force:!0}),it).then(Z=>{tr(Z,20)&&!tt.delta&&tt.type===bi.pop&&l.go(-1,!1)}).catch(oi),Promise.reject()):(tt.delta&&l.go(-tt.delta,!1),st(et,it,ut))).then(et=>{(et=et||I(it,ut,!1))&&(tt.delta&&!tr(et,8)?l.go(-tt.delta,!1):tt.type===bi.pop&&tr(et,20)&&l.go(-1,!1)),P(it,ut,et)}).catch(oi)}))}let B,R=qn(),rt=qn();function st(T,q,tt){X(T);const it=rt.list();return it.length&&it.forEach(lt=>lt(T,q,tt)),Promise.reject(T)}function X(T){return B||(B=!T,w(),R.list().forEach(([q,tt])=>T?tt(T):q()),R.reset()),T}function j(T,q,tt,it){const{scrollBehavior:lt}=t;if(!En||!lt)return Promise.resolve();const ut=!tt&&function(pt){const H=ls.get(pt);return ls.delete(pt),H}(Vu(T.fullPath,0))||(it||!tt)&&history.state&&history.state.scroll||null;return yl().then(()=>lt(T,q,ut)).then(pt=>pt&&Rm(pt)).catch(pt=>st(pt,T,q))}const N=T=>l.go(T);let $;const nt=new Set,Q={currentRoute:a,listening:!0,addRoute:function(T,q){let tt,it;return Cf(T)?(tt=e.getRecordMatcher(T),it=q):it=T,e.addRoute(it,tt)},removeRoute:function(T){const q=e.getRecordMatcher(T);q&&e.removeRoute(q)},clearRoutes:e.clearRoutes,hasRoute:function(T){return!!e.getRecordMatcher(T)},getRoutes:function(){return e.getRoutes().map(T=>T.record)},resolve:m,options:t,push:S,replace:function(T){return S(Pt(b(T),{replace:!0}))},go:N,back:()=>N(-1),forward:()=>N(1),beforeEach:o.add,beforeResolve:s.add,afterEach:i.add,onError:rt.add,isReady:function(){return B&&a.value!==Er?Promise.resolve():new Promise((T,q)=>{R.add([T,q])})},install(T){T.component("RouterLink",zm),T.component("RouterView",Km),T.config.globalProperties.$router=this,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>On(a)}),En&&!$&&a.value===Er&&($=!0,S(l.location).catch(it=>{}));const q={};for(const it in Er)Object.defineProperty(q,it,{get:()=>a.value[it],enumerable:!0});T.provide(Cl,this),T.provide(Rf,kh(q)),T.provide(Vs,a);const tt=T.unmount;nt.add(T),T.unmount=function(){nt.delete(T),nt.size<1&&(u=Er,E&&E(),E=null,a.value=Er,$=!1,B=!1),tt()}}};function G(T){return T.reduce((q,tt)=>q.then(()=>V(tt)),Promise.resolve())}return Q}var qs=Object.defineProperty,Gm=Object.getOwnPropertyDescriptor,Qm=Object.getOwnPropertyNames,Ym=Object.prototype.hasOwnProperty,ne=(t,e)=>()=>(t&&(e=t(t=0)),e),mt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),pn=(t,e)=>{for(var r in e)qs(t,r,{get:e[r],enumerable:!0})},Dt=t=>((e,r,n,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Qm(r))!Ym.call(e,o)&&o!==n&&qs(e,o,{get:()=>r[o],enumerable:!(l=Gm(r,o))||l.enumerable});return e})(qs({},"__esModule",{value:!0}),t),ct=ne(()=>{}),Nt={};function xl(t){throw new Error("Node.js process "+t+" is not supported by JSPM core outside of Node.js")}function Jm(){!an||!rn||(an=!1,rn.length?He=rn.concat(He):ai=-1,He.length&&Pf())}function Pf(){if(!an){var t=setTimeout(Jm,0);an=!0;for(var e=He.length;e;){for(rn=He,He=[];++ai1)for(var r=1;rSa,_debugProcess:()=>Ea,_events:()=>qf,_eventsCount:()=>Hf,_exiting:()=>la,_fatalExceptions:()=>va,_getActiveHandles:()=>Nf,_getActiveRequests:()=>Uf,_kill:()=>ha,_linkedBinding:()=>Lf,_maxListeners:()=>Vf,_preload_modules:()=>La,_rawDebug:()=>oa,_startProfilerIdleNotifier:()=>Aa,_stopProfilerIdleNotifier:()=>ka,_tickCallback:()=>_a,abort:()=>Ca,addListener:()=>zf,allowedNodeEnvironmentFlags:()=>ya,arch:()=>zs,argv:()=>Qs,argv0:()=>Ma,assert:()=>Df,binding:()=>ta,chdir:()=>na,config:()=>ua,cpuUsage:()=>Ki,cwd:()=>ra,debugPort:()=>Ba,default:()=>Rl,dlopen:()=>jf,domain:()=>aa,emit:()=>Jf,emitWarning:()=>Zs,env:()=>Gs,execArgv:()=>Ys,execPath:()=>Pa,exit:()=>ga,features:()=>ba,hasUncaughtExceptionCaptureCallback:()=>Ff,hrtime:()=>zi,kill:()=>da,listeners:()=>$f,memoryUsage:()=>pa,moduleLoadList:()=>sa,nextTick:()=>Bf,off:()=>Gf,on:()=>rr,once:()=>Kf,openStdin:()=>ma,pid:()=>xa,platform:()=>Ks,ppid:()=>Ra,prependListener:()=>Xf,prependOnceListener:()=>Zf,reallyExit:()=>ca,release:()=>ia,removeAllListeners:()=>Yf,removeListener:()=>Qf,resourceUsage:()=>fa,setSourceMapsEnabled:()=>ja,setUncaughtExceptionCaptureCallback:()=>wa,stderr:()=>Ta,stdin:()=>Oa,stdout:()=>Ia,title:()=>Hs,umask:()=>ea,uptime:()=>Wf,version:()=>Js,versions:()=>Xs});var He,an,rn,ai,Hs,zs,Ks,Gs,Qs,Ys,Js,Xs,Zs,ta,ea,ra,na,ia,oa,sa,aa,la,ua,ca,ha,Ki,fa,pa,da,ga,ma,ya,ba,va,wa,_a,Ea,Sa,Aa,ka,Ia,Ta,Oa,Ca,xa,Ra,Pa,Ba,Ma,La,ja,Pr,cs,Gi,Vf,qf,Hf,zf,Kf,Gf,Qf,Yf,Jf,Xf,Zf,Rl,Xm=ne(()=>{ct(),ft(),ht(),He=[],an=!1,ai=-1,Mf.prototype.run=function(){this.fun.apply(null,this.array)},Hs="browser",zs="x64",Ks="browser",Gs={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Qs=["/usr/bin/node"],Ys=[],Js="v16.8.0",Xs={},Zs=function(t,e){},ta=function(t){xl("binding")},ea=function(t){return 0},ra=function(){return"/"},na=function(t){},ia={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},oa=se,sa=[],aa={},la=!1,ua={},ca=se,ha=se,fa=Ki=function(){return{}},pa=Ki,da=se,ga=se,ma=se,ya={},ba={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},va=se,wa=se,_a=se,Ea=se,Sa=se,Aa=se,ka=se,Ia=void 0,Ta=void 0,Oa=void 0,Ca=se,xa=2,Ra=1,Pa="/bin/usr/node",Ba=9229,Ma="node",La=[],ja=se,(Pr={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0}).now===void 0&&(cs=Date.now(),Pr.timing&&Pr.timing.navigationStart&&(cs=Pr.timing.navigationStart),Pr.now=()=>Date.now()-cs),Gi=1e9,zi.bigint=function(t){var e=zi(t);return typeof BigInt>"u"?e[0]*Gi+e[1]:BigInt(e[0]*Gi)+BigInt(e[1])},Rl={version:Js,versions:Xs,arch:zs,platform:Ks,release:ia,_rawDebug:oa,moduleLoadList:sa,binding:ta,_linkedBinding:Lf,_events:qf={},_eventsCount:Hf=0,_maxListeners:Vf=10,on:rr,addListener:zf=rr,once:Kf=rr,off:Gf=rr,removeListener:Qf=rr,removeAllListeners:Yf=rr,emit:Jf=se,prependListener:Xf=rr,prependOnceListener:Zf=rr,listeners:$f,domain:aa,_exiting:la,config:ua,dlopen:jf,uptime:Wf,_getActiveRequests:Uf,_getActiveHandles:Nf,reallyExit:ca,_kill:ha,cpuUsage:Ki,resourceUsage:fa,memoryUsage:pa,kill:da,exit:ga,openStdin:ma,allowedNodeEnvironmentFlags:ya,assert:Df,features:ba,_fatalExceptions:va,setUncaughtExceptionCaptureCallback:wa,hasUncaughtExceptionCaptureCallback:Ff,emitWarning:Zs,nextTick:Bf,_tickCallback:_a,_debugProcess:Ea,_debugEnd:Sa,_startProfilerIdleNotifier:Aa,_stopProfilerIdleNotifier:ka,stdout:Ia,stdin:Oa,stderr:Ta,abort:Ca,umask:ea,chdir:na,cwd:ra,env:Gs,title:Hs,argv:Qs,execArgv:Ys,pid:xa,ppid:Ra,execPath:Pa,debugPort:Ba,hrtime:zi,argv0:Ma,_preload_modules:La,setSourceMapsEnabled:ja}}),ht=ne(()=>{Xm()}),ie={};function Zm(){if(Da)return Ar;Da=!0;let t=function(){if(Ua)return Sn;Ua=!0,Sn.byteLength=function(k){var M=C(k),W=M[0],J=M[1];return 3*(W+J)/4-J},Sn.toByteArray=function(k){var M,W,J=C(k),at=J[0],ot=J[1],vt=new y(function(Ot,kt,Mt){return 3*(kt+Mt)/4-Mt}(0,at,ot)),bt=0,wt=ot>0?at-4:at;for(W=0;W>16&255,vt[bt++]=M>>8&255,vt[bt++]=255&M;return ot===2&&(M=p[k.charCodeAt(W)]<<2|p[k.charCodeAt(W+1)]>>4,vt[bt++]=255&M),ot===1&&(M=p[k.charCodeAt(W)]<<10|p[k.charCodeAt(W+1)]<<4|p[k.charCodeAt(W+2)]>>2,vt[bt++]=M>>8&255,vt[bt++]=255&M),vt},Sn.fromByteArray=function(k){for(var M,W=k.length,J=W%3,at=[],ot=16383,vt=0,bt=W-J;vtbt?bt:vt+ot));return J===1?(M=k[W-1],at.push(h[M>>2]+h[M<<4&63]+"==")):J===2&&(M=(k[W-2]<<8)+k[W-1],at.push(h[M>>10]+h[M>>4&63]+h[M<<2&63]+"=")),at.join("")};for(var h=[],p=[],y=typeof Uint8Array<"u"?Uint8Array:Array,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=0;x<64;++x)h[x]=O[x],p[O.charCodeAt(x)]=x;function C(k){var M=k.length;if(M%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var W=k.indexOf("=");return W===-1&&(W=M),[W,W===M?0:4-W%4]}function g(k){return h[k>>18&63]+h[k>>12&63]+h[k>>6&63]+h[63&k]}function v(k,M,W){for(var J,at=[],ot=M;ot>1,W=-7,J=y?x-1:0,at=y?-1:1,ot=h[p+J];for(J+=at,C=ot&(1<<-W)-1,ot>>=-W,W+=v;W>0;C=256*C+h[p+J],J+=at,W-=8);for(g=C&(1<<-W)-1,C>>=-W,W+=O;W>0;g=256*g+h[p+J],J+=at,W-=8);if(C===0)C=1-M;else{if(C===k)return g?NaN:1/0*(ot?-1:1);g+=Math.pow(2,O),C-=M}return(ot?-1:1)*g*Math.pow(2,C-O)},Qi.write=function(h,p,y,O,x,C){var g,v,k,M=8*C-x-1,W=(1<>1,at=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,ot=O?0:C-1,vt=O?1:-1,bt=p<0||p===0&&1/p<0?1:0;for(p=Math.abs(p),isNaN(p)||p===1/0?(v=isNaN(p)?1:0,g=W):(g=Math.floor(Math.log(p)/Math.LN2),p*(k=Math.pow(2,-g))<1&&(g--,k*=2),(p+=g+J>=1?at/k:at*Math.pow(2,1-J))*k>=2&&(g++,k/=2),g+J>=W?(v=0,g=W):g+J>=1?(v=(p*k-1)*Math.pow(2,x),g+=J):(v=p*Math.pow(2,J-1)*Math.pow(2,x),g=0));x>=8;h[y+ot]=255&v,ot+=vt,v/=256,x-=8);for(g=g<0;h[y+ot]=255&g,ot+=vt,g/=256,M-=8);h[y+ot-vt]|=128*bt}),Qi),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ar.Buffer=o,Ar.SlowBuffer=function(h){return+h!=h&&(h=0),o.alloc(+h)},Ar.INSPECT_MAX_BYTES=50;let n=2147483647;function l(h){if(h>n)throw new RangeError('The value "'+h+'" is invalid for option "size"');let p=new Uint8Array(h);return Object.setPrototypeOf(p,o.prototype),p}function o(h,p,y){if(typeof h=="number"){if(typeof p=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return a(h)}return s(h,p,y)}function s(h,p,y){if(typeof h=="string")return function(C,g){if((typeof g!="string"||g==="")&&(g="utf8"),!o.isEncoding(g))throw new TypeError("Unknown encoding: "+g);let v=0|f(C,g),k=l(v),M=k.write(C,g);return M!==v&&(k=k.slice(0,M)),k}(h,p);if(ArrayBuffer.isView(h))return function(C){if(Z(C,Uint8Array)){let g=new Uint8Array(C);return c(g.buffer,g.byteOffset,g.byteLength)}return u(C)}(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(Z(h,ArrayBuffer)||h&&Z(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Z(h,SharedArrayBuffer)||h&&Z(h.buffer,SharedArrayBuffer)))return c(h,p,y);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let O=h.valueOf&&h.valueOf();if(O!=null&&O!==h)return o.from(O,p,y);let x=function(C){if(o.isBuffer(C)){let g=0|d(C.length),v=l(g);return v.length===0||C.copy(v,0,0,g),v}if(C.length!==void 0)return typeof C.length!="number"||dt(C.length)?l(0):u(C);if(C.type==="Buffer"&&Array.isArray(C.data))return u(C.data)}(h);if(x)return x;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return o.from(h[Symbol.toPrimitive]("string"),p,y);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}function i(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function a(h){return i(h),l(h<0?0:0|d(h))}function u(h){let p=h.length<0?0:0|d(h.length),y=l(p);for(let O=0;O=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|h}function f(h,p){if(o.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||Z(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);let y=h.length,O=arguments.length>2&&arguments[2]===!0;if(!O&&y===0)return 0;let x=!1;for(;;)switch(p){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return pt(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*y;case"hex":return y>>>1;case"base64":return H(h).length;default:if(x)return O?-1:pt(h).length;p=(""+p).toLowerCase(),x=!0}}function m(h,p,y){let O=!1;if((p===void 0||p<0)&&(p=0),p>this.length||((y===void 0||y>this.length)&&(y=this.length),y<=0)||(y>>>=0)<=(p>>>=0))return"";for(h||(h="utf8");;)switch(h){case"hex":return R(this,p,y);case"utf8":case"utf-8":return I(this,p,y);case"ascii":return w(this,p,y);case"latin1":case"binary":return B(this,p,y);case"base64":return P(this,p,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return rt(this,p,y);default:if(O)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),O=!0}}function b(h,p,y){let O=h[p];h[p]=h[y],h[y]=O}function _(h,p,y,O,x){if(h.length===0)return-1;if(typeof y=="string"?(O=y,y=0):y>2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),dt(y=+y)&&(y=x?0:h.length-1),y<0&&(y=h.length+y),y>=h.length){if(x)return-1;y=h.length-1}else if(y<0){if(!x)return-1;y=0}if(typeof p=="string"&&(p=o.from(p,O)),o.isBuffer(p))return p.length===0?-1:S(h,p,y,O,x);if(typeof p=="number")return p&=255,typeof Uint8Array.prototype.indexOf=="function"?x?Uint8Array.prototype.indexOf.call(h,p,y):Uint8Array.prototype.lastIndexOf.call(h,p,y):S(h,[p],y,O,x);throw new TypeError("val must be string, number or Buffer")}function S(h,p,y,O,x){let C,g=1,v=h.length,k=p.length;if(O!==void 0&&((O=String(O).toLowerCase())==="ucs2"||O==="ucs-2"||O==="utf16le"||O==="utf-16le")){if(h.length<2||p.length<2)return-1;g=2,v/=2,k/=2,y/=2}function M(W,J){return g===1?W[J]:W.readUInt16BE(J*g)}if(x){let W=-1;for(C=y;Cv&&(y=v-k),C=y;C>=0;C--){let W=!0;for(let J=0;Jx&&(O=x):O=x;let C,g=p.length;for(O>g/2&&(O=g/2),C=0;C>8,k=g%256,M.push(k),M.push(v);return M}(p,h.length-y),h,y,O)}function P(h,p,y){return p===0&&y===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(p,y))}function I(h,p,y){y=Math.min(h.length,y);let O=[],x=p;for(;x239?4:C>223?3:C>191?2:1;if(x+v<=y){let k,M,W,J;switch(v){case 1:C<128&&(g=C);break;case 2:k=h[x+1],(192&k)==128&&(J=(31&C)<<6|63&k,J>127&&(g=J));break;case 3:k=h[x+1],M=h[x+2],(192&k)==128&&(192&M)==128&&(J=(15&C)<<12|(63&k)<<6|63&M,J>2047&&(J<55296||J>57343)&&(g=J));break;case 4:k=h[x+1],M=h[x+2],W=h[x+3],(192&k)==128&&(192&M)==128&&(192&W)==128&&(J=(15&C)<<18|(63&k)<<12|(63&M)<<6|63&W,J>65535&&J<1114112&&(g=J))}}g===null?(g=65533,v=1):g>65535&&(g-=65536,O.push(g>>>10&1023|55296),g=56320|1023&g),O.push(g),x+=v}return function(C){let g=C.length;if(g<=E)return String.fromCharCode.apply(String,C);let v="",k=0;for(;kO.length?(o.isBuffer(C)||(C=o.from(C)),C.copy(O,x)):Uint8Array.prototype.set.call(O,C,x);else{if(!o.isBuffer(C))throw new TypeError('"list" argument must be an Array of Buffers');C.copy(O,x)}x+=C.length}return O},o.byteLength=f,o.prototype._isBuffer=!0,o.prototype.swap16=function(){let h=this.length;if(h%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let p=0;pp&&(h+=" ... "),""},r&&(o.prototype[r]=o.prototype.inspect),o.prototype.compare=function(h,p,y,O,x){if(Z(h,Uint8Array)&&(h=o.from(h,h.offset,h.byteLength)),!o.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(p===void 0&&(p=0),y===void 0&&(y=h?h.length:0),O===void 0&&(O=0),x===void 0&&(x=this.length),p<0||y>h.length||O<0||x>this.length)throw new RangeError("out of range index");if(O>=x&&p>=y)return 0;if(O>=x)return-1;if(p>=y)return 1;if(this===h)return 0;let C=(x>>>=0)-(O>>>=0),g=(y>>>=0)-(p>>>=0),v=Math.min(C,g),k=this.slice(O,x),M=h.slice(p,y);for(let W=0;W>>=0,isFinite(y)?(y>>>=0,O===void 0&&(O="utf8")):(O=y,y=void 0)}let x=this.length-p;if((y===void 0||y>x)&&(y=x),h.length>0&&(y<0||p<0)||p>this.length)throw new RangeError("Attempt to write outside buffer bounds");O||(O="utf8");let C=!1;for(;;)switch(O){case"hex":return U(this,h,p,y);case"utf8":case"utf-8":return D(this,h,p,y);case"ascii":case"latin1":case"binary":return K(this,h,p,y);case"base64":return V(this,h,p,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,h,p,y);default:if(C)throw new TypeError("Unknown encoding: "+O);O=(""+O).toLowerCase(),C=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};let E=4096;function w(h,p,y){let O="";y=Math.min(h.length,y);for(let x=p;xO)&&(y=O);let x="";for(let C=p;Cy)throw new RangeError("Trying to access beyond buffer length")}function X(h,p,y,O,x,C){if(!o.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(p>x||ph.length)throw new RangeError("Index out of range")}function j(h,p,y,O,x){tt(p,O,x,h,y,7);let C=Number(p&BigInt(4294967295));h[y++]=C,C>>=8,h[y++]=C,C>>=8,h[y++]=C,C>>=8,h[y++]=C;let g=Number(p>>BigInt(32)&BigInt(4294967295));return h[y++]=g,g>>=8,h[y++]=g,g>>=8,h[y++]=g,g>>=8,h[y++]=g,y}function N(h,p,y,O,x){tt(p,O,x,h,y,7);let C=Number(p&BigInt(4294967295));h[y+7]=C,C>>=8,h[y+6]=C,C>>=8,h[y+5]=C,C>>=8,h[y+4]=C;let g=Number(p>>BigInt(32)&BigInt(4294967295));return h[y+3]=g,g>>=8,h[y+2]=g,g>>=8,h[y+1]=g,g>>=8,h[y]=g,y+8}function $(h,p,y,O,x,C){if(y+O>h.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range")}function nt(h,p,y,O,x){return p=+p,y>>>=0,x||$(h,0,y,4),e.write(h,p,y,O,23,4),y+4}function Q(h,p,y,O,x){return p=+p,y>>>=0,x||$(h,0,y,8),e.write(h,p,y,O,52,8),y+8}o.prototype.slice=function(h,p){let y=this.length;(h=~~h)<0?(h+=y)<0&&(h=0):h>y&&(h=y),(p=p===void 0?y:~~p)<0?(p+=y)<0&&(p=0):p>y&&(p=y),p>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h],x=1,C=0;for(;++C>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h+--p],x=1;for(;p>0&&(x*=256);)O+=this[h+--p]*x;return O},o.prototype.readUint8=o.prototype.readUInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),this[h]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]|this[h+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]<<8|this[h+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+16777216*this[h+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),16777216*this[h]+(this[h+1]<<16|this[h+2]<<8|this[h+3])},o.prototype.readBigUInt64LE=A(function(h){it(h>>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=p+256*this[++h]+65536*this[++h]+this[++h]*2**24,x=this[++h]+256*this[++h]+65536*this[++h]+y*2**24;return BigInt(O)+(BigInt(x)<>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=p*2**24+65536*this[++h]+256*this[++h]+this[++h],x=this[++h]*2**24+65536*this[++h]+256*this[++h]+y;return(BigInt(O)<>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h],x=1,C=0;for(;++C=x&&(O-=Math.pow(2,8*p)),O},o.prototype.readIntBE=function(h,p,y){h>>>=0,p>>>=0,y||st(h,p,this.length);let O=p,x=1,C=this[h+--O];for(;O>0&&(x*=256);)C+=this[h+--O]*x;return x*=128,C>=x&&(C-=Math.pow(2,8*p)),C},o.prototype.readInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),128&this[h]?-1*(255-this[h]+1):this[h]},o.prototype.readInt16LE=function(h,p){h>>>=0,p||st(h,2,this.length);let y=this[h]|this[h+1]<<8;return 32768&y?4294901760|y:y},o.prototype.readInt16BE=function(h,p){h>>>=0,p||st(h,2,this.length);let y=this[h+1]|this[h]<<8;return 32768&y?4294901760|y:y},o.prototype.readInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},o.prototype.readInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},o.prototype.readBigInt64LE=A(function(h){it(h>>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=this[h+4]+256*this[h+5]+65536*this[h+6]+(y<<24);return(BigInt(O)<>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=(p<<24)+65536*this[++h]+256*this[++h]+this[++h];return(BigInt(O)<>>=0,p||st(h,4,this.length),e.read(this,h,!0,23,4)},o.prototype.readFloatBE=function(h,p){return h>>>=0,p||st(h,4,this.length),e.read(this,h,!1,23,4)},o.prototype.readDoubleLE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!0,52,8)},o.prototype.readDoubleBE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(h,p,y,O){h=+h,p>>>=0,y>>>=0,!O&&X(this,h,p,y,Math.pow(2,8*y)-1,0);let x=1,C=0;for(this[p]=255&h;++C>>=0,y>>>=0,!O&&X(this,h,p,y,Math.pow(2,8*y)-1,0);let x=y-1,C=1;for(this[p+x]=255&h;--x>=0&&(C*=256);)this[p+x]=h/C&255;return p+y},o.prototype.writeUint8=o.prototype.writeUInt8=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,1,255,0),this[p]=255&h,p+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,65535,0),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,65535,0),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,4294967295,0),this[p+3]=h>>>24,this[p+2]=h>>>16,this[p+1]=h>>>8,this[p]=255&h,p+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,4294967295,0),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigUInt64LE=A(function(h,p=0){return j(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=A(function(h,p=0){return N(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(h,p,y,O){if(h=+h,p>>>=0,!O){let v=Math.pow(2,8*y-1);X(this,h,p,y,v-1,-v)}let x=0,C=1,g=0;for(this[p]=255&h;++x>>=0,!O){let v=Math.pow(2,8*y-1);X(this,h,p,y,v-1,-v)}let x=y-1,C=1,g=0;for(this[p+x]=255&h;--x>=0&&(C*=256);)h<0&&g===0&&this[p+x+1]!==0&&(g=1),this[p+x]=(h/C|0)-g&255;return p+y},o.prototype.writeInt8=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,1,127,-128),h<0&&(h=255+h+1),this[p]=255&h,p+1},o.prototype.writeInt16LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,32767,-32768),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeInt16BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,32767,-32768),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeInt32LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,2147483647,-2147483648),this[p]=255&h,this[p+1]=h>>>8,this[p+2]=h>>>16,this[p+3]=h>>>24,p+4},o.prototype.writeInt32BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigInt64LE=A(function(h,p=0){return j(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=A(function(h,p=0){return N(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeFloatLE=function(h,p,y){return nt(this,h,p,!0,y)},o.prototype.writeFloatBE=function(h,p,y){return nt(this,h,p,!1,y)},o.prototype.writeDoubleLE=function(h,p,y){return Q(this,h,p,!0,y)},o.prototype.writeDoubleBE=function(h,p,y){return Q(this,h,p,!1,y)},o.prototype.copy=function(h,p,y,O){if(!o.isBuffer(h))throw new TypeError("argument should be a Buffer");if(y||(y=0),!O&&O!==0&&(O=this.length),p>=h.length&&(p=h.length),p||(p=0),O>0&&O=this.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("sourceEnd out of bounds");O>this.length&&(O=this.length),h.length-p>>=0,y=y===void 0?this.length:y>>>0,h||(h=0),typeof h=="number")for(x=p;x=O+4;y-=3)p=`_${h.slice(y-3,y)}${p}`;return`${h.slice(0,y)}${p}`}function tt(h,p,y,O,x,C){if(h>y||h= 0${v} and < 2${v} ** ${8*(C+1)}${v}`:`>= -(2${v} ** ${8*(C+1)-1}${v}) and < 2 ** ${8*(C+1)-1}${v}`,new G.ERR_OUT_OF_RANGE("value",g,h)}(function(g,v,k){it(v,"offset"),(g[v]===void 0||g[v+k]===void 0)&<(v,g.length-(k+1))})(O,x,C)}function it(h,p){if(typeof h!="number")throw new G.ERR_INVALID_ARG_TYPE(p,"number",h)}function lt(h,p,y){throw Math.floor(h)!==h?(it(h,y),new G.ERR_OUT_OF_RANGE("offset","an integer",h)):p<0?new G.ERR_BUFFER_OUT_OF_BOUNDS:new G.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${p}`,h)}T("ERR_BUFFER_OUT_OF_BOUNDS",function(h){return h?`${h} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),T("ERR_INVALID_ARG_TYPE",function(h,p){return`The "${h}" argument must be of type number. Received type ${typeof p}`},TypeError),T("ERR_OUT_OF_RANGE",function(h,p,y){let O=`The value of "${h}" is out of range.`,x=y;return Number.isInteger(y)&&Math.abs(y)>2**32?x=q(String(y)):typeof y=="bigint"&&(x=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&(x=q(x)),x+="n"),O+=` It must be ${p}. Received ${x}`,O},RangeError);let ut=/[^+/0-9A-Za-z-_]/g;function pt(h,p){p=p||1/0;let y,O=h.length,x=null,C=[];for(let g=0;g55295&&y<57344){if(!x){if(y>56319){(p-=3)>-1&&C.push(239,191,189);continue}if(g+1===O){(p-=3)>-1&&C.push(239,191,189);continue}x=y;continue}if(y<56320){(p-=3)>-1&&C.push(239,191,189),x=y;continue}y=65536+(x-55296<<10|y-56320)}else x&&(p-=3)>-1&&C.push(239,191,189);if(x=null,y<128){if((p-=1)<0)break;C.push(y)}else if(y<2048){if((p-=2)<0)break;C.push(y>>6|192,63&y|128)}else if(y<65536){if((p-=3)<0)break;C.push(y>>12|224,y>>6&63|128,63&y|128)}else{if(!(y<1114112))throw new Error("Invalid code point");if((p-=4)<0)break;C.push(y>>18|240,y>>12&63|128,y>>6&63|128,63&y|128)}}return C}function H(h){return t.toByteArray(function(p){if((p=(p=p.split("=")[0]).trim().replace(ut,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(h))}function et(h,p,y,O){let x;for(x=0;x=p.length||x>=h.length);++x)p[x+y]=h[x];return x}function Z(h,p){return h instanceof p||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===p.name}function dt(h){return h!=h}let L=function(){let h="0123456789abcdef",p=new Array(256);for(let y=0;y<16;++y){let O=16*y;for(let x=0;x<16;++x)p[O+x]=h[y]+h[x]}return p}();function A(h){return typeof BigInt>"u"?F:h}function F(){throw new Error("BigInt not supported")}return Ar}pn(ie,{Buffer:()=>ho,INSPECT_MAX_BYTES:()=>tp,default:()=>kr,kMaxLength:()=>ep});var Sn,Ua,Qi,Na,Ar,Da,kr,ho,tp,ep,oe=ne(()=>{ct(),ft(),ht(),Sn={},Ua=!1,Qi={},Na=!1,Ar={},Da=!1,(kr=Zm()).Buffer,kr.SlowBuffer,kr.INSPECT_MAX_BYTES,kr.kMaxLength,ho=kr.Buffer,tp=kr.INSPECT_MAX_BYTES,ep=kr.kMaxLength}),ft=ne(()=>{oe()}),t0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.aliasToTopic={},this.max=e}put(e,r){return!(r===0||r>this.max)&&(this.aliasToTopic[r]=e,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(e){return this.aliasToTopic[e]}clear(){this.aliasToTopic={}}}}),te=mt((t,e)=>{ct(),ft(),ht(),e.exports={ArrayIsArray:r=>Array.isArray(r),ArrayPrototypeIncludes:(r,n)=>r.includes(n),ArrayPrototypeIndexOf:(r,n)=>r.indexOf(n),ArrayPrototypeJoin:(r,n)=>r.join(n),ArrayPrototypeMap:(r,n)=>r.map(n),ArrayPrototypePop:(r,n)=>r.pop(n),ArrayPrototypePush:(r,n)=>r.push(n),ArrayPrototypeSlice:(r,n,l)=>r.slice(n,l),Error,FunctionPrototypeCall:(r,n,...l)=>r.call(n,...l),FunctionPrototypeSymbolHasInstance:(r,n)=>Function.prototype[Symbol.hasInstance].call(r,n),MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties:(r,n)=>Object.defineProperties(r,n),ObjectDefineProperty:(r,n,l)=>Object.defineProperty(r,n,l),ObjectGetOwnPropertyDescriptor:(r,n)=>Object.getOwnPropertyDescriptor(r,n),ObjectKeys:r=>Object.keys(r),ObjectSetPrototypeOf:(r,n)=>Object.setPrototypeOf(r,n),Promise,PromisePrototypeCatch:(r,n)=>r.catch(n),PromisePrototypeThen:(r,n,l)=>r.then(n,l),PromiseReject:r=>Promise.reject(r),ReflectApply:Reflect.apply,RegExpPrototypeTest:(r,n)=>r.test(n),SafeSet:Set,String,StringPrototypeSlice:(r,n,l)=>r.slice(n,l),StringPrototypeToLowerCase:r=>r.toLowerCase(),StringPrototypeToUpperCase:r=>r.toUpperCase(),StringPrototypeTrim:r=>r.trim(),Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet:(r,n,l)=>r.set(n,l),Uint8Array}}),fr=mt((t,e)=>{ct(),ft(),ht();var r=(oe(),Dt(ie)),n=Object.getPrototypeOf(async function(){}).constructor,l=globalThis.Blob||r.Blob,o=typeof l<"u"?function(i){return i instanceof l}:function(i){return!1},s=class extends Error{constructor(i){if(!Array.isArray(i))throw new TypeError("Expected input to be an Array, got "+typeof i);let a="";for(let u=0;u{i=u,a=c}),resolve:i,reject:a}},promisify:i=>new Promise((a,u)=>{i((c,...d)=>c?u(c):a(...d))}),debuglog:()=>function(){},format:(i,...a)=>i.replace(/%([sdifj])/g,function(...[u,c]){let d=a.shift();return c==="f"?d.toFixed(6):c==="j"?JSON.stringify(d):c==="s"&&typeof d=="object"?`${d.constructor!==Object?d.constructor.name:""} {}`.trim():d.toString()}),inspect(i){switch(typeof i){case"string":if(i.includes("'")){if(!i.includes('"'))return`"${i}"`;if(!i.includes("`")&&!i.includes("${"))return`\`${i}\``}return`'${i}'`;case"number":return isNaN(i)?"NaN":Object.is(i,-0)?String(i):i;case"bigint":return`${String(i)}n`;case"boolean":case"undefined":return String(i);case"object":return"{}"}},types:{isAsyncFunction:i=>i instanceof n,isArrayBufferView:i=>ArrayBuffer.isView(i)},isBlob:o},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),Pl=mt((t,e)=>{ct(),ft(),ht();var{AbortController:r,AbortSignal:n}=typeof self<"u"?self:typeof window<"u"?window:void 0;e.exports=r,e.exports.AbortSignal=n,e.exports.default=r}),ve=mt((t,e)=>{ct(),ft(),ht();var{format:r,inspect:n,AggregateError:l}=fr(),o=globalThis.AggregateError||l,s=Symbol("kIsNodeError"),i=["string","function","number","object","Function","Object","boolean","bigint","symbol"],a=/^([A-Z][a-z0-9]*)+$/,u={};function c(_,S){if(!_)throw new u.ERR_INTERNAL_ASSERTION(S)}function d(_){let S="",U=_.length,D=_[0]==="-"?1:0;for(;U>=D+4;U-=3)S=`_${_.slice(U-3,U)}${S}`;return`${_.slice(0,U)}${S}`}function f(_,S,U){U||(U=Error);class D extends U{constructor(...V){super(function(Y,P,I){if(typeof P=="function")return c(P.length<=I.length,`Code: ${Y}; The provided arguments length (${I.length}) does not match the required ones (${P.length}).`),P(...I);let E=(P.match(/%[dfijoOs]/g)||[]).length;return c(E===I.length,`Code: ${Y}; The provided arguments length (${I.length}) does not match the required ones (${E}).`),I.length===0?P:r(P,...I)}(_,S,V))}toString(){return`${this.name} [${_}]: ${this.message}`}}Object.defineProperties(D.prototype,{name:{value:U.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${_}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),D.prototype.code=_,D.prototype[s]=!0,u[_]=D}function m(_){let S="__node_internal_"+_.name;return Object.defineProperty(_,"name",{value:S}),_}var b=class extends Error{constructor(_="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new u.ERR_INVALID_ARG_TYPE("options","Object",S);super(_,S),this.code="ABORT_ERR",this.name="AbortError"}};f("ERR_ASSERTION","%s",Error),f("ERR_INVALID_ARG_TYPE",(_,S,U)=>{c(typeof _=="string","'name' must be a string"),Array.isArray(S)||(S=[S]);let D="The ";_.endsWith(" argument")?D+=`${_} `:D+=`"${_}" ${_.includes(".")?"property":"argument"} `,D+="must be ";let K=[],V=[],Y=[];for(let I of S)c(typeof I=="string","All expected entries have to be of type string"),i.includes(I)?K.push(I.toLowerCase()):a.test(I)?V.push(I):(c(I!=="object",'The value "object" should be written as "Object"'),Y.push(I));if(V.length>0){let I=K.indexOf("object");I!==-1&&(K.splice(K,I,1),V.push("Object"))}if(K.length>0){switch(K.length){case 1:D+=`of type ${K[0]}`;break;case 2:D+=`one of type ${K[0]} or ${K[1]}`;break;default:{let I=K.pop();D+=`one of type ${K.join(", ")}, or ${I}`}}(V.length>0||Y.length>0)&&(D+=" or ")}if(V.length>0){switch(V.length){case 1:D+=`an instance of ${V[0]}`;break;case 2:D+=`an instance of ${V[0]} or ${V[1]}`;break;default:{let I=V.pop();D+=`an instance of ${V.join(", ")}, or ${I}`}}Y.length>0&&(D+=" or ")}switch(Y.length){case 0:break;case 1:Y[0].toLowerCase()!==Y[0]&&(D+="an "),D+=`${Y[0]}`;break;case 2:D+=`one of ${Y[0]} or ${Y[1]}`;break;default:{let I=Y.pop();D+=`one of ${Y.join(", ")}, or ${I}`}}if(U==null)D+=`. Received ${U}`;else if(typeof U=="function"&&U.name)D+=`. Received function ${U.name}`;else if(typeof U=="object"){var P;(P=U.constructor)!==null&&P!==void 0&&P.name?D+=`. Received an instance of ${U.constructor.name}`:D+=`. Received ${n(U,{depth:-1})}`}else{let I=n(U,{colors:!1});I.length>25&&(I=`${I.slice(0,25)}...`),D+=`. Received type ${typeof U} (${I})`}return D},TypeError),f("ERR_INVALID_ARG_VALUE",(_,S,U="is invalid")=>{let D=n(S);return D.length>128&&(D=D.slice(0,128)+"..."),`The ${_.includes(".")?"property":"argument"} '${_}' ${U}. Received ${D}`},TypeError),f("ERR_INVALID_RETURN_VALUE",(_,S,U)=>{var D;return`Expected ${_} to be returned from the "${S}" function but got ${U!=null&&(D=U.constructor)!==null&&D!==void 0&&D.name?`instance of ${U.constructor.name}`:"type "+typeof U}.`},TypeError),f("ERR_MISSING_ARGS",(..._)=>{c(_.length>0,"At least one arg needs to be specified");let S,U=_.length;switch(_=(Array.isArray(_)?_:[_]).map(D=>`"${D}"`).join(" or "),U){case 1:S+=`The ${_[0]} argument`;break;case 2:S+=`The ${_[0]} and ${_[1]} arguments`;break;default:{let D=_.pop();S+=`The ${_.join(", ")}, and ${D} arguments`}}return`${S} must be specified`},TypeError),f("ERR_OUT_OF_RANGE",(_,S,U)=>{let D;return c(S,'Missing "range" argument'),Number.isInteger(U)&&Math.abs(U)>2**32?D=d(String(U)):typeof U=="bigint"?(D=String(U),(U>2n**32n||U<-(2n**32n))&&(D=d(D)),D+="n"):D=n(U),`The value of "${_}" is out of range. It must be ${S}. Received ${D}`},RangeError),f("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),f("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),f("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),f("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),f("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),f("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),f("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),f("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),f("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),f("ERR_STREAM_WRITE_AFTER_END","write after end",Error),f("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:b,aggregateTwoErrors:m(function(_,S){if(_&&S&&_!==S){if(Array.isArray(S.errors))return S.errors.push(_),S;let U=new o([S,_],S.message);return U.code=S.code,U}return _||S}),hideStackFrames:m,codes:u}}),Po=mt((t,e)=>{ct(),ft(),ht();var{ArrayIsArray:r,ArrayPrototypeIncludes:n,ArrayPrototypeJoin:l,ArrayPrototypeMap:o,NumberIsInteger:s,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:u,NumberParseInt:c,ObjectPrototypeHasOwnProperty:d,RegExpPrototypeExec:f,String:m,StringPrototypeToUpperCase:b,StringPrototypeTrim:_}=te(),{hideStackFrames:S,codes:{ERR_SOCKET_BAD_PORT:U,ERR_INVALID_ARG_TYPE:D,ERR_INVALID_ARG_VALUE:K,ERR_OUT_OF_RANGE:V,ERR_UNKNOWN_SIGNAL:Y}}=ve(),{normalizeEncoding:P}=fr(),{isAsyncFunction:I,isArrayBufferView:E}=fr().types,w={},B=/^[0-7]+$/,R=S((H,et,Z=u,dt=a)=>{if(typeof H!="number")throw new D(et,"number",H);if(!s(H))throw new V(et,"an integer",H);if(Hdt)throw new V(et,`>= ${Z} && <= ${dt}`,H)}),rt=S((H,et,Z=-2147483648,dt=2147483647)=>{if(typeof H!="number")throw new D(et,"number",H);if(!s(H))throw new V(et,"an integer",H);if(Hdt)throw new V(et,`>= ${Z} && <= ${dt}`,H)}),st=S((H,et,Z=!1)=>{if(typeof H!="number")throw new D(et,"number",H);if(!s(H))throw new V(et,"an integer",H);let dt=Z?1:0,L=4294967295;if(HL)throw new V(et,`>= ${dt} && <= ${L}`,H)});function X(H,et){if(typeof H!="string")throw new D(et,"string",H)}var j=S((H,et,Z)=>{if(!n(Z,H)){let dt="must be one of: "+l(o(Z,L=>typeof L=="string"?`'${L}'`:m(L)),", ");throw new K(et,H,dt)}});function N(H,et){if(typeof H!="boolean")throw new D(et,"boolean",H)}function $(H,et,Z){return H!=null&&d(H,et)?H[et]:Z}var nt=S((H,et,Z=null)=>{let dt=$(Z,"allowArray",!1),L=$(Z,"allowFunction",!1);if(!$(Z,"nullable",!1)&&H===null||!dt&&r(H)||typeof H!="object"&&(!L||typeof H!="function"))throw new D(et,"Object",H)}),Q=S((H,et)=>{if(H!=null&&typeof H!="object"&&typeof H!="function")throw new D(et,"a dictionary",H)}),G=S((H,et,Z=0)=>{if(!r(H))throw new D(et,"Array",H);if(H.length{if(!E(H))throw new D(et,["Buffer","TypedArray","DataView"],H)}),q=S((H,et)=>{if(H!==void 0&&(H===null||typeof H!="object"||!("aborted"in H)))throw new D(et,"AbortSignal",H)}),tt=S((H,et)=>{if(typeof H!="function")throw new D(et,"Function",H)}),it=S((H,et)=>{if(typeof H!="function"||I(H))throw new D(et,"Function",H)}),lt=S((H,et)=>{if(H!==void 0)throw new D(et,"undefined",H)}),ut=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function pt(H,et){if(typeof H>"u"||!f(ut,H))throw new K(et,H,'must be an array or string of format "; rel=preload; as=style"')}e.exports={isInt32:function(H){return H===(0|H)},isUint32:function(H){return H===H>>>0},parseFileMode:function(H,et,Z){if(typeof H>"u"&&(H=Z),typeof H=="string"){if(f(B,H)===null)throw new K(et,H,"must be a 32-bit unsigned integer or an octal string");H=c(H,8)}return st(H,et),H},validateArray:G,validateStringArray:function(H,et){G(H,et);for(let Z=0;Zdt||(Z!=null||dt!=null)&&i(H))throw new V(et,`${Z!=null?`>= ${Z}`:""}${Z!=null&&dt!=null?" && ":""}${dt!=null?`<= ${dt}`:""}`,H)},validateObject:nt,validateOneOf:j,validatePlainFunction:it,validatePort:function(H,et="Port",Z=!0){if(typeof H!="number"&&typeof H!="string"||typeof H=="string"&&_(H).length===0||+H!=+H>>>0||H>65535||H===0&&!Z)throw new U(et,H,Z);return 0|H},validateSignalName:function(H,et="signal"){if(X(H,et),w[H]===void 0)throw w[b(H)]!==void 0?new Y(H+" (signals must use all capital letters)"):new Y(H)},validateString:X,validateUint32:st,validateUndefined:lt,validateUnion:function(H,et,Z){if(!n(Z,H))throw new D(et,`('${l(Z,"|")}')`,H)},validateAbortSignal:q,validateLinkHeaderValue:function(H){if(typeof H=="string")return pt(H,"hints"),H;if(r(H)){let et=H.length,Z="";if(et===0)return Z;for(let dt=0;dt; rel=preload; as=style"')}}}),dn=mt((t,e)=>{ct(),ft(),ht();var r,n,l=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(S){if(r===setTimeout)return setTimeout(S,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(S,0);try{return r(S,0)}catch{try{return r.call(null,S,0)}catch{return r.call(this,S,0)}}}(function(){try{r=typeof setTimeout=="function"?setTimeout:o}catch{r=o}try{n=typeof clearTimeout=="function"?clearTimeout:s}catch{n=s}})();var a,u=[],c=!1,d=-1;function f(){!c||!a||(c=!1,a.length?u=a.concat(u):d=-1,u.length&&m())}function m(){if(!c){var S=i(f);c=!0;for(var U=u.length;U;){for(a=u,u=[];++d1)for(var D=1;D{ct(),ft(),ht();var{Symbol:r,SymbolAsyncIterator:n,SymbolIterator:l,SymbolFor:o}=te(),s=r("kDestroyed"),i=r("kIsErrored"),a=r("kIsReadable"),u=r("kIsDisturbed"),c=o("nodejs.webstream.isClosedPromise"),d=o("nodejs.webstream.controllerErrorFunction");function f(w,B=!1){var R;return!(!w||typeof w.pipe!="function"||typeof w.on!="function"||B&&(typeof w.pause!="function"||typeof w.resume!="function")||w._writableState&&((R=w._readableState)===null||R===void 0?void 0:R.readable)===!1||w._writableState&&!w._readableState)}function m(w){var B;return!(!w||typeof w.write!="function"||typeof w.on!="function"||w._readableState&&((B=w._writableState)===null||B===void 0?void 0:B.writable)===!1)}function b(w){return w&&(w._readableState||w._writableState||typeof w.write=="function"&&typeof w.on=="function"||typeof w.pipe=="function"&&typeof w.on=="function")}function _(w){return!(!w||b(w)||typeof w.pipeThrough!="function"||typeof w.getReader!="function"||typeof w.cancel!="function")}function S(w){return!(!w||b(w)||typeof w.getWriter!="function"||typeof w.abort!="function")}function U(w){return!(!w||b(w)||typeof w.readable!="object"||typeof w.writable!="object")}function D(w){if(!b(w))return null;let B=w._writableState,R=w._readableState,rt=B||R;return!!(w.destroyed||w[s]||rt!=null&&rt.destroyed)}function K(w){if(!m(w))return null;if(w.writableEnded===!0)return!0;let B=w._writableState;return(B==null||!B.errored)&&(typeof(B==null?void 0:B.ended)!="boolean"?null:B.ended)}function V(w,B){if(!f(w))return null;let R=w._readableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.endEmitted)!="boolean"?null:!!(R.endEmitted||B===!1&&R.ended===!0&&R.length===0))}function Y(w){return w&&w[a]!=null?w[a]:typeof(w==null?void 0:w.readable)!="boolean"?null:!D(w)&&f(w)&&w.readable&&!V(w)}function P(w){return typeof(w==null?void 0:w.writable)!="boolean"?null:!D(w)&&m(w)&&w.writable&&!K(w)}function I(w){return typeof w._closed=="boolean"&&typeof w._defaultKeepAlive=="boolean"&&typeof w._removedConnection=="boolean"&&typeof w._removedContLen=="boolean"}function E(w){return typeof w._sent100=="boolean"&&I(w)}e.exports={kDestroyed:s,isDisturbed:function(w){var B;return!(!w||!((B=w[u])!==null&&B!==void 0?B:w.readableDidRead||w.readableAborted))},kIsDisturbed:u,isErrored:function(w){var B,R,rt,st,X,j,N,$,nt,Q;return!(!w||!((B=(R=(rt=(st=(X=(j=w[i])!==null&&j!==void 0?j:w.readableErrored)!==null&&X!==void 0?X:w.writableErrored)!==null&&st!==void 0?st:(N=w._readableState)===null||N===void 0?void 0:N.errorEmitted)!==null&&rt!==void 0?rt:($=w._writableState)===null||$===void 0?void 0:$.errorEmitted)!==null&&R!==void 0?R:(nt=w._readableState)===null||nt===void 0?void 0:nt.errored)!==null&&B!==void 0?B:(Q=w._writableState)!==null&&Q!==void 0&&Q.errored))},kIsErrored:i,isReadable:Y,kIsReadable:a,kIsClosedPromise:c,kControllerErrorFunction:d,isClosed:function(w){if(!b(w))return null;if(typeof w.closed=="boolean")return w.closed;let B=w._writableState,R=w._readableState;return typeof(B==null?void 0:B.closed)=="boolean"||typeof(R==null?void 0:R.closed)=="boolean"?(B==null?void 0:B.closed)||(R==null?void 0:R.closed):typeof w._closed=="boolean"&&I(w)?w._closed:null},isDestroyed:D,isDuplexNodeStream:function(w){return!(!w||typeof w.pipe!="function"||!w._readableState||typeof w.on!="function"||typeof w.write!="function")},isFinished:function(w,B){return b(w)?!!D(w)||!((B==null?void 0:B.readable)!==!1&&Y(w)||(B==null?void 0:B.writable)!==!1&&P(w)):null},isIterable:function(w,B){return w!=null&&(B===!0?typeof w[n]=="function":B===!1?typeof w[l]=="function":typeof w[n]=="function"||typeof w[l]=="function")},isReadableNodeStream:f,isReadableStream:_,isReadableEnded:function(w){if(!f(w))return null;if(w.readableEnded===!0)return!0;let B=w._readableState;return!(!B||B.errored)&&(typeof(B==null?void 0:B.ended)!="boolean"?null:B.ended)},isReadableFinished:V,isReadableErrored:function(w){var B,R;return b(w)?w.readableErrored?w.readableErrored:(B=(R=w._readableState)===null||R===void 0?void 0:R.errored)!==null&&B!==void 0?B:null:null},isNodeStream:b,isWebStream:function(w){return _(w)||S(w)||U(w)},isWritable:P,isWritableNodeStream:m,isWritableStream:S,isWritableEnded:K,isWritableFinished:function(w,B){if(!m(w))return null;if(w.writableFinished===!0)return!0;let R=w._writableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.finished)!="boolean"?null:!!(R.finished||B===!1&&R.ended===!0&&R.length===0))},isWritableErrored:function(w){var B,R;return b(w)?w.writableErrored?w.writableErrored:(B=(R=w._writableState)===null||R===void 0?void 0:R.errored)!==null&&B!==void 0?B:null:null},isServerRequest:function(w){var B;return typeof w._consuming=="boolean"&&typeof w._dumped=="boolean"&&((B=w.req)===null||B===void 0?void 0:B.upgradeOrConnect)===void 0},isServerResponse:E,willEmitClose:function(w){if(!b(w))return null;let B=w._writableState,R=w._readableState,rt=B||R;return!rt&&E(w)||!!(rt&&rt.autoDestroy&&rt.emitClose&&rt.closed===!1)},isTransformStream:U}}),Fr=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{AbortError:n,codes:l}=ve(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:s}=l,{kEmptyObject:i,once:a}=fr(),{validateAbortSignal:u,validateFunction:c,validateObject:d,validateBoolean:f}=Po(),{Promise:m,PromisePrototypeThen:b}=te(),{isClosed:_,isReadable:S,isReadableNodeStream:U,isReadableStream:D,isReadableFinished:K,isReadableErrored:V,isWritable:Y,isWritableNodeStream:P,isWritableStream:I,isWritableFinished:E,isWritableErrored:w,isNodeStream:B,willEmitClose:R,kIsClosedPromise:rt}=yr(),st=()=>{};function X(j,N,$){var nt,Q;if(arguments.length===2?($=N,N=i):N==null?N=i:d(N,"options"),c($,"callback"),u(N.signal,"options.signal"),$=a($),D(j)||I(j))return function(p,y,O){let x=!1,C=st;if(y.signal)if(C=()=>{x=!0,O.call(p,new n(void 0,{cause:y.signal.reason}))},y.signal.aborted)r.nextTick(C);else{let v=O;O=a((...k)=>{y.signal.removeEventListener("abort",C),v.apply(p,k)}),y.signal.addEventListener("abort",C)}let g=(...v)=>{x||r.nextTick(()=>O.apply(p,v))};return b(p[rt].promise,g,g),st}(j,N,$);if(!B(j))throw new o("stream",["ReadableStream","WritableStream","Stream"],j);let G=(nt=N.readable)!==null&&nt!==void 0?nt:U(j),T=(Q=N.writable)!==null&&Q!==void 0?Q:P(j),q=j._writableState,tt=j._readableState,it=()=>{j.writable||pt()},lt=R(j)&&U(j)===G&&P(j)===T,ut=E(j,!1),pt=()=>{ut=!0,j.destroyed&&(lt=!1),(!lt||j.readable&&!G)&&(!G||H)&&$.call(j)},H=K(j,!1),et=()=>{H=!0,j.destroyed&&(lt=!1),(!lt||j.writable&&!T)&&(!T||ut)&&$.call(j)},Z=p=>{$.call(j,p)},dt=_(j),L=()=>{dt=!0;let p=w(j)||V(j);return p&&typeof p!="boolean"?$.call(j,p):G&&!H&&U(j,!0)&&!K(j,!1)?$.call(j,new s):!T||ut||E(j,!1)?void $.call(j):$.call(j,new s)},A=()=>{dt=!0;let p=w(j)||V(j);if(p&&typeof p!="boolean")return $.call(j,p);$.call(j)},F=()=>{j.req.on("finish",pt)};(function(p){return p.setHeader&&typeof p.abort=="function"})(j)?(j.on("complete",pt),lt||j.on("abort",L),j.req?F():j.on("request",F)):T&&!q&&(j.on("end",it),j.on("close",it)),!lt&&typeof j.aborted=="boolean"&&j.on("aborted",L),j.on("end",et),j.on("finish",pt),N.error!==!1&&j.on("error",Z),j.on("close",L),dt?r.nextTick(L):q!=null&&q.errorEmitted||tt!=null&&tt.errorEmitted?lt||r.nextTick(A):(!G&&(!lt||S(j))&&(ut||Y(j)===!1)||!T&&(!lt||Y(j))&&(H||S(j)===!1)||tt&&j.req&&j.aborted)&&r.nextTick(A);let h=()=>{$=st,j.removeListener("aborted",L),j.removeListener("complete",pt),j.removeListener("abort",L),j.removeListener("request",F),j.req&&j.req.removeListener("finish",pt),j.removeListener("end",it),j.removeListener("close",it),j.removeListener("finish",pt),j.removeListener("end",et),j.removeListener("error",Z),j.removeListener("close",L)};if(N.signal&&!dt){let p=()=>{let y=$;h(),y.call(j,new n(void 0,{cause:N.signal.reason}))};if(N.signal.aborted)r.nextTick(p);else{let y=$;$=a((...O)=>{N.signal.removeEventListener("abort",p),y.apply(j,O)}),N.signal.addEventListener("abort",p)}}return h}e.exports=X,e.exports.finished=function(j,N){var $;let nt=!1;return N===null&&(N=i),($=N)!==null&&$!==void 0&&$.cleanup&&(f(N.cleanup,"cleanup"),nt=N.cleanup),new m((Q,G)=>{let T=X(j,N,q=>{nt&&T(),q?G(q):Q()})})}}),Un=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{aggregateTwoErrors:n,codes:{ERR_MULTIPLE_CALLBACK:l},AbortError:o}=ve(),{Symbol:s}=te(),{kDestroyed:i,isDestroyed:a,isFinished:u,isServerRequest:c}=yr(),d=s("kDestroy"),f=s("kConstruct");function m(E,w,B){E&&(E.stack,w&&!w.errored&&(w.errored=E),B&&!B.errored&&(B.errored=E))}function b(E,w,B){let R=!1;function rt(st){if(R)return;R=!0;let X=E._readableState,j=E._writableState;m(st,j,X),j&&(j.closed=!0),X&&(X.closed=!0),typeof B=="function"&&B(st),st?r.nextTick(_,E,st):r.nextTick(S,E)}try{E._destroy(w||null,rt)}catch(st){rt(st)}}function _(E,w){U(E,w),S(E)}function S(E){let w=E._readableState,B=E._writableState;B&&(B.closeEmitted=!0),w&&(w.closeEmitted=!0),(B!=null&&B.emitClose||w!=null&&w.emitClose)&&E.emit("close")}function U(E,w){let B=E._readableState,R=E._writableState;R!=null&&R.errorEmitted||B!=null&&B.errorEmitted||(R&&(R.errorEmitted=!0),B&&(B.errorEmitted=!0),E.emit("error",w))}function D(E,w,B){let R=E._readableState,rt=E._writableState;if(rt!=null&&rt.destroyed||R!=null&&R.destroyed)return this;R!=null&&R.autoDestroy||rt!=null&&rt.autoDestroy?E.destroy(w):w&&(w.stack,rt&&!rt.errored&&(rt.errored=w),R&&!R.errored&&(R.errored=w),B?r.nextTick(U,E,w):U(E,w))}function K(E){let w=!1;function B(R){if(w)return void D(E,R??new l);w=!0;let rt=E._readableState,st=E._writableState,X=st||rt;rt&&(rt.constructed=!0),st&&(st.constructed=!0),X.destroyed?E.emit(d,R):R?D(E,R,!0):r.nextTick(V,E)}try{E._construct(R=>{r.nextTick(B,R)})}catch(R){r.nextTick(B,R)}}function V(E){E.emit(f)}function Y(E){return(E==null?void 0:E.setHeader)&&typeof E.abort=="function"}function P(E){E.emit("close")}function I(E,w){E.emit("error",w),r.nextTick(P,E)}e.exports={construct:function(E,w){if(typeof E._construct!="function")return;let B=E._readableState,R=E._writableState;B&&(B.constructed=!1),R&&(R.constructed=!1),E.once(f,w),!(E.listenerCount(f)>1)&&r.nextTick(K,E)},destroyer:function(E,w){!E||a(E)||(!w&&!u(E)&&(w=new o),c(E)?(E.socket=null,E.destroy(w)):Y(E)?E.abort():Y(E.req)?E.req.abort():typeof E.destroy=="function"?E.destroy(w):typeof E.close=="function"?E.close():w?r.nextTick(I,E,w):r.nextTick(P,E),E.destroyed||(E[i]=!0))},destroy:function(E,w){let B=this._readableState,R=this._writableState,rt=R||B;return R!=null&&R.destroyed||B!=null&&B.destroyed?(typeof w=="function"&&w(),this):(m(E,R,B),R&&(R.destroyed=!0),B&&(B.destroyed=!0),rt.constructed?b(this,E,w):this.once(d,function(st){b(this,n(st,E),w)}),this)},undestroy:function(){let E=this._readableState,w=this._writableState;E&&(E.constructed=!0,E.closed=!1,E.closeEmitted=!1,E.destroyed=!1,E.errored=null,E.errorEmitted=!1,E.reading=!1,E.ended=E.readable===!1,E.endEmitted=E.readable===!1),w&&(w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1)},errorOrDestroy:D}});function Lt(){Lt.init.call(this)}function Yi(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function rp(t){return t._maxListeners===void 0?Lt.defaultMaxListeners:t._maxListeners}function sc(t,e,r,n){var l,o,s;if(Yi(r),(o=t._events)===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(l=rp(t))>0&&s.length>l&&!s.warned){s.warned=!0;var i=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");i.name="MaxListenersExceededWarning",i.emitter=t,i.type=e,i.count=s.length}return t}function e0(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ac(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},l=e0.bind(n);return l.listener=r,n.wrapFn=l,l}function lc(t,e,r){var n=t._events;if(n===void 0)return[];var l=n[e];return l===void 0?[]:typeof l=="function"?r?[l.listener||l]:[l]:r?function(o){for(var s=new Array(o.length),i=0;i{ct(),ft(),ht(),zr=typeof Reflect=="object"?Reflect:null,hs=zr&&typeof zr.apply=="function"?zr.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)},hc=zr&&typeof zr.ownKeys=="function"?zr.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)},fs=Number.isNaN||function(t){return t!=t},cc=Lt,Lt.EventEmitter=Lt,Lt.prototype._events=void 0,Lt.prototype._eventsCount=0,Lt.prototype._maxListeners=void 0,ps=10,Object.defineProperty(Lt,"defaultMaxListeners",{enumerable:!0,get:function(){return ps},set:function(t){if(typeof t!="number"||t<0||fs(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");ps=t}}),Lt.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Lt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||fs(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},Lt.prototype.getMaxListeners=function(){return rp(this)},Lt.prototype.emit=function(t){for(var e=[],r=1;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var i=l[t];if(i===void 0)return!1;if(typeof i=="function")hs(i,this,e);else{var a=i.length,u=np(i,a);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,l=o;break}if(l<0)return this;l===0?r.shift():function(i,a){for(;a+1=0;n--)this.removeListener(t,e[n]);return this},Lt.prototype.listeners=function(t){return lc(this,t,!0)},Lt.prototype.rawListeners=function(t){return lc(this,t,!1)},Lt.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):uc.call(t,e)},Lt.prototype.listenerCount=uc,Lt.prototype.eventNames=function(){return this._eventsCount>0?hc(this._events):[]},(ke=cc).EventEmitter,ke.defaultMaxListeners,ke.init,ke.listenerCount,ke.EventEmitter,ke.defaultMaxListeners,ke.init,ke.listenerCount}),gn={};pn(gn,{EventEmitter:()=>ip,default:()=>ke,defaultMaxListeners:()=>op,init:()=>sp,listenerCount:()=>ap,on:()=>lp,once:()=>up});var ip,op,sp,ap,lp,up,Nn=ne(()=>{ct(),ft(),ht(),fc(),fc(),ke.once=function(t,e){return new Promise((r,n)=>{function l(...s){o!==void 0&&t.removeListener("error",o),r(s)}let o;e!=="error"&&(o=s=>{t.removeListener(name,l),n(s)},t.once("error",o)),t.once(e,l)})},ke.on=function(t,e){let r=[],n=[],l=null,o=!1,s={async next(){let u=r.shift();if(u)return createIterResult(u,!1);if(l){let c=Promise.reject(l);return l=null,c}return o?createIterResult(void 0,!0):new Promise((c,d)=>n.push({resolve:c,reject:d}))},async return(){t.removeListener(e,i),t.removeListener("error",a),o=!0;for(let u of n)u.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(u){l=u,t.removeListener(e,i),t.removeListener("error",a)},[Symbol.asyncIterator](){return this}};return t.on(e,i),t.on("error",a),s;function i(...u){let c=n.shift();c?c.resolve(createIterResult(u,!1)):r.push(u)}function a(u){o=!0;let c=n.shift();c?c.reject(u):l=u,s.return()}},{EventEmitter:ip,defaultMaxListeners:op,init:sp,listenerCount:ap,on:lp,once:up}=ke}),Bl=mt((t,e)=>{ct(),ft(),ht();var{ArrayIsArray:r,ObjectSetPrototypeOf:n}=te(),{EventEmitter:l}=(Nn(),Dt(gn));function o(i){l.call(this,i)}function s(i,a,u){if(typeof i.prependListener=="function")return i.prependListener(a,u);i._events&&i._events[a]?r(i._events[a])?i._events[a].unshift(u):i._events[a]=[u,i._events[a]]:i.on(a,u)}n(o.prototype,l.prototype),n(o,l),o.prototype.pipe=function(i,a){let u=this;function c(U){i.writable&&i.write(U)===!1&&u.pause&&u.pause()}function d(){u.readable&&u.resume&&u.resume()}u.on("data",c),i.on("drain",d),!i._isStdio&&(!a||a.end!==!1)&&(u.on("end",m),u.on("close",b));let f=!1;function m(){f||(f=!0,i.end())}function b(){f||(f=!0,typeof i.destroy=="function"&&i.destroy())}function _(U){S(),l.listenerCount(this,"error")===0&&this.emit("error",U)}function S(){u.removeListener("data",c),i.removeListener("drain",d),u.removeListener("end",m),u.removeListener("close",b),u.removeListener("error",_),i.removeListener("error",_),u.removeListener("end",S),u.removeListener("close",S),i.removeListener("close",S)}return s(u,"error",_),s(i,"error",_),u.on("end",S),u.on("close",S),i.on("close",S),i.emit("pipe",u),i},e.exports={Stream:o,prependListener:s}}),Bo=mt((t,e)=>{ct(),ft(),ht();var{AbortError:r,codes:n}=ve(),{isNodeStream:l,isWebStream:o,kControllerErrorFunction:s}=yr(),i=Fr(),{ERR_INVALID_ARG_TYPE:a}=n;e.exports.addAbortSignal=function(u,c){if(((d,f)=>{if(typeof d!="object"||!("aborted"in d))throw new a(f,"AbortSignal",d)})(u,"signal"),!l(c)&&!o(c))throw new a("stream",["ReadableStream","WritableStream","Stream"],c);return e.exports.addAbortSignalNoValidate(u,c)},e.exports.addAbortSignalNoValidate=function(u,c){if(typeof u!="object"||!("aborted"in u))return c;let d=l(c)?()=>{c.destroy(new r(void 0,{cause:u.reason}))}:()=>{c[s](new r(void 0,{cause:u.reason}))};return u.aborted?d():(u.addEventListener("abort",d),i(c,()=>u.removeEventListener("abort",d))),c}}),r0=mt((t,e)=>{ct(),ft(),ht();var{StringPrototypeSlice:r,SymbolIterator:n,TypedArrayPrototypeSet:l,Uint8Array:o}=te(),{Buffer:s}=(oe(),Dt(ie)),{inspect:i}=fr();e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(a){let u={data:a,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length}unshift(a){let u={data:a,next:this.head};this.length===0&&(this.tail=u),this.head=u,++this.length}shift(){if(this.length===0)return;let a=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,a}clear(){this.head=this.tail=null,this.length=0}join(a){if(this.length===0)return"";let u=this.head,c=""+u.data;for(;(u=u.next)!==null;)c+=a+u.data;return c}concat(a){if(this.length===0)return s.alloc(0);let u=s.allocUnsafe(a>>>0),c=this.head,d=0;for(;c;)l(u,c.data,d),d+=c.data.length,c=c.next;return u}consume(a,u){let c=this.head.data;if(af.length)){a===f.length?(u+=f,++d,c.next?this.head=c.next:this.head=this.tail=null):(u+=r(f,0,a),this.head=c,c.data=r(f,a));break}u+=f,a-=f.length,++d}while((c=c.next)!==null);return this.length-=d,u}_getBuffer(a){let u=s.allocUnsafe(a),c=a,d=this.head,f=0;do{let m=d.data;if(!(a>m.length)){a===m.length?(l(u,m,c-a),++f,d.next?this.head=d.next:this.head=this.tail=null):(l(u,new o(m.buffer,m.byteOffset,a),c-a),this.head=d,d.data=m.slice(a));break}l(u,m,c-a),a-=m.length,++f}while((d=d.next)!==null);return this.length-=f,u}[Symbol.for("nodejs.util.inspect.custom")](a,u){return i(this,{...u,depth:0,customInspect:!1})}}}),Ml=mt((t,e)=>{ct(),ft(),ht();var{MathFloor:r,NumberIsInteger:n}=te(),{ERR_INVALID_ARG_VALUE:l}=ve().codes;function o(s){return s?16:16384}e.exports={getHighWaterMark:function(s,i,a,u){let c=function(d,f,m){return d.highWaterMark!=null?d.highWaterMark:f?d[m]:null}(i,u,a);if(c!=null){if(!n(c)||c<0)throw new l(u?`options.${a}`:"options.highWaterMark",c);return r(c)}return o(s.objectMode)},getDefaultHighWaterMark:o}});function pc(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return r===-1&&(r=e),[r,r===e?0:4-r%4]}function n0(t,e,r){for(var n,l,o=[],s=e;s>18&63]+Le[l>>12&63]+Le[l>>6&63]+Le[63&l]);return o.join("")}function ur(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,gt.prototype),e}function gt(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Fa(t)}return cp(t,e,r)}function cp(t,e,r){if(typeof t=="string")return function(o,s){if(typeof s=="string"&&s!==""||(s="utf8"),!gt.isEncoding(s))throw new TypeError("Unknown encoding: "+s);var i=0|fp(o,s),a=ur(i),u=a.write(o,s);return u!==i&&(a=a.slice(0,u)),a}(t,e);if(ArrayBuffer.isView(t))return ds(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(cr(t,ArrayBuffer)||t&&cr(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(cr(t,SharedArrayBuffer)||t&&cr(t.buffer,SharedArrayBuffer)))return function(o,s,i){if(s<0||o.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function fp(t,e){if(gt.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||cr(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;for(var l=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Wa(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return mp(t).length;default:if(l)return n?-1:Wa(t).length;e=(""+e).toLowerCase(),l=!0}}function i0(t,e,r){var n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return p0(this,e,r);case"utf8":case"utf-8":return dp(this,e,r);case"ascii":return h0(this,e,r);case"latin1":case"binary":return f0(this,e,r);case"base64":return c0(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return d0(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function Kr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function dc(t,e,r,n,l){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),jl(r=+r)&&(r=l?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(l)return-1;r=t.length-1}else if(r<0){if(!l)return-1;r=0}if(typeof e=="string"&&(e=gt.from(e,n)),gt.isBuffer(e))return e.length===0?-1:gc(t,e,r,n,l);if(typeof e=="number")return e&=255,typeof Uint8Array.prototype.indexOf=="function"?l?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):gc(t,[e],r,n,l);throw new TypeError("val must be string, number or Buffer")}function gc(t,e,r,n,l){var o,s=1,i=t.length,a=e.length;if(n!==void 0&&((n=String(n).toLowerCase())==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,i/=2,a/=2,r/=2}function u(m,b){return s===1?m[b]:m.readUInt16BE(b*s)}if(l){var c=-1;for(o=r;oi&&(r=i-a),o=r;o>=0;o--){for(var d=!0,f=0;fl&&(n=l):n=l;var o=e.length;n>o/2&&(n=o/2);for(var s=0;s>8,a=s%256,u.push(a),u.push(i);return u}(e,t.length-r),t,r,n)}function c0(t,e,r){return e===0&&r===t.length?fo.fromByteArray(t):fo.fromByteArray(t.slice(e,r))}function dp(t,e,r){r=Math.min(t.length,r);for(var n=[],l=e;l239?4:u>223?3:u>191?2:1;if(l+d<=r)switch(d){case 1:u<128&&(c=u);break;case 2:(192&(o=t[l+1]))==128&&(a=(31&u)<<6|63&o)>127&&(c=a);break;case 3:o=t[l+1],s=t[l+2],(192&o)==128&&(192&s)==128&&(a=(15&u)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:o=t[l+1],s=t[l+2],i=t[l+3],(192&o)==128&&(192&s)==128&&(192&i)==128&&(a=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&i)>65535&&a<1114112&&(c=a)}c===null?(c=65533,d=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),l+=d}return function(f){var m=f.length;if(m<=4096)return String.fromCharCode.apply(String,f);for(var b="",_=0;_n)&&(r=n);for(var l="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function de(t,e,r,n,l,o){if(!gt.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>l||et.length)throw new RangeError("Index out of range")}function gp(t,e,r,n,l,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function mc(t,e,r,n,l){return e=+e,r>>>=0,l||gp(t,0,r,4),en.write(t,e,r,n,23,4),r+4}function yc(t,e,r,n,l){return e=+e,r>>>=0,l||gp(t,0,r,8),en.write(t,e,r,n,52,8),r+8}function Wa(t,e){var r;e=e||1/0;for(var n=t.length,l=null,o=[],s=0;s55295&&r<57344){if(!l){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}l=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),l=r;continue}r=65536+(l-55296<<10|r-56320)}else l&&(e-=3)>-1&&o.push(239,191,189);if(l=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function mp(t){return fo.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(yp,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(t))}function Mo(t,e,r,n){for(var l=0;l=e.length||l>=t.length);++l)e[l+r]=t[l];return l}function cr(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function jl(t){return t!=t}function bc(t,e){for(var r in t)e[r]=t[r]}function Gr(t,e,r){return $e(t,e,r)}function Hn(t){var e;switch(this.encoding=function(r){var n=function(l){if(!l)return"utf8";for(var o;;)switch(l){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return l;default:if(o)return;l=(""+l).toLowerCase(),o=!0}}(r);if(typeof n!="string"&&(po.isEncoding===$a||!$a(r)))throw new Error("Unknown encoding: "+r);return n||r}(t),this.encoding){case"utf16le":this.text=m0,this.end=y0,e=4;break;case"utf8":this.fillLast=g0,e=4;break;case"base64":this.text=b0,this.end=v0,e=3;break;default:return this.write=w0,void(this.end=_0)}this.lastNeed=0,this.lastTotal=0,this.lastChar=po.allocUnsafe(e)}function gs(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function g0(t){var e=this.lastTotal-this.lastNeed,r=function(n,l){if((192&l[0])!=128)return n.lastNeed=0,"�";if(n.lastNeed>1&&l.length>1){if((192&l[1])!=128)return n.lastNeed=1,"�";if(n.lastNeed>2&&l.length>2&&(192&l[2])!=128)return n.lastNeed=2,"�"}}(this,t);return r!==void 0?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function m0(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function y0(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function b0(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function v0(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function w0(t){return t.toString(this.encoding)}function _0(t){return t&&t.length?this.write(t):""}var vc,Le,we,wc,ms,Qr,_c,We,fo,en,ys,yp,bp,zn,Mi,$e,kn,po,$a,Ec=ne(()=>{for(ct(),ft(),ht(),vc={byteLength:function(t){var e=pc(t),r=e[0],n=e[1];return 3*(r+n)/4-n},toByteArray:function(t){var e,r,n=pc(t),l=n[0],o=n[1],s=new wc(function(u,c,d){return 3*(c+d)/4-d}(0,l,o)),i=0,a=o>0?l-4:l;for(r=0;r>16&255,s[i++]=e>>8&255,s[i++]=255&e;return o===2&&(e=we[t.charCodeAt(r)]<<2|we[t.charCodeAt(r+1)]>>4,s[i++]=255&e),o===1&&(e=we[t.charCodeAt(r)]<<10|we[t.charCodeAt(r+1)]<<4|we[t.charCodeAt(r+2)]>>2,s[i++]=e>>8&255,s[i++]=255&e),s},fromByteArray:function(t){for(var e,r=t.length,n=r%3,l=[],o=0,s=r-n;os?s:o+16383));return n===1?(e=t[r-1],l.push(Le[e>>2]+Le[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],l.push(Le[e>>10]+Le[e>>4&63]+Le[e<<2&63]+"=")),l.join("")}},Le=[],we=[],wc=typeof Uint8Array<"u"?Uint8Array:Array,ms="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qr=0,64;Qr<64;++Qr)Le[Qr]=ms[Qr],we[ms.charCodeAt(Qr)]=Qr;we[45]=62,we[95]=63,_c={read:function(t,e,r,n,l){var o,s,i=8*l-n-1,a=(1<>1,c=-7,d=r?l-1:0,f=r?-1:1,m=t[e+d];for(d+=f,o=m&(1<<-c)-1,m>>=-c,c+=i;c>0;o=256*o+t[e+d],d+=f,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=n;c>0;s=256*s+t[e+d],d+=f,c-=8);if(o===0)o=1-u;else{if(o===a)return s?NaN:1/0*(m?-1:1);s+=Math.pow(2,n),o-=u}return(m?-1:1)*s*Math.pow(2,o-n)},write:function(t,e,r,n,l,o){var s,i,a,u=8*o-l-1,c=(1<>1,f=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,m=n?0:o-1,b=n?1:-1,_=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(i=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+d>=1?f/a:f*Math.pow(2,1-d))*a>=2&&(s++,a/=2),s+d>=c?(i=0,s=c):s+d>=1?(i=(e*a-1)*Math.pow(2,l),s+=d):(i=e*Math.pow(2,d-1)*Math.pow(2,l),s=0));l>=8;t[r+m]=255&i,m+=b,i/=256,l-=8);for(s=s<0;t[r+m]=255&s,m+=b,s/=256,u-=8);t[r+m-b]|=128*_}},We={},fo=vc,en=_c,ys=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null,We.Buffer=gt,We.SlowBuffer=function(t){return+t!=t&&(t=0),gt.alloc(+t)},We.INSPECT_MAX_BYTES=50,We.kMaxLength=2147483647,gt.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch{return!1}}(),gt.TYPED_ARRAY_SUPPORT||typeof console>"u",Object.defineProperty(gt.prototype,"parent",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.buffer}}),Object.defineProperty(gt.prototype,"offset",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.byteOffset}}),gt.poolSize=8192,gt.from=function(t,e,r){return cp(t,e,r)},Object.setPrototypeOf(gt.prototype,Uint8Array.prototype),Object.setPrototypeOf(gt,Uint8Array),gt.alloc=function(t,e,r){return l=e,o=r,hp(n=t),n<=0?ur(n):l!==void 0?typeof o=="string"?ur(n).fill(l,o):ur(n).fill(l):ur(n);var n,l,o},gt.allocUnsafe=function(t){return Fa(t)},gt.allocUnsafeSlow=function(t){return Fa(t)},gt.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==gt.prototype},gt.compare=function(t,e){if(cr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),cr(e,Uint8Array)&&(e=gt.from(e,e.offset,e.byteLength)),!gt.isBuffer(t)||!gt.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,l=0,o=Math.min(r,n);le&&(t+=" ... "),""},ys&&(gt.prototype[ys]=gt.prototype.inspect),gt.prototype.compare=function(t,e,r,n,l){if(cr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),!gt.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0&&(e=0),r===void 0&&(r=t?t.length:0),n===void 0&&(n=0),l===void 0&&(l=this.length),e<0||r>t.length||n<0||l>this.length)throw new RangeError("out of range index");if(n>=l&&e>=r)return 0;if(n>=l)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(l>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),i=Math.min(o,s),a=this.slice(n,l),u=t.slice(e,r),c=0;c>>=0,isFinite(r)?(r>>>=0,n===void 0&&(n="utf8")):(n=r,r=void 0)}var l=this.length-e;if((r===void 0||r>l)&&(r=l),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return o0(this,t,e,r);case"utf8":case"utf-8":return s0(this,t,e,r);case"ascii":return pp(this,t,e,r);case"latin1":case"binary":return a0(this,t,e,r);case"base64":return l0(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return u0(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},gt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},gt.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=e===void 0?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t],l=1,o=0;++o>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t+--e],l=1;e>0&&(l*=256);)n+=this[t+--e]*l;return n},gt.prototype.readUInt8=function(t,e){return t>>>=0,e||ee(t,1,this.length),this[t]},gt.prototype.readUInt16LE=function(t,e){return t>>>=0,e||ee(t,2,this.length),this[t]|this[t+1]<<8},gt.prototype.readUInt16BE=function(t,e){return t>>>=0,e||ee(t,2,this.length),this[t]<<8|this[t+1]},gt.prototype.readUInt32LE=function(t,e){return t>>>=0,e||ee(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},gt.prototype.readUInt32BE=function(t,e){return t>>>=0,e||ee(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},gt.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t],l=1,o=0;++o=(l*=128)&&(n-=Math.pow(2,8*e)),n},gt.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=e,l=1,o=this[t+--n];n>0&&(l*=256);)o+=this[t+--n]*l;return o>=(l*=128)&&(o-=Math.pow(2,8*e)),o},gt.prototype.readInt8=function(t,e){return t>>>=0,e||ee(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},gt.prototype.readInt16LE=function(t,e){t>>>=0,e||ee(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt16BE=function(t,e){t>>>=0,e||ee(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt32LE=function(t,e){return t>>>=0,e||ee(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},gt.prototype.readInt32BE=function(t,e){return t>>>=0,e||ee(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},gt.prototype.readFloatLE=function(t,e){return t>>>=0,e||ee(t,4,this.length),en.read(this,t,!0,23,4)},gt.prototype.readFloatBE=function(t,e){return t>>>=0,e||ee(t,4,this.length),en.read(this,t,!1,23,4)},gt.prototype.readDoubleLE=function(t,e){return t>>>=0,e||ee(t,8,this.length),en.read(this,t,!0,52,8)},gt.prototype.readDoubleBE=function(t,e){return t>>>=0,e||ee(t,8,this.length),en.read(this,t,!1,52,8)},gt.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||de(this,t,e,r,Math.pow(2,8*r)-1,0);var l=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n||de(this,t,e,r,Math.pow(2,8*r)-1,0);var l=r-1,o=1;for(this[e+l]=255&t;--l>=0&&(o*=256);)this[e+l]=t/o&255;return e+r},gt.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,1,255,0),this[e]=255&t,e+1},gt.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},gt.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var l=Math.pow(2,8*r-1);de(this,t,e,r,l-1,-l)}var o=0,s=1,i=0;for(this[e]=255&t;++o>>=0,!n){var l=Math.pow(2,8*r-1);de(this,t,e,r,l-1,-l)}var o=r-1,s=1,i=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&i===0&&this[e+o+1]!==0&&(i=1),this[e+o]=(t/s|0)-i&255;return e+r},gt.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},gt.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},gt.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeFloatLE=function(t,e,r){return mc(this,t,e,!0,r)},gt.prototype.writeFloatBE=function(t,e,r){return mc(this,t,e,!1,r)},gt.prototype.writeDoubleLE=function(t,e,r){return yc(this,t,e,!0,r)},gt.prototype.writeDoubleBE=function(t,e,r){return yc(this,t,e,!1,r)},gt.prototype.copy=function(t,e,r,n){if(!gt.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||n===0||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return l},gt.prototype.fill=function(t,e,r,n){if(typeof t=="string"){if(typeof e=="string"?(n=e,e=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!gt.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(t.length===1){var l=t.charCodeAt(0);(n==="utf8"&&l<128||n==="latin1")&&(t=l)}}else typeof t=="number"?t&=255:typeof t=="boolean"&&(t=Number(t));if(e<0||this.length>>=0,r=r===void 0?this.length:r>>>0,t||(t=0),typeof t=="number")for(o=e;o=0?(a>0&&(l.lastNeed=a-1),a):--i=0?(a>0&&(l.lastNeed=a-2),a):--i=0?(a>0&&(a===2?a=0:l.lastNeed=a-3),a):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},Hn.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length},kn.StringDecoder,kn.StringDecoder}),vp={};pn(vp,{StringDecoder:()=>wp,default:()=>kn});var wp,E0=ne(()=>{ct(),ft(),ht(),Ec(),Ec(),wp=kn.StringDecoder}),_p=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{PromisePrototypeThen:n,SymbolAsyncIterator:l,SymbolIterator:o}=te(),{Buffer:s}=(oe(),Dt(ie)),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=ve().codes;e.exports=function(u,c,d){let f,m;if(typeof c=="string"||c instanceof s)return new u({objectMode:!0,...d,read(){this.push(c),this.push(null)}});if(c&&c[l])m=!0,f=c[l]();else{if(!c||!c[o])throw new i("iterable",["Iterable"],c);m=!1,f=c[o]()}let b=new u({objectMode:!0,highWaterMark:1,...d}),_=!1;return b._read=function(){_||(_=!0,async function(){for(;;){try{let{value:S,done:U}=m?await f.next():f.next();if(U)b.push(null);else{let D=S&&typeof S.then=="function"?await S:S;if(D===null)throw _=!1,new a;if(b.push(D))continue;_=!1}}catch(S){b.destroy(S)}break}}())},b._destroy=function(S,U){n(async function(D){let K=D!=null,V=typeof f.throw=="function";if(K&&V){let{value:Y,done:P}=await f.throw(D);if(await Y,P)return}if(typeof f.return=="function"){let{value:Y}=await f.return();await Y}}(S),()=>r.nextTick(U,S),D=>r.nextTick(U,D||S))},b}}),Lo=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{ArrayPrototypeIndexOf:n,NumberIsInteger:l,NumberIsNaN:o,NumberParseInt:s,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:u,Promise:c,SafeSet:d,SymbolAsyncIterator:f,Symbol:m}=te();e.exports=q,q.ReadableState=T;var{EventEmitter:b}=(Nn(),Dt(gn)),{Stream:_,prependListener:S}=Bl(),{Buffer:U}=(oe(),Dt(ie)),{addAbortSignal:D}=Bo(),K=Fr(),V=fr().debuglog("stream",g=>{V=g}),Y=r0(),P=Un(),{getHighWaterMark:I,getDefaultHighWaterMark:E}=Ml(),{aggregateTwoErrors:w,codes:{ERR_INVALID_ARG_TYPE:B,ERR_METHOD_NOT_IMPLEMENTED:R,ERR_OUT_OF_RANGE:rt,ERR_STREAM_PUSH_AFTER_EOF:st,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:X}}=ve(),{validateObject:j}=Po(),N=m("kPaused"),{StringDecoder:$}=(E0(),Dt(vp)),nt=_p();u(q.prototype,_.prototype),u(q,_);var Q=()=>{},{errorOrDestroy:G}=P;function T(g,v,k){typeof k!="boolean"&&(k=v instanceof pr()),this.objectMode=!(!g||!g.objectMode),k&&(this.objectMode=this.objectMode||!(!g||!g.readableObjectMode)),this.highWaterMark=g?I(this,g,"readableHighWaterMark",k):E(!1),this.buffer=new Y,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[N]=null,this.errorEmitted=!1,this.emitClose=!g||g.emitClose!==!1,this.autoDestroy=!g||g.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=g&&g.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,g&&g.encoding&&(this.decoder=new $(g.encoding),this.encoding=g.encoding)}function q(g){if(!(this instanceof q))return new q(g);let v=this instanceof pr();this._readableState=new T(g,this,v),g&&(typeof g.read=="function"&&(this._read=g.read),typeof g.destroy=="function"&&(this._destroy=g.destroy),typeof g.construct=="function"&&(this._construct=g.construct),g.signal&&!v&&D(g.signal,this)),_.call(this,g),P.construct(this,()=>{this._readableState.needReadable&&et(this,this._readableState)})}function tt(g,v,k,M){V("readableAddChunk",v);let W,J=g._readableState;if(J.objectMode||(typeof v=="string"?(k=k||J.defaultEncoding,J.encoding!==k&&(M&&J.encoding?v=U.from(v,k).toString(J.encoding):(v=U.from(v,k),k=""))):v instanceof U?k="":_._isUint8Array(v)?(v=_._uint8ArrayToBuffer(v),k=""):v!=null&&(W=new B("chunk",["string","Buffer","Uint8Array"],v))),W)G(g,W);else if(v===null)J.reading=!1,function(at,ot){if(V("onEofChunk"),!ot.ended){if(ot.decoder){let vt=ot.decoder.end();vt&&vt.length&&(ot.buffer.push(vt),ot.length+=ot.objectMode?1:vt.length)}ot.ended=!0,ot.sync?pt(at):(ot.needReadable=!1,ot.emittedReadable=!0,H(at))}}(g,J);else if(J.objectMode||v&&v.length>0)if(M)if(J.endEmitted)G(g,new X);else{if(J.destroyed||J.errored)return!1;it(g,J,v,!0)}else if(J.ended)G(g,new st);else{if(J.destroyed||J.errored)return!1;J.reading=!1,J.decoder&&!k?(v=J.decoder.write(v),J.objectMode||v.length!==0?it(g,J,v,!1):et(g,J)):it(g,J,v,!1)}else M||(J.reading=!1,et(g,J));return!J.ended&&(J.length0?(v.multiAwaitDrain?v.awaitDrainWriters.clear():v.awaitDrainWriters=null,v.dataEmitted=!0,g.emit("data",k)):(v.length+=v.objectMode?1:k.length,M?v.buffer.unshift(k):v.buffer.push(k),v.needReadable&&pt(g)),et(g,v)}q.prototype.destroy=P.destroy,q.prototype._undestroy=P.undestroy,q.prototype._destroy=function(g,v){v(g)},q.prototype[b.captureRejectionSymbol]=function(g){this.destroy(g)},q.prototype.push=function(g,v){return tt(this,g,v,!1)},q.prototype.unshift=function(g,v){return tt(this,g,v,!0)},q.prototype.isPaused=function(){let g=this._readableState;return g[N]===!0||g.flowing===!1},q.prototype.setEncoding=function(g){let v=new $(g);this._readableState.decoder=v,this._readableState.encoding=this._readableState.decoder.encoding;let k=this._readableState.buffer,M="";for(let W of k)M+=v.write(W);return k.clear(),M!==""&&k.push(M),this._readableState.length=M.length,this};var lt;function ut(g,v){return g<=0||v.length===0&&v.ended?0:v.objectMode?1:o(g)?v.flowing&&v.length?v.buffer.first().length:v.length:g<=v.length?g:v.ended?v.length:0}function pt(g){let v=g._readableState;V("emitReadable",v.needReadable,v.emittedReadable),v.needReadable=!1,v.emittedReadable||(V("emitReadable",v.flowing),v.emittedReadable=!0,r.nextTick(H,g))}function H(g){let v=g._readableState;V("emitReadable_",v.destroyed,v.length,v.ended),!v.destroyed&&!v.errored&&(v.length||v.ended)&&(g.emit("readable"),v.emittedReadable=!1),v.needReadable=!v.flowing&&!v.ended&&v.length<=v.highWaterMark,F(g)}function et(g,v){!v.readingMore&&v.constructed&&(v.readingMore=!0,r.nextTick(Z,g,v))}function Z(g,v){for(;!v.reading&&!v.ended&&(v.length0,v.resumeScheduled&&v[N]===!1?v.flowing=!0:g.listenerCount("data")>0?g.resume():v.readableListening||(v.flowing=null)}function L(g){V("readable nexttick read 0"),g.read(0)}function A(g,v){V("resume",v.reading),v.reading||g.read(0),v.resumeScheduled=!1,g.emit("resume"),F(g),v.flowing&&!v.reading&&g.read(0)}function F(g){let v=g._readableState;for(V("flow",v.flowing);v.flowing&&g.read()!==null;);}function h(g,v){typeof g.read!="function"&&(g=q.wrap(g,{objectMode:!0}));let k=async function*(M,W){let J=Q;function at(bt){this===M?(J(),J=Q):J=bt}M.on("readable",at);let ot,vt=K(M,{writable:!1},bt=>{ot=bt?w(ot,bt):null,J(),J=Q});try{for(;;){let bt=M.destroyed?null:M.read();if(bt!==null)yield bt;else{if(ot)throw ot;if(ot===null)return;await new c(at)}}}catch(bt){throw ot=w(ot,bt),ot}finally{!ot&&(W==null?void 0:W.destroyOnReturn)===!1||ot!==void 0&&!M._readableState.autoDestroy?(M.off("readable",at),vt()):P.destroyer(M,null)}}(g,v);return k.stream=g,k}function p(g,v){if(v.length===0)return null;let k;return v.objectMode?k=v.buffer.shift():!g||g>=v.length?(k=v.decoder?v.buffer.join(""):v.buffer.length===1?v.buffer.first():v.buffer.concat(v.length),v.buffer.clear()):k=v.buffer.consume(g,v.decoder),k}function y(g){let v=g._readableState;V("endReadable",v.endEmitted),v.endEmitted||(v.ended=!0,r.nextTick(O,v,g))}function O(g,v){if(V("endReadableNT",g.endEmitted,g.length),!g.errored&&!g.closeEmitted&&!g.endEmitted&&g.length===0){if(g.endEmitted=!0,v.emit("end"),v.writable&&v.allowHalfOpen===!1)r.nextTick(x,v);else if(g.autoDestroy){let k=v._writableState;(!k||k.autoDestroy&&(k.finished||k.writable===!1))&&v.destroy()}}}function x(g){g.writable&&!g.writableEnded&&!g.destroyed&&g.end()}function C(){return lt===void 0&&(lt={}),lt}q.prototype.read=function(g){V("read",g),g===void 0?g=NaN:l(g)||(g=s(g,10));let v=this._readableState,k=g;if(g>v.highWaterMark&&(v.highWaterMark=function(J){if(J>1073741824)throw new rt("size","<= 1GiB",J);return J--,J|=J>>>1,J|=J>>>2,J|=J>>>4,J|=J>>>8,J|=J>>>16,++J}(g)),g!==0&&(v.emittedReadable=!1),g===0&&v.needReadable&&((v.highWaterMark!==0?v.length>=v.highWaterMark:v.length>0)||v.ended))return V("read: emitReadable",v.length,v.ended),v.length===0&&v.ended?y(this):pt(this),null;if((g=ut(g,v))===0&&v.ended)return v.length===0&&y(this),null;let M,W=v.needReadable;if(V("need readable",W),(v.length===0||v.length-g0?p(g,v):null,M===null?(v.needReadable=v.length<=v.highWaterMark,g=0):(v.length-=g,v.multiAwaitDrain?v.awaitDrainWriters.clear():v.awaitDrainWriters=null),v.length===0&&(v.ended||(v.needReadable=!0),k!==g&&v.ended&&y(this)),M!==null&&!v.errorEmitted&&!v.closeEmitted&&(v.dataEmitted=!0,this.emit("data",M)),M},q.prototype._read=function(g){throw new R("_read()")},q.prototype.pipe=function(g,v){let k=this,M=this._readableState;M.pipes.length===1&&(M.multiAwaitDrain||(M.multiAwaitDrain=!0,M.awaitDrainWriters=new d(M.awaitDrainWriters?[M.awaitDrainWriters]:[]))),M.pipes.push(g),V("pipe count=%d opts=%j",M.pipes.length,v);let W=v&&v.end===!1||g===r.stdout||g===r.stderr?_t:at;function J(It,yt){V("onunpipe"),It===k&&yt&&yt.hasUnpiped===!1&&(yt.hasUnpiped=!0,V("cleanup"),g.removeListener("close",kt),g.removeListener("finish",Mt),ot&&g.removeListener("drain",ot),g.removeListener("error",Ot),g.removeListener("unpipe",J),k.removeListener("end",at),k.removeListener("end",_t),k.removeListener("data",wt),vt=!0,ot&&M.awaitDrainWriters&&(!g._writableState||g._writableState.needDrain)&&ot())}function at(){V("onend"),g.end()}M.endEmitted?r.nextTick(W):k.once("end",W),g.on("unpipe",J);let ot,vt=!1;function bt(){vt||(M.pipes.length===1&&M.pipes[0]===g?(V("false write response, pause",0),M.awaitDrainWriters=g,M.multiAwaitDrain=!1):M.pipes.length>1&&M.pipes.includes(g)&&(V("false write response, pause",M.awaitDrainWriters.size),M.awaitDrainWriters.add(g)),k.pause()),ot||(ot=function(It,yt){return function(){let Ct=It._readableState;Ct.awaitDrainWriters===yt?(V("pipeOnDrain",1),Ct.awaitDrainWriters=null):Ct.multiAwaitDrain&&(V("pipeOnDrain",Ct.awaitDrainWriters.size),Ct.awaitDrainWriters.delete(yt)),(!Ct.awaitDrainWriters||Ct.awaitDrainWriters.size===0)&&It.listenerCount("data")&&It.resume()}}(k,g),g.on("drain",ot))}function wt(It){V("ondata");let yt=g.write(It);V("dest.write",yt),yt===!1&&bt()}function Ot(It){if(V("onerror",It),_t(),g.removeListener("error",Ot),g.listenerCount("error")===0){let yt=g._writableState||g._readableState;yt&&!yt.errorEmitted?G(g,It):g.emit("error",It)}}function kt(){g.removeListener("finish",Mt),_t()}function Mt(){V("onfinish"),g.removeListener("close",kt),_t()}function _t(){V("unpipe"),k.unpipe(g)}return k.on("data",wt),S(g,"error",Ot),g.once("close",kt),g.once("finish",Mt),g.emit("pipe",k),g.writableNeedDrain===!0?M.flowing&&bt():M.flowing||(V("pipe resume"),k.resume()),g},q.prototype.unpipe=function(g){let v=this._readableState;if(v.pipes.length===0)return this;if(!g){let M=v.pipes;v.pipes=[],this.pause();for(let W=0;W0,M.flowing!==!1&&this.resume()):g==="readable"&&!M.endEmitted&&!M.readableListening&&(M.readableListening=M.needReadable=!0,M.flowing=!1,M.emittedReadable=!1,V("on readable",M.length,M.reading),M.length?pt(this):M.reading||r.nextTick(L,this)),k},q.prototype.addListener=q.prototype.on,q.prototype.removeListener=function(g,v){let k=_.prototype.removeListener.call(this,g,v);return g==="readable"&&r.nextTick(dt,this),k},q.prototype.off=q.prototype.removeListener,q.prototype.removeAllListeners=function(g){let v=_.prototype.removeAllListeners.apply(this,arguments);return(g==="readable"||g===void 0)&&r.nextTick(dt,this),v},q.prototype.resume=function(){let g=this._readableState;return g.flowing||(V("resume"),g.flowing=!g.readableListening,function(v,k){k.resumeScheduled||(k.resumeScheduled=!0,r.nextTick(A,v,k))}(this,g)),g[N]=!1,this},q.prototype.pause=function(){return V("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(V("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[N]=!0,this},q.prototype.wrap=function(g){let v=!1;g.on("data",M=>{!this.push(M)&&g.pause&&(v=!0,g.pause())}),g.on("end",()=>{this.push(null)}),g.on("error",M=>{G(this,M)}),g.on("close",()=>{this.destroy()}),g.on("destroy",()=>{this.destroy()}),this._read=()=>{v&&g.resume&&(v=!1,g.resume())};let k=a(g);for(let M=1;M{ct(),ft(),ht();var r=dn(),{ArrayPrototypeSlice:n,Error:l,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:s,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:u,Symbol:c,SymbolHasInstance:d}=te();e.exports=$,$.WritableState=j;var{EventEmitter:f}=(Nn(),Dt(gn)),m=Bl().Stream,{Buffer:b}=(oe(),Dt(ie)),_=Un(),{addAbortSignal:S}=Bo(),{getHighWaterMark:U,getDefaultHighWaterMark:D}=Ml(),{ERR_INVALID_ARG_TYPE:K,ERR_METHOD_NOT_IMPLEMENTED:V,ERR_MULTIPLE_CALLBACK:Y,ERR_STREAM_CANNOT_PIPE:P,ERR_STREAM_DESTROYED:I,ERR_STREAM_ALREADY_FINISHED:E,ERR_STREAM_NULL_VALUES:w,ERR_STREAM_WRITE_AFTER_END:B,ERR_UNKNOWN_ENCODING:R}=ve().codes,{errorOrDestroy:rt}=_;function st(){}a($.prototype,m.prototype),a($,m);var X=c("kOnFinished");function j(A,F,h){typeof h!="boolean"&&(h=F instanceof pr()),this.objectMode=!(!A||!A.objectMode),h&&(this.objectMode=this.objectMode||!(!A||!A.writableObjectMode)),this.highWaterMark=A?U(this,A,"writableHighWaterMark",h):D(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let p=!(!A||A.decodeStrings!==!1);this.decodeStrings=!p,this.defaultEncoding=A&&A.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=T.bind(void 0,F),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,N(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!A||A.emitClose!==!1,this.autoDestroy=!A||A.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[X]=[]}function N(A){A.buffered=[],A.bufferedIndex=0,A.allBuffers=!0,A.allNoop=!0}function $(A){let F=this instanceof pr();if(!F&&!o($,this))return new $(A);this._writableState=new j(A,this,F),A&&(typeof A.write=="function"&&(this._write=A.write),typeof A.writev=="function"&&(this._writev=A.writev),typeof A.destroy=="function"&&(this._destroy=A.destroy),typeof A.final=="function"&&(this._final=A.final),typeof A.construct=="function"&&(this._construct=A.construct),A.signal&&S(A.signal,this)),m.call(this,A),_.construct(this,()=>{let h=this._writableState;h.writing||lt(this,h),H(this,h)})}function nt(A,F,h,p){let y,O=A._writableState;if(typeof h=="function")p=h,h=O.defaultEncoding;else{if(h){if(h!=="buffer"&&!b.isEncoding(h))throw new R(h)}else h=O.defaultEncoding;typeof p!="function"&&(p=st)}if(F===null)throw new w;if(!O.objectMode)if(typeof F=="string")O.decodeStrings!==!1&&(F=b.from(F,h),h="buffer");else if(F instanceof b)h="buffer";else{if(!m._isUint8Array(F))throw new K("chunk",["string","Buffer","Uint8Array"],F);F=m._uint8ArrayToBuffer(F),h="buffer"}return O.ending?y=new B:O.destroyed&&(y=new I("write")),y?(r.nextTick(p,y),rt(A,y,!0),y):(O.pendingcb++,function(x,C,g,v,k){let M=C.objectMode?1:g.length;C.length+=M;let W=C.lengthh.bufferedIndex&<(A,h),p?h.afterWriteTickInfo!==null&&h.afterWriteTickInfo.cb===y?h.afterWriteTickInfo.count++:(h.afterWriteTickInfo={count:1,cb:y,stream:A,state:h},r.nextTick(q,h.afterWriteTickInfo)):tt(A,h,1,y))):rt(A,new Y)}function q({stream:A,state:F,count:h,cb:p}){return F.afterWriteTickInfo=null,tt(A,F,h,p)}function tt(A,F,h,p){for(!F.ending&&!A.destroyed&&F.length===0&&F.needDrain&&(F.needDrain=!1,A.emit("drain"));h-- >0;)F.pendingcb--,p();F.destroyed&&it(F),H(A,F)}function it(A){if(A.writing)return;for(let y=A.bufferedIndex;y1&&A._writev){F.pendingcb-=O-1;let C=F.allNoop?st:v=>{for(let k=x;k256?(h.splice(0,x),F.bufferedIndex=0):F.bufferedIndex=x}F.bufferProcessing=!1}function ut(A){return A.ending&&!A.destroyed&&A.constructed&&A.length===0&&!A.errored&&A.buffered.length===0&&!A.finished&&!A.writing&&!A.errorEmitted&&!A.closeEmitted}function pt(A,F){!F.prefinished&&!F.finalCalled&&(typeof A._final!="function"||F.destroyed?(F.prefinished=!0,A.emit("prefinish")):(F.finalCalled=!0,function(h,p){let y=!1;function O(x){if(y)rt(h,x??Y());else if(y=!0,p.pendingcb--,x){let C=p[X].splice(0);for(let g=0;g{ut(y)?et(p,y):y.pendingcb--},A,F)):ut(F)&&(F.pendingcb++,et(A,F))))}function et(A,F){F.pendingcb--,F.finished=!0;let h=F[X].splice(0);for(let p=0;p{ct(),ft(),ht();var r=dn(),n=(oe(),Dt(ie)),{isReadable:l,isWritable:o,isIterable:s,isNodeStream:i,isReadableNodeStream:a,isWritableNodeStream:u,isDuplexNodeStream:c}=yr(),d=Fr(),{AbortError:f,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:b}}=ve(),{destroyer:_}=Un(),S=pr(),U=Lo(),{createDeferredPromise:D}=fr(),K=_p(),V=globalThis.Blob||n.Blob,Y=typeof V<"u"?function(B){return B instanceof V}:function(B){return!1},P=globalThis.AbortController||Pl().AbortController,{FunctionPrototypeCall:I}=te(),E=class extends S{constructor(B){super(B),(B==null?void 0:B.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(B==null?void 0:B.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};function w(B){let R,rt,st,X,j,N=B.readable&&typeof B.readable.read!="function"?U.wrap(B.readable):B.readable,$=B.writable,nt=!!l(N),Q=!!o($);function G(T){let q=X;X=null,q?q(T):T&&j.destroy(T)}return j=new E({readableObjectMode:!(N==null||!N.readableObjectMode),writableObjectMode:!($==null||!$.writableObjectMode),readable:nt,writable:Q}),Q&&(d($,T=>{Q=!1,T&&_(N,T),G(T)}),j._write=function(T,q,tt){$.write(T,q)?tt():R=tt},j._final=function(T){$.end(),rt=T},$.on("drain",function(){if(R){let T=R;R=null,T()}}),$.on("finish",function(){if(rt){let T=rt;rt=null,T()}})),nt&&(d(N,T=>{nt=!1,T&&_(N,T),G(T)}),N.on("readable",function(){if(st){let T=st;st=null,T()}}),N.on("end",function(){j.push(null)}),j._read=function(){for(;;){let T=N.read();if(T===null)return void(st=j._read);if(!j.push(T))return}}),j._destroy=function(T,q){!T&&X!==null&&(T=new f),st=null,R=null,rt=null,X===null?q(T):(X=q,_($,T),_(N,T))},j}e.exports=function B(R,rt){if(c(R))return R;if(a(R))return w({readable:R});if(u(R))return w({writable:R});if(i(R))return w({writable:!1,readable:!1});if(typeof R=="function"){let{value:X,write:j,final:N,destroy:$}=function(Q){let{promise:G,resolve:T}=D(),q=new P,tt=q.signal;return{value:Q(async function*(){for(;;){let it=G;G=null;let{chunk:lt,done:ut,cb:pt}=await it;if(r.nextTick(pt),ut)return;if(tt.aborted)throw new f(void 0,{cause:tt.reason});({promise:G,resolve:T}=D()),yield lt}}(),{signal:tt}),write(it,lt,ut){let pt=T;T=null,pt({chunk:it,done:!1,cb:ut})},final(it){let lt=T;T=null,lt({done:!0,cb:it})},destroy(it,lt){q.abort(),lt(it)}}}(R);if(s(X))return K(E,X,{objectMode:!0,write:j,final:N,destroy:$});let nt=X==null?void 0:X.then;if(typeof nt=="function"){let Q,G=I(nt,X,T=>{if(T!=null)throw new b("nully","body",T)},T=>{_(Q,T)});return Q=new E({objectMode:!0,readable:!1,write:j,final(T){N(async()=>{try{await G,r.nextTick(T,null)}catch(q){r.nextTick(T,q)}})},destroy:$})}throw new b("Iterable, AsyncIterable or AsyncFunction",rt,X)}if(Y(R))return B(R.arrayBuffer());if(s(R))return K(E,R,{objectMode:!0,writable:!1});if(typeof(R==null?void 0:R.writable)=="object"||typeof(R==null?void 0:R.readable)=="object")return w({readable:R!=null&&R.readable?a(R==null?void 0:R.readable)?R==null?void 0:R.readable:B(R.readable):void 0,writable:R!=null&&R.writable?u(R==null?void 0:R.writable)?R==null?void 0:R.writable:B(R.writable):void 0});let st=R==null?void 0:R.then;if(typeof st=="function"){let X;return I(st,R,j=>{j!=null&&X.push(j),X.push(null)},j=>{_(X,j)}),X=new E({objectMode:!0,writable:!1,read(){}})}throw new m(rt,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],R)}}),pr=mt((t,e)=>{ct(),ft(),ht();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:n,ObjectKeys:l,ObjectSetPrototypeOf:o}=te();e.exports=c;var s,i,a=Lo(),u=Ep();o(c.prototype,a.prototype),o(c,a);{let f=l(u.prototype);for(let m=0;m{ct(),ft(),ht();var{ObjectSetPrototypeOf:r,Symbol:n}=te();e.exports=a;var{ERR_METHOD_NOT_IMPLEMENTED:l}=ve().codes,o=pr(),{getHighWaterMark:s}=Ml();r(a.prototype,o.prototype),r(a,o);var i=n("kCallback");function a(d){if(!(this instanceof a))return new a(d);let f=d?s(this,d,"readableHighWaterMark",!0):null;f===0&&(d={...d,highWaterMark:null,readableHighWaterMark:f,writableHighWaterMark:d.writableHighWaterMark||0}),o.call(this,d),this._readableState.sync=!1,this[i]=null,d&&(typeof d.transform=="function"&&(this._transform=d.transform),typeof d.flush=="function"&&(this._flush=d.flush)),this.on("prefinish",c)}function u(d){typeof this._flush!="function"||this.destroyed?(this.push(null),d&&d()):this._flush((f,m)=>{f?d?d(f):this.destroy(f):(m!=null&&this.push(m),this.push(null),d&&d())})}function c(){this._final!==u&&u.call(this)}a.prototype._final=u,a.prototype._transform=function(d,f,m){throw new l("_transform()")},a.prototype._write=function(d,f,m){let b=this._readableState,_=this._writableState,S=b.length;this._transform(d,f,(U,D)=>{U?m(U):(D!=null&&this.push(D),_.ended||S===b.length||b.length{ct(),ft(),ht();var{ObjectSetPrototypeOf:r}=te();e.exports=l;var n=Sp();function l(o){if(!(this instanceof l))return new l(o);n.call(this,o)}r(l.prototype,n.prototype),r(l,n),l.prototype._transform=function(o,s,i){i(null,o)}}),Ul=mt((t,e)=>{ct(),ft(),ht();var r,n,l=dn(),{ArrayIsArray:o,Promise:s,SymbolAsyncIterator:i}=te(),a=Fr(),{once:u}=fr(),c=Un(),d=pr(),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:b,ERR_MISSING_ARGS:_,ERR_STREAM_DESTROYED:S,ERR_STREAM_PREMATURE_CLOSE:U},AbortError:D}=ve(),{validateFunction:K,validateAbortSignal:V}=Po(),{isIterable:Y,isReadable:P,isReadableNodeStream:I,isNodeStream:E,isTransformStream:w,isWebStream:B,isReadableStream:R,isReadableEnded:rt}=yr(),st=globalThis.AbortController||Pl().AbortController;function X(G,T,q){let tt=!1;return G.on("close",()=>{tt=!0}),{destroy:it=>{tt||(tt=!0,c.destroyer(G,it||new S("pipe")))},cleanup:a(G,{readable:T,writable:q},it=>{tt=!it})}}function j(G){if(Y(G))return G;if(I(G))return async function*(T){n||(n=Lo()),yield*n.prototype[i].call(T)}(G);throw new m("val",["Readable","Iterable","AsyncIterable"],G)}async function N(G,T,q,{end:tt}){let it,lt=null,ut=et=>{if(et&&(it=et),lt){let Z=lt;lt=null,Z()}},pt=()=>new s((et,Z)=>{it?Z(it):lt=()=>{it?Z(it):et()}});T.on("drain",ut);let H=a(T,{readable:!1},ut);try{T.writableNeedDrain&&await pt();for await(let et of G)T.write(et)||await pt();tt&&T.end(),await pt(),q()}catch(et){q(it!==et?f(it,et):et)}finally{H(),T.off("drain",ut)}}async function $(G,T,q,{end:tt}){w(T)&&(T=T.writable);let it=T.getWriter();try{for await(let lt of G)await it.ready,it.write(lt).catch(()=>{});await it.ready,tt&&await it.close(),q()}catch(lt){try{await it.abort(lt),q(lt)}catch(ut){q(ut)}}}function nt(G,T,q){if(G.length===1&&o(G[0])&&(G=G[0]),G.length<2)throw new _("streams");let tt=new st,it=tt.signal,lt=q==null?void 0:q.signal,ut=[];function pt(){F(new D)}V(lt,"options.signal"),lt==null||lt.addEventListener("abort",pt);let H,et,Z,dt=[],L=0;function A(y){F(y,--L==0)}function F(y,O){if(y&&(!H||H.code==="ERR_STREAM_PREMATURE_CLOSE")&&(H=y),H||O){for(;dt.length;)dt.shift()(H);lt==null||lt.removeEventListener("abort",pt),tt.abort(),O&&(H||ut.forEach(x=>x()),l.nextTick(T,H,et))}}for(let y=0;y0,g=x||(q==null?void 0:q.end)!==!1,v=y===G.length-1;if(E(O)){let k=function(M){M&&M.name!=="AbortError"&&M.code!=="ERR_STREAM_PREMATURE_CLOSE"&&A(M)};if(g){let{destroy:M,cleanup:W}=X(O,x,C);dt.push(M),P(O)&&v&&ut.push(W)}O.on("error",k),P(O)&&v&&ut.push(()=>{O.removeListener("error",k)})}if(y===0)if(typeof O=="function"){if(Z=O({signal:it}),!Y(Z))throw new b("Iterable, AsyncIterable or Stream","source",Z)}else Z=Y(O)||I(O)||w(O)?O:d.from(O);else if(typeof O=="function"){var h;if(w(Z)?Z=j((h=Z)===null||h===void 0?void 0:h.readable):Z=j(Z),Z=O(Z,{signal:it}),x){if(!Y(Z,!0))throw new b("AsyncIterable",`transform[${y-1}]`,Z)}else{var p;r||(r=Ap());let k=new r({objectMode:!0}),M=(p=Z)===null||p===void 0?void 0:p.then;if(typeof M=="function")L++,M.call(Z,at=>{et=at,at!=null&&k.write(at),g&&k.end(),l.nextTick(A)},at=>{k.destroy(at),l.nextTick(A,at)});else if(Y(Z,!0))L++,N(Z,k,A,{end:g});else{if(!R(Z)&&!w(Z))throw new b("AsyncIterable or Promise","destination",Z);{let at=Z.readable||Z;L++,N(at,k,A,{end:g})}}Z=k;let{destroy:W,cleanup:J}=X(Z,!1,!0);dt.push(W),v&&ut.push(J)}}else if(E(O)){if(I(Z)){L+=2;let k=Q(Z,O,A,{end:g});P(O)&&v&&ut.push(k)}else if(w(Z)||R(Z)){let k=Z.readable||Z;L++,N(k,O,A,{end:g})}else{if(!Y(Z))throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);L++,N(Z,O,A,{end:g})}Z=O}else if(B(O)){if(I(Z))L++,$(j(Z),O,A,{end:g});else if(R(Z)||Y(Z))L++,$(Z,O,A,{end:g});else{if(!w(Z))throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);L++,$(Z.readable,O,A,{end:g})}Z=O}else Z=d.from(O)}return(it!=null&&it.aborted||lt!=null&<.aborted)&&l.nextTick(pt),Z}function Q(G,T,q,{end:tt}){let it=!1;if(T.on("close",()=>{it||q(new U)}),G.pipe(T,{end:!1}),tt){let lt=function(){it=!0,T.end()};rt(G)?l.nextTick(lt):G.once("end",lt)}else q();return a(G,{readable:!0,writable:!1},lt=>{let ut=G._readableState;lt&<.code==="ERR_STREAM_PREMATURE_CLOSE"&&ut&&ut.ended&&!ut.errored&&!ut.errorEmitted?G.once("end",q).once("error",q):q(lt)}),a(T,{readable:!1,writable:!0},q)}e.exports={pipelineImpl:nt,pipeline:function(...G){return nt(G,u(function(T){return K(T[T.length-1],"streams[stream.length - 1]"),T.pop()}(G)))}}}),kp=mt((t,e)=>{ct(),ft(),ht();var{pipeline:r}=Ul(),n=pr(),{destroyer:l}=Un(),{isNodeStream:o,isReadable:s,isWritable:i,isWebStream:a,isTransformStream:u,isWritableStream:c,isReadableStream:d}=yr(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:m,ERR_MISSING_ARGS:b}}=ve(),_=Fr();e.exports=function(...S){if(S.length===0)throw new b("streams");if(S.length===1)return n.from(S[0]);let U,D,K,V,Y,P=[...S];if(typeof S[0]=="function"&&(S[0]=n.from(S[0])),typeof S[S.length-1]=="function"){let R=S.length-1;S[R]=n.from(S[R])}for(let R=0;R0&&!(i(S[R])||c(S[R])||u(S[R])))throw new m(`streams[${R}]`,P[R],"must be writable")}let I=S[0],E=r(S,function(R){let rt=V;V=null,rt?rt(R):R?Y.destroy(R):!B&&!w&&Y.destroy()}),w=!!(i(I)||c(I)||u(I)),B=!!(s(E)||d(E)||u(E));if(Y=new n({writableObjectMode:!(I==null||!I.writableObjectMode),readableObjectMode:!(E==null||!E.writableObjectMode),writable:w,readable:B}),w){if(o(I))Y._write=function(rt,st,X){I.write(rt,st)?X():U=X},Y._final=function(rt){I.end(),D=rt},I.on("drain",function(){if(U){let rt=U;U=null,rt()}});else if(a(I)){let rt=(u(I)?I.writable:I).getWriter();Y._write=async function(st,X,j){try{await rt.ready,rt.write(st).catch(()=>{}),j()}catch(N){j(N)}},Y._final=async function(st){try{await rt.ready,rt.close().catch(()=>{}),D=st}catch(X){st(X)}}}let R=u(E)?E.readable:E;_(R,()=>{if(D){let rt=D;D=null,rt()}})}if(B){if(o(E))E.on("readable",function(){if(K){let R=K;K=null,R()}}),E.on("end",function(){Y.push(null)}),Y._read=function(){for(;;){let R=E.read();if(R===null)return void(K=Y._read);if(!Y.push(R))return}};else if(a(E)){let R=(u(E)?E.readable:E).getReader();Y._read=async function(){for(;;)try{let{value:rt,done:st}=await R.read();if(!Y.push(rt))return;if(st)return void Y.push(null)}catch{return}}}}return Y._destroy=function(R,rt){!R&&V!==null&&(R=new f),K=null,U=null,D=null,V===null?rt(R):(V=rt,o(E)&&l(E,R))},Y}}),A0=mt((t,e)=>{ct(),ft(),ht();var r=globalThis.AbortController||Pl().AbortController,{codes:{ERR_INVALID_ARG_VALUE:n,ERR_INVALID_ARG_TYPE:l,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:s},AbortError:i}=ve(),{validateAbortSignal:a,validateInteger:u,validateObject:c}=Po(),d=te().Symbol("kWeak"),{finished:f}=Fr(),m=kp(),{addAbortSignalNoValidate:b}=Bo(),{isWritable:_,isNodeStream:S}=yr(),{ArrayPrototypePush:U,MathFloor:D,Number:K,NumberIsNaN:V,Promise:Y,PromiseReject:P,PromisePrototypeThen:I,Symbol:E}=te(),w=E("kEmpty"),B=E("kEof");function R(N,$){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);$!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal");let nt=1;return($==null?void 0:$.concurrency)!=null&&(nt=D($.concurrency)),u(nt,"concurrency",1),(async function*(){var Q,G;let T=new r,q=this,tt=[],it=T.signal,lt={signal:it},ut=()=>T.abort();$!=null&&(Q=$.signal)!==null&&Q!==void 0&&Q.aborted&&ut(),$==null||(G=$.signal)===null||G===void 0||G.addEventListener("abort",ut);let pt,H,et=!1;function Z(){et=!0}(async function(){try{for await(let A of q){var dt;if(et)return;if(it.aborted)throw new i;try{A=N(A,lt)}catch(F){A=P(F)}A!==w&&(typeof((dt=A)===null||dt===void 0?void 0:dt.catch)=="function"&&A.catch(Z),tt.push(A),pt&&(pt(),pt=null),!et&&tt.length&&tt.length>=nt&&await new Y(F=>{H=F}))}tt.push(B)}catch(A){let F=P(A);I(F,void 0,Z),tt.push(F)}finally{var L;et=!0,pt&&(pt(),pt=null),$==null||(L=$.signal)===null||L===void 0||L.removeEventListener("abort",ut)}})();try{for(;;){for(;tt.length>0;){let dt=await tt[0];if(dt===B)return;if(it.aborted)throw new i;dt!==w&&(yield dt),tt.shift(),H&&(H(),H=null)}await new Y(dt=>{pt=dt})}}finally{T.abort(),et=!0,H&&(H(),H=null)}}).call(this)}async function rt(N,$=void 0){for await(let nt of st.call(this,N,$))return!0;return!1}function st(N,$){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return R.call(this,async function(nt,Q){return await N(nt,Q)?nt:w},$)}var X=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};function j(N){if(N=K(N),V(N))return 0;if(N<0)throw new s("number",">= 0",N);return N}e.exports.streamReturningOperators={asIndexedPairs:function(N=void 0){return N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal"),(async function*(){let $=0;for await(let Q of this){var nt;if(N!=null&&(nt=N.signal)!==null&&nt!==void 0&&nt.aborted)throw new i({cause:N.signal.reason});yield[$++,Q]}}).call(this)},drop:function(N,$=void 0){return $!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal"),N=j(N),(async function*(){var nt;if($!=null&&(nt=$.signal)!==null&&nt!==void 0&&nt.aborted)throw new i;for await(let G of this){var Q;if($!=null&&(Q=$.signal)!==null&&Q!==void 0&&Q.aborted)throw new i;N--<=0&&(yield G)}}).call(this)},filter:st,flatMap:function(N,$){let nt=R.call(this,N,$);return(async function*(){for await(let Q of nt)yield*Q}).call(this)},map:R,take:function(N,$=void 0){return $!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal"),N=j(N),(async function*(){var nt;if($!=null&&(nt=$.signal)!==null&&nt!==void 0&&nt.aborted)throw new i;for await(let G of this){var Q;if($!=null&&(Q=$.signal)!==null&&Q!==void 0&&Q.aborted)throw new i;if(!(N-- >0))return;yield G}}).call(this)},compose:function(N,$){if($!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal"),S(N)&&!_(N))throw new n("stream",N,"must be writable");let nt=m(this,N);return $!=null&&$.signal&&b($.signal,nt),nt}},e.exports.promiseReturningOperators={every:async function(N,$=void 0){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return!await rt.call(this,async(...nt)=>!await N(...nt),$)},forEach:async function(N,$){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);for await(let nt of R.call(this,async function(Q,G){return await N(Q,G),w},$));},reduce:async function(N,$,nt){var Q;if(typeof N!="function")throw new l("reducer",["Function","AsyncFunction"],N);nt!=null&&c(nt,"options"),(nt==null?void 0:nt.signal)!=null&&a(nt.signal,"options.signal");let G=arguments.length>1;if(nt!=null&&(Q=nt.signal)!==null&&Q!==void 0&&Q.aborted){let lt=new i(void 0,{cause:nt.signal.reason});throw this.once("error",()=>{}),await f(this.destroy(lt)),lt}let T=new r,q=T.signal;if(nt!=null&&nt.signal){let lt={once:!0,[d]:this};nt.signal.addEventListener("abort",()=>T.abort(),lt)}let tt=!1;try{for await(let lt of this){var it;if(tt=!0,nt!=null&&(it=nt.signal)!==null&&it!==void 0&&it.aborted)throw new i;G?$=await N($,lt,{signal:q}):($=lt,G=!0)}if(!tt&&!G)throw new X}finally{T.abort()}return $},toArray:async function(N){N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal");let $=[];for await(let Q of this){var nt;if(N!=null&&(nt=N.signal)!==null&&nt!==void 0&&nt.aborted)throw new i(void 0,{cause:N.signal.reason});U($,Q)}return $},some:rt,find:async function(N,$){for await(let nt of st.call(this,N,$))return nt}}}),Ip=mt((t,e)=>{ct(),ft(),ht();var{ArrayPrototypePop:r,Promise:n}=te(),{isIterable:l,isNodeStream:o,isWebStream:s}=yr(),{pipelineImpl:i}=Ul(),{finished:a}=Fr();Tp(),e.exports={finished:a,pipeline:function(...u){return new n((c,d)=>{let f,m,b=u[u.length-1];if(b&&typeof b=="object"&&!o(b)&&!l(b)&&!s(b)){let _=r(u);f=_.signal,m=_.end}i(u,(_,S)=>{_?d(_):c(S)},{signal:f,end:m})})}}}),Tp=mt((t,e)=>{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),{ObjectDefineProperty:n,ObjectKeys:l,ReflectApply:o}=te(),{promisify:{custom:s}}=fr(),{streamReturningOperators:i,promiseReturningOperators:a}=A0(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=ve(),c=kp(),{pipeline:d}=Ul(),{destroyer:f}=Un(),m=Fr(),b=Ip(),_=yr(),S=e.exports=Bl().Stream;S.isDisturbed=_.isDisturbed,S.isErrored=_.isErrored,S.isReadable=_.isReadable,S.Readable=Lo();for(let D of l(i)){let K=function(...Y){if(new.target)throw u();return S.Readable.from(o(V,this,Y))},V=i[D];n(K,"name",{__proto__:null,value:V.name}),n(K,"length",{__proto__:null,value:V.length}),n(S.Readable.prototype,D,{__proto__:null,value:K,enumerable:!1,configurable:!0,writable:!0})}for(let D of l(a)){let K=function(...Y){if(new.target)throw u();return o(V,this,Y)},V=a[D];n(K,"name",{__proto__:null,value:V.name}),n(K,"length",{__proto__:null,value:V.length}),n(S.Readable.prototype,D,{__proto__:null,value:K,enumerable:!1,configurable:!0,writable:!0})}S.Writable=Ep(),S.Duplex=pr(),S.Transform=Sp(),S.PassThrough=Ap(),S.pipeline=d;var{addAbortSignal:U}=Bo();S.addAbortSignal=U,S.finished=m,S.destroy=f,S.compose=c,n(S,"promises",{__proto__:null,configurable:!0,enumerable:!0,get:()=>b}),n(d,s,{__proto__:null,enumerable:!0,get:()=>b.pipeline}),n(m,s,{__proto__:null,enumerable:!0,get:()=>b.finished}),S.Stream=S,S._isUint8Array=function(D){return D instanceof Uint8Array},S._uint8ArrayToBuffer=function(D){return r.from(D.buffer,D.byteOffset,D.byteLength)}}),mn=mt((t,e)=>{ct(),ft(),ht();var r=Tp(),n=Ip(),l=r.Readable.destroy;e.exports=r.Readable,e.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,e.exports._isUint8Array=r._isUint8Array,e.exports.isDisturbed=r.isDisturbed,e.exports.isErrored=r.isErrored,e.exports.isReadable=r.isReadable,e.exports.Readable=r.Readable,e.exports.Writable=r.Writable,e.exports.Duplex=r.Duplex,e.exports.Transform=r.Transform,e.exports.PassThrough=r.PassThrough,e.exports.addAbortSignal=r.addAbortSignal,e.exports.finished=r.finished,e.exports.destroy=r.destroy,e.exports.destroy=l,e.exports.pipeline=r.pipeline,e.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get:()=>n}),e.exports.Stream=r.Stream,e.exports.default=e.exports}),k0=mt((t,e)=>{ct(),ft(),ht(),typeof Object.create=="function"?e.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(r,n){if(n){r.super_=n;var l=function(){};l.prototype=n.prototype,r.prototype=new l,r.prototype.constructor=r}}}),I0=mt((t,e)=>{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),n=Symbol.for("BufferList");function l(o){if(!(this instanceof l))return new l(o);l._init.call(this,o)}l._init=function(o){Object.defineProperty(this,n,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},l.prototype._new=function(o){return new l(o)},l.prototype._offset=function(o){if(o===0)return[0,0];let s=0;for(let i=0;ithis.length||o<0)return;let s=this._offset(o);return this._bufs[s[0]][s[1]]},l.prototype.slice=function(o,s){return typeof o=="number"&&o<0&&(o+=this.length),typeof s=="number"&&s<0&&(s+=this.length),this.copy(null,0,o,s)},l.prototype.copy=function(o,s,i,a){if((typeof i!="number"||i<0)&&(i=0),(typeof a!="number"||a>this.length)&&(a=this.length),i>=this.length||a<=0)return o||r.alloc(0);let u=!!o,c=this._offset(i),d=a-i,f=d,m=u&&s||0,b=c[1];if(i===0&&a===this.length){if(!u)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let _=0;_S)){this._bufs[_].copy(o,m,b,b+f),m+=S;break}this._bufs[_].copy(o,m,b),m+=S,f-=S,b&&(b=0)}return o.length>m?o.slice(0,m):o},l.prototype.shallowSlice=function(o,s){if(o=o||0,s=typeof s!="number"?this.length:s,o<0&&(o+=this.length),s<0&&(s+=this.length),o===s)return this._new();let i=this._offset(o),a=this._offset(s),u=this._bufs.slice(i[0],a[0]+1);return a[1]===0?u.pop():u[u.length-1]=u[u.length-1].slice(0,a[1]),i[1]!==0&&(u[0]=u[0].slice(i[1])),this._new(u)},l.prototype.toString=function(o,s,i){return this.slice(s,i).toString(o)},l.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;){if(!(o>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},l.prototype.duplicate=function(){let o=this._new();for(let s=0;sthis.length?this.length:s;let a=this._offset(s),u=a[0],c=a[1];for(;u=o.length){let f=d.indexOf(o,c);if(f!==-1)return this._reverseOffset([u,f]);c=d.length-o.length+1}else{let f=this._reverseOffset([u,c]);if(this._match(f,o))return f;c++}c=0}return-1},l.prototype._match=function(o,s){if(this.length-o{ct(),ft(),ht();var r=mn().Duplex,n=k0(),l=I0();function o(s){if(!(this instanceof o))return new o(s);if(typeof s=="function"){this._callback=s;let i=(function(a){this._callback&&(this._callback(a),this._callback=null)}).bind(this);this.on("pipe",function(a){a.on("error",i)}),this.on("unpipe",function(a){a.removeListener("error",i)}),s=null}l._init.call(this,s),r.call(this)}n(o,r),Object.assign(o.prototype,l.prototype),o.prototype._new=function(s){return new o(s)},o.prototype._write=function(s,i,a){this._appendBuffer(s),typeof a=="function"&&a()},o.prototype._read=function(s){if(!this.length)return this.push(null);s=Math.min(s,this.length),this.push(this.slice(0,s)),this.consume(s)},o.prototype.end=function(s){r.prototype.end.call(this,s),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(s,i){this._bufs.length=0,this.length=0,i(s)},o.prototype._isBufferList=function(s){return s instanceof o||s instanceof l||o.isBufferList(s)},o.isBufferList=l.isBufferList,e.exports=o,e.exports.BufferListStream=o,e.exports.BufferList=l}),O0=mt((t,e)=>{ct(),ft(),ht(),e.exports=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}}}),Op=mt((t,e)=>{ct(),ft(),ht();var r=e.exports,{Buffer:n}=(oe(),Dt(ie));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let o in r.requiredHeaderFlags){let s=r.requiredHeaderFlags[o];r.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+s.toString(16)+" for "+r.types[o]+" packet"}r.codes={};for(let o in r.types){let s=r.types[o];r.codes[s]=o}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=n.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=n.from([r.codes.connack<[0,1].map(i=>[0,1].map(a=>{let u=n.alloc(1);return u.writeUInt8(r.codes[o]<n.from([o])),r.EMPTY={pingreq:n.from([r.codes.pingreq<<4,0]),pingresp:n.from([r.codes.pingresp<<4,0]),disconnect:n.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),C0=mt((t,e)=>{ct(),ft(),ht();var r=1e3,n=6e4,l=60*n,o=24*l,s=7*o,i=365.25*o;function a(u,c,d,f){var m=c>=1.5*d;return Math.round(u/d)+" "+f+(m?"s":"")}e.exports=function(u,c){c=c||{};var d=typeof u;if(d==="string"&&u.length>0)return function(f){if(f=String(f),!(f.length>100)){var m=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(m){var b=parseFloat(m[1]);switch((m[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return b*i;case"weeks":case"week":case"w":return b*s;case"days":case"day":case"d":return b*o;case"hours":case"hour":case"hrs":case"hr":case"h":return b*l;case"minutes":case"minute":case"mins":case"min":case"m":return b*n;case"seconds":case"second":case"secs":case"sec":case"s":return b*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return b;default:return}}}}(u);if(d==="number"&&isFinite(u))return c.long?function(f){var m=Math.abs(f);return m>=o?a(f,m,o,"day"):m>=l?a(f,m,l,"hour"):m>=n?a(f,m,n,"minute"):m>=r?a(f,m,r,"second"):f+" ms"}(u):function(f){var m=Math.abs(f);return m>=o?Math.round(f/o)+"d":m>=l?Math.round(f/l)+"h":m>=n?Math.round(f/n)+"m":m>=r?Math.round(f/r)+"s":f+"ms"}(u);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(u))}}),x0=mt((t,e)=>{ct(),ft(),ht(),e.exports=function(r){function n(s){let i,a,u,c=null;function d(...f){if(!d.enabled)return;let m=d,b=Number(new Date),_=b-(i||b);m.diff=_,m.prev=i,m.curr=b,i=b,f[0]=n.coerce(f[0]),typeof f[0]!="string"&&f.unshift("%O");let S=0;f[0]=f[0].replace(/%([a-zA-Z%])/g,(U,D)=>{if(U==="%%")return"%";S++;let K=n.formatters[D];if(typeof K=="function"){let V=f[S];U=K.call(m,V),f.splice(S,1),S--}return U}),n.formatArgs.call(m,f),(m.log||n.log).apply(m,f)}return d.namespace=s,d.useColors=n.useColors(),d.color=n.selectColor(s),d.extend=l,d.destroy=n.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>c!==null?c:(a!==n.namespaces&&(a=n.namespaces,u=n.enabled(s)),u),set:f=>{c=f}}),typeof n.init=="function"&&n.init(d),d}function l(s,i){let a=n(this.namespace+(typeof i>"u"?":":i)+s);return a.log=this.log,a}function o(s){return s.toString().substring(2,s.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(s){return s instanceof Error?s.stack||s.message:s},n.disable=function(){let s=[...n.names.map(o),...n.skips.map(o).map(i=>"-"+i)].join(",");return n.enable(""),s},n.enable=function(s){n.save(s),n.namespaces=s,n.names=[],n.skips=[];let i,a=(typeof s=="string"?s:"").split(/[\s,]+/),u=a.length;for(i=0;i{n[s]=r[s]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(s){let i=0;for(let a=0;a{ct(),ft(),ht(),t.formatArgs=function(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let l="color: "+this.color;n.splice(1,0,l,"color: inherit");let o=0,s=0;n[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(o++,i==="%c"&&(s=o))}),n.splice(s,0,l)},t.save=function(n){try{n?t.storage.setItem("debug",n):t.storage.removeItem("debug")}catch{}},t.load=function(){let n;try{n=t.storage.getItem("debug")}catch{}return!n&&typeof Nt<"u"&&"env"in Nt&&(n=Nt.env.DEBUG),n},t.useColors=function(){return!(!(typeof window<"u"&&window.process)||window.process.type!=="renderer"&&!window.process.__nwjs)||!(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&(typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch{}}(),t.destroy=(()=>{let n=!1;return()=>{n||(n=!0)}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=x0()(t);var{formatters:r}=e.exports;r.j=function(n){try{return JSON.stringify(n)}catch(l){return"[UnexpectedJSONParseError]: "+l.message}}}),R0=mt((t,e)=>{ct(),ft(),ht();var r=T0(),{EventEmitter:n}=(Nn(),Dt(gn)),l=O0(),o=Op(),s=dr()("mqtt-packet:parser");e.exports=class Va extends n{constructor(){super(),this.parser=this.constructor.parser}static parser(a){return this instanceof Va?(this.settings=a||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Va().parser(a)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new l,this.error=null,this._list=r(),this._stateCounter=0}parse(a){for(this.error&&this._resetState(),this._list.append(a),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let a=this._list.readUInt8(0),u=a>>o.CMD_SHIFT;this.packet.cmd=o.types[u];let c=15&a,d=o.requiredHeaderFlags[u];return d!=null&&c!==d?this._emitError(new Error(o.requiredHeaderFlagsErrors[u])):(this.packet.retain=!!(a&o.RETAIN_MASK),this.packet.qos=a>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=!!(a&o.DUP_MASK),s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let a=this._parseVarByteNum(!0);return a&&(this.packet.length=a.value,this._list.consume(a.bytes)),s("_parseLength %d",a.value),!!a}_parsePayload(){s("_parsePayload: payload %O",this._list);let a=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}a=!0}return s("_parsePayload complete result: %s",a),a}_parseConnect(){s("_parseConnect");let a,u,c,d,f={},m=this.packet,b=this._parseString();if(b===null)return this._emitError(new Error("Cannot parse protocolId"));if(b!=="MQTT"&&b!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(m.protocolId=b,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(m.protocolVersion=this._list.readUInt8(this._pos),m.protocolVersion>=128&&(m.bridgeMode=!0,m.protocolVersion=m.protocolVersion-128),m.protocolVersion!==3&&m.protocolVersion!==4&&m.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(1&this._list.readUInt8(this._pos))return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));f.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,f.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,f.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let _=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(f.will)m.will={},m.will.retain=_,m.will.qos=S;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(m.clean=!!(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK),this._pos++,m.keepalive=this._parseNum(),m.keepalive===-1)return this._emitError(new Error("Packet too short"));if(m.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(m.properties=D)}let U=this._parseString();if(U===null)return this._emitError(new Error("Packet too short"));if(m.clientId=U,s("_parseConnect: packet.clientId: %s",m.clientId),f.will){if(m.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(m.will.properties=D)}if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse will topic"));if(m.will.topic=a,s("_parseConnect: packet.will.topic: %s",m.will.topic),u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse will payload"));m.will.payload=u,s("_parseConnect: packet.will.paylaod: %s",m.will.payload)}if(f.username){if(d=this._parseString(),d===null)return this._emitError(new Error("Cannot parse username"));m.username=d,s("_parseConnect: packet.username: %s",m.username)}if(f.password){if(c=this._parseBuffer(),c===null)return this._emitError(new Error("Cannot parse password"));m.password=c}return this.settings=m,s("_parseConnect: complete"),m}_parseConnack(){s("_parseConnack");let a=this.packet;if(this._list.length<1)return null;let u=this._list.readUInt8(this._pos++);if(u>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(a.sessionPresent=!!(u&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?a.reasonCode=this._list.readUInt8(this._pos++):a.reasonCode=0;else{if(this._list.length<2)return null;a.returnCode=this._list.readUInt8(this._pos++)}if(a.returnCode===-1||a.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(a.properties=c)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");let a=this.packet;if(a.topic=this._parseString(),a.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(a.qos>0)||this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}a.payload=this._list.slice(this._pos,a.length),s("_parsePublish: payload from buffer list: %o",a.payload)}}_parseSubscribe(){s("_parseSubscribe");let a,u,c,d,f,m,b,_=this.packet;if(_.subscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(_.properties=S)}if(_.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<_.length;){if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=_.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(192&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(252&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(c=u&o.SUBSCRIBE_OPTIONS_QOS_MASK,c>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(m=!!(u>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK),f=!!(u>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK),d=u>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));b={topic:a,qos:c},this.settings.protocolVersion===5?(b.nl=m,b.rap=f,b.rh=d):this.settings.bridgeMode&&(b.rh=0,b.rap=!0,b.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",b),_.subscriptions.push(b)}}}_parseSuback(){s("_parseSuback");let a=this.packet;if(this.packet.granted=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&u!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(u)}}}_parseUnsubscribe(){s("_parseUnsubscribe");let a=this.packet;if(a.unsubscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(a.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"))}s("_parseConfirmation: packet.reasonCode `%d`",a.reasonCode)}else a.reasonCode=0;if(a.length>3){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}}return!0}_parseDisconnect(){let a=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(a.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[a.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):a.reasonCode=0;let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");let a=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(a.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[a.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let u=this._parseProperties();return Object.getOwnPropertyNames(u).length&&(a.properties=u),s("_parseAuth: result: true"),!0}_parseMessageId(){let a=this.packet;return a.messageId=this._parseNum(),a.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",a.messageId),!0)}_parseString(a){let u=this._parseNum(),c=u+this._pos;if(u===-1||c>this._list.length||c>this.packet.length)return null;let d=this._list.toString("utf8",this._pos,c);return this._pos+=u,s("_parseString: result: %s",d),d}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let a=this._parseNum(),u=a+this._pos;if(a===-1||u>this._list.length||u>this.packet.length)return null;let c=this._list.slice(this._pos,u);return this._pos+=a,s("_parseBuffer: result: %o",c),c}_parseNum(){if(this._list.length-this._pos<2)return-1;let a=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",a),a}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let a=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",a),a}_parseVarByteNum(a){s("_parseVarByteNum");let u,c=0,d=1,f=0,m=!1,b=this._pos?this._pos:0;for(;c<4&&b+c=c&&this._emitError(new Error("Invalid variable byte integer")),b&&(this._pos+=c),m=!!m&&(a?{bytes:c,value:f}:f),s("_parseVarByteNum: result: %o",m),m}_parseByte(){let a;return this._pos{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),n={},l=r.isBuffer(r.from([1,2]).subarray(0,1));function o(s){let i=r.allocUnsafe(2);return i.writeUInt8(s>>8,0),i.writeUInt8(255&s,1),i}e.exports={cache:n,generateCache:function(){for(let s=0;s<65536;s++)n[s]=o(s)},generateNumber:o,genBufVariableByteInt:function(s){let i=0,a=0,u=r.allocUnsafe(4);do i=s%128|0,(s=s/128|0)>0&&(i|=128),u.writeUInt8(i,a++);while(s>0&&a<4);return s>0&&(a=0),l?u.subarray(0,a):u.slice(0,a)},generate4ByteBuffer:function(s){let i=r.allocUnsafe(4);return i.writeUInt32BE(s,0),i}}}),B0=mt((t,e)=>{ct(),ft(),ht(),typeof Nt>"u"||!Nt.version||Nt.version.indexOf("v0.")===0||Nt.version.indexOf("v1.")===0&&Nt.version.indexOf("v1.8.")!==0?e.exports={nextTick:function(r,n,l,o){if(typeof r!="function")throw new TypeError('"callback" argument must be a function');var s,i,a=arguments.length;switch(a){case 0:case 1:return Nt.nextTick(r);case 2:return Nt.nextTick(function(){r.call(null,n)});case 3:return Nt.nextTick(function(){r.call(null,n,l)});case 4:return Nt.nextTick(function(){r.call(null,n,l,o)});default:for(s=new Array(a-1),i=0;i{ct(),ft(),ht();var r=Op(),{Buffer:n}=(oe(),Dt(ie)),l=n.allocUnsafe(0),o=n.from([0]),s=P0(),i=B0().nextTick,a=dr()("mqtt-packet:writeToStream"),u=s.cache,c=s.generateNumber,d=s.generateCache,f=s.genBufVariableByteInt,m=s.generate4ByteBuffer,b=P,_=!0;function S(j,N,$){switch(a("generate called"),N.cork&&(N.cork(),i(U,N)),_&&(_=!1,d()),a("generate: packet.cmd: %s",j.cmd),j.cmd){case"connect":return function(nt,Q){let G=nt||{},T=G.protocolId||"MQTT",q=G.protocolVersion||4,tt=G.will,it=G.clean,lt=G.keepalive||0,ut=G.clientId||"",pt=G.username,H=G.password,et=G.properties;it===void 0&&(it=!0);let Z,dt,L=0;if(!T||typeof T!="string"&&!n.isBuffer(T))return Q.destroy(new Error("Invalid protocolId")),!1;if(L+=T.length+2,q!==3&&q!==4&&q!==5)return Q.destroy(new Error("Invalid protocol version")),!1;if(L+=1,(typeof ut=="string"||n.isBuffer(ut))&&(ut||q>=4)&&(ut||it))L+=n.byteLength(ut)+2;else{if(q<4)return Q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(1*it==0)return Q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof lt!="number"||lt<0||lt>65535||lt%1!=0)return Q.destroy(new Error("Invalid keepalive")),!1;if(L+=2,L+=1,q===5){if(Z=w(Q,et),!Z)return!1;L+=Z.length}if(tt){if(typeof tt!="object")return Q.destroy(new Error("Invalid will")),!1;if(!tt.topic||typeof tt.topic!="string")return Q.destroy(new Error("Invalid will topic")),!1;if(L+=n.byteLength(tt.topic)+2,L+=2,tt.payload){if(!(tt.payload.length>=0))return Q.destroy(new Error("Invalid will payload")),!1;typeof tt.payload=="string"?L+=n.byteLength(tt.payload):L+=tt.payload.length}if(dt={},q===5){if(dt=w(Q,tt.properties),!dt)return!1;L+=dt.length}}let A=!1;if(pt!=null){if(!X(pt))return Q.destroy(new Error("Invalid username")),!1;A=!0,L+=n.byteLength(pt)+2}if(H!=null){if(!A)return Q.destroy(new Error("Username is required to use password")),!1;if(!X(H))return Q.destroy(new Error("Invalid password")),!1;L+=st(H)+2}Q.write(r.CONNECT_HEADER),K(Q,L),E(Q,T),G.bridgeMode&&(q+=128),Q.write(q===131?r.VERSION131:q===132?r.VERSION132:q===4?r.VERSION4:q===5?r.VERSION5:r.VERSION3);let F=0;return F|=pt!=null?r.USERNAME_MASK:0,F|=H!=null?r.PASSWORD_MASK:0,F|=tt&&tt.retain?r.WILL_RETAIN_MASK:0,F|=tt&&tt.qos?tt.qos<0&&b(Q,pt),Z==null||Z.write(),a("publish: payload: %o",ut),Q.write(ut)}(j,N,$);case"puback":case"pubrec":case"pubrel":case"pubcomp":return function(nt,Q,G){let T=G?G.protocolVersion:4,q=nt||{},tt=q.cmd||"puback",it=q.messageId,lt=q.dup&&tt==="pubrel"?r.DUP_MASK:0,ut=0,pt=q.reasonCode,H=q.properties,et=T===5?3:2;if(tt==="pubrel"&&(ut=1),typeof it!="number")return Q.destroy(new Error("Invalid messageId")),!1;let Z=null;if(T===5&&typeof H=="object"){if(Z=B(Q,H,G,et),!Z)return!1;et+=Z.length}return Q.write(r.ACKS[tt][ut][lt][0]),et===3&&(et+=pt!==0?1:-1),K(Q,et),b(Q,it),T===5&&et!==2&&Q.write(n.from([pt])),Z!==null?Z.write():et===4&&Q.write(n.from([0])),!0}(j,N,$);case"subscribe":return function(nt,Q,G){a("subscribe: packet: ");let T=G?G.protocolVersion:4,q=nt||{},tt=q.dup?r.DUP_MASK:0,it=q.messageId,lt=q.subscriptions,ut=q.properties,pt=0;if(typeof it!="number")return Q.destroy(new Error("Invalid messageId")),!1;pt+=2;let H=null;if(T===5){if(H=w(Q,ut),!H)return!1;pt+=H.length}if(typeof lt!="object"||!lt.length)return Q.destroy(new Error("Invalid subscriptions")),!1;for(let Z=0;Z2)return Q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}pt+=n.byteLength(dt)+2+1}a("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),Q.write(r.SUBSCRIBE_HEADER[1][tt?1:0][0]),K(Q,pt),b(Q,it),H!==null&&H.write();let et=!0;for(let Z of lt){let dt,L=Z.topic,A=Z.qos,F=+Z.nl,h=+Z.rap,p=Z.rh;V(Q,L),dt=r.SUBSCRIBE_OPTIONS_QOS[A],T===5&&(dt|=F?r.SUBSCRIBE_OPTIONS_NL:0,dt|=h?r.SUBSCRIBE_OPTIONS_RAP:0,dt|=p?r.SUBSCRIBE_OPTIONS_RH[p]:0),et=Q.write(n.from([dt]))}return et}(j,N,$);case"suback":return function(nt,Q,G){let T=G?G.protocolVersion:4,q=nt||{},tt=q.messageId,it=q.granted,lt=q.properties,ut=0;if(typeof tt!="number")return Q.destroy(new Error("Invalid messageId")),!1;if(ut+=2,typeof it!="object"||!it.length)return Q.destroy(new Error("Invalid qos vector")),!1;for(let H=0;Hb===P,set(j){j?((!u||Object.keys(u).length===0)&&(_=!0),b=P):(_=!1,b=I)}});var D={};function K(j,N){if(N>r.VARBYTEINT_MAX)return j.destroy(new Error(`Invalid variable byte integer: ${N}`)),!1;let $=D[N];return $||($=f(N),N<16384&&(D[N]=$)),a("writeVarByteInt: writing to stream: %o",$),j.write($)}function V(j,N){let $=n.byteLength(N);return b(j,$),a("writeString: %s",N),j.write(N,"utf8")}function Y(j,N,$){V(j,N),V(j,$)}function P(j,N){return a("writeNumberCached: number: %d",N),a("writeNumberCached: %o",u[N]),j.write(u[N])}function I(j,N){let $=c(N);return a("writeNumberGenerated: %o",$),j.write($)}function E(j,N){typeof N=="string"?V(j,N):N?(b(j,N.length),j.write(N)):b(j,0)}function w(j,N){if(typeof N!="object"||N.length!=null)return{length:1,write(){rt(j,{},0)}};let $=0;function nt(Q,G){let T=0;switch(r.propertiesTypes[Q]){case"byte":if(typeof G!="boolean")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=2;break;case"int8":if(typeof G!="number"||G<0||G>255)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=2;break;case"binary":if(G&&G===null)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=1+n.byteLength(G)+2;break;case"int16":if(typeof G!="number"||G<0||G>65535)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=3;break;case"int32":if(typeof G!="number"||G<0||G>4294967295)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=5;break;case"var":if(typeof G!="number"||G<0||G>268435455)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=1+n.byteLength(f(G));break;case"string":if(typeof G!="string")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=3+n.byteLength(G.toString());break;case"pair":if(typeof G!="object")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=Object.getOwnPropertyNames(G).reduce((q,tt)=>{let it=G[tt];return Array.isArray(it)?q+=it.reduce((lt,ut)=>lt+=3+n.byteLength(tt.toString())+2+n.byteLength(ut.toString()),0):q+=3+n.byteLength(tt.toString())+2+n.byteLength(G[tt].toString()),q},0);break;default:return j.destroy(new Error(`Invalid property ${Q}: ${G}`)),!1}return T}if(N)for(let Q in N){let G=0,T=0,q=N[Q];if(Array.isArray(q))for(let tt=0;ttG;){let q=Q.shift();if(!q||!N[q])return!1;delete N[q],T=w(j,N)}return T}function R(j,N,$){switch(r.propertiesTypes[N]){case"byte":j.write(n.from([r.properties[N]])),j.write(n.from([+$]));break;case"int8":j.write(n.from([r.properties[N]])),j.write(n.from([$]));break;case"binary":j.write(n.from([r.properties[N]])),E(j,$);break;case"int16":j.write(n.from([r.properties[N]])),b(j,$);break;case"int32":j.write(n.from([r.properties[N]])),function(nt,Q){let G=m(Q);a("write4ByteNumber: %o",G),nt.write(G)}(j,$);break;case"var":j.write(n.from([r.properties[N]])),K(j,$);break;case"string":j.write(n.from([r.properties[N]])),V(j,$);break;case"pair":Object.getOwnPropertyNames($).forEach(nt=>{let Q=$[nt];Array.isArray(Q)?Q.forEach(G=>{j.write(n.from([r.properties[N]])),Y(j,nt.toString(),G.toString())}):(j.write(n.from([r.properties[N]])),Y(j,nt.toString(),Q.toString()))});break;default:return j.destroy(new Error(`Invalid property ${N} value: ${$}`)),!1}}function rt(j,N,$){K(j,$);for(let nt in N)if(Object.prototype.hasOwnProperty.call(N,nt)&&N[nt]!==null){let Q=N[nt];if(Array.isArray(Q))for(let G=0;G{ct(),ft(),ht();var r=Cp(),{EventEmitter:n}=(Nn(),Dt(gn)),{Buffer:l}=(oe(),Dt(ie)),o=class extends n{constructor(){super(),this._array=new Array(20),this._i=0}write(s){return this._array[this._i++]=s,!0}concat(){let s,i=0,a=new Array(this._array.length),u=this._array,c=0;for(s=0;s{ct(),ft(),ht(),t.parser=R0().parser,t.generate=M0(),t.writeToStream=Cp()}),xp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.nextId=Math.max(1,Math.floor(65535*Math.random()))}allocate(){let e=this.nextId++;return this.nextId===65536&&(this.nextId=1),e}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(e){return!0}deallocate(e){}clear(){}}}),j0=mt((t,e)=>{function r(n){return n instanceof ho?ho.from(n):new n.constructor(n.buffer.slice(),n.byteOffset,n.length)}ct(),ft(),ht(),e.exports=function(n){return(n=n||{}).circles?function(o){var s=[],i=[];return o.proto?function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c){var m=c[f];if(typeof m!="object"||m===null)d[f]=m;else if(m instanceof Date)d[f]=new Date(m);else if(m instanceof Map)d[f]=new Map(a(Array.from(m),u));else if(m instanceof Set)d[f]=new Set(a(Array.from(m),u));else if(ArrayBuffer.isView(m))d[f]=r(m);else{var b=s.indexOf(m);d[f]=b!==-1?i[b]:u(m)}}return s.pop(),i.pop(),d}:function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c)if(Object.hasOwnProperty.call(c,f)!==!1){var m=c[f];if(typeof m!="object"||m===null)d[f]=m;else if(m instanceof Date)d[f]=new Date(m);else if(m instanceof Map)d[f]=new Map(a(Array.from(m),u));else if(m instanceof Set)d[f]=new Set(a(Array.from(m),u));else if(ArrayBuffer.isView(m))d[f]=r(m);else{var b=s.indexOf(m);d[f]=b!==-1?i[b]:u(m)}}return s.pop(),i.pop(),d};function a(u,c){for(var d=Object.keys(u),f=new Array(d.length),m=0;m{ct(),ft(),ht(),e.exports=j0()()}),N0=mt(t=>{function e(r){let n=r.split("/");for(let l=0;l{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=mn(),r={objectMode:!0},n={clean:!0};t.default=class{constructor(l){this.options=l||{},this.options=Object.assign(Object.assign({},n),l),this._inflights=new Map}put(l,o){return this._inflights.set(l.messageId,l),o&&o(),this}createStream(){let l=new e.Readable(r),o=[],s=!1,i=0;return this._inflights.forEach((a,u)=>{o.push(a)}),l._read=()=>{!s&&i{if(!s)return s=!0,setTimeout(()=>{l.emit("close")},0),l},l}del(l,o){let s=this._inflights.get(l.messageId);return s?(this._inflights.delete(l.messageId),o(null,s)):o&&o(new Error("missing packet")),this}get(l,o){let s=this._inflights.get(l.messageId);return s?o(null,s):o&&o(new Error("missing packet")),this}close(l){this.options.clean&&(this._inflights=null),l&&l()}}}),D0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=[0,16,128,131,135,144,145,151,153];t.default=(r,n,l)=>{r.log("handlePublish: packet %o",n),l=typeof l<"u"?l:r.noop;let o=n.topic.toString(),s=n.payload,{qos:i}=n,{messageId:a}=n,{options:u}=r;if(r.options.protocolVersion===5){let c;if(n.properties&&(c=n.properties.topicAlias),typeof c<"u")if(o.length===0){if(!(c>0&&c<=65535))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));{let d=r.topicAliasRecv.getTopicByAlias(c);if(!d)return r.log("handlePublish :: unregistered topic alias. alias: %d",c),void r.emit("error",new Error("Received unregistered Topic Alias"));o=d,r.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",o,c)}}else{if(!r.topicAliasRecv.put(o,c))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));r.log("handlePublish :: registered topic: %s - alias: %d",o,c)}}switch(r.log("handlePublish: qos %d",i),i){case 2:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for pubrec")):void(d?r._sendPacket({cmd:"pubrec",messageId:a,reasonCode:d},l):r.incomingStore.put(n,()=>{r._sendPacket({cmd:"pubrec",messageId:a},l)}))));break;case 1:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for puback")):(d||r.emit("message",o,s,n),void r.handleMessage(n,f=>{if(f)return l&&l(f);r._sendPacket({cmd:"puback",messageId:a,reasonCode:d},l)}))));break;case 0:r.emit("message",o,s,n),r.handleMessage(n,l);break;default:r.log("handlePublish: unknown QoS. Doing nothing.")}}}),F0=mt((t,e)=>{e.exports={version:"5.10.3"}}),Dn=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.MQTTJS_VERSION=t.nextTick=t.applyMixin=t.ErrorWithReasonCode=void 0;var e=class Pp extends Error{constructor(n,l){super(n),this.code=l,Object.setPrototypeOf(this,Pp.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};t.ErrorWithReasonCode=e,t.applyMixin=function(r,n,l=!1){var o;let s=[n];for(;;){let i=s[0],a=Object.getPrototypeOf(i);if(!(a!=null&&a.prototype))break;s.unshift(a)}for(let i of s)for(let a of Object.getOwnPropertyNames(i.prototype))(l||a!=="constructor")&&Object.defineProperty(r.prototype,a,(o=Object.getOwnPropertyDescriptor(i.prototype,a))!==null&&o!==void 0?o:Object.create(null))},t.nextTick=typeof(Nt==null?void 0:Nt.nextTick)=="function"?Nt.nextTick:r=>{setTimeout(r,0)},t.MQTTJS_VERSION=F0().version}),jo=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=void 0;var e=Dn();t.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.default=(r,n)=>{let{messageId:l}=n,o=n.cmd,s=null,i=r.outgoing[l]?r.outgoing[l].cb:null,a=null;if(i){switch(r.log("_handleAck :: packet type",o),o){case"pubcomp":case"puback":{let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._removeOutgoingAndStoreMessage(l,i);break}case"pubrec":{s={cmd:"pubrel",qos:2,messageId:l};let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._sendPacket(s);break}case"suback":{delete r.outgoing[l],r.messageIdProvider.deallocate(l);let u=n.granted;for(let c=0;c{delete r._resubscribeTopics[m]})}}delete r.messageIdToTopic[l],r._invokeStoreProcessingQueue(),i(a,n);break}case"unsuback":delete r.outgoing[l],r.messageIdProvider.deallocate(l),r._invokeStoreProcessingQueue(),i(null,n);break;default:r.emit("error",new Error("unrecognized packet type"))}r.disconnecting&&Object.keys(r.outgoing).length===0&&r.emit("outgoingEmpty")}else r.log("_handleAck :: Server sent an ack in error. Ignoring.")}}),W0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=Dn(),r=jo();t.default=(n,l)=>{let{options:o}=n,s=o.protocolVersion,i=s===5?l.reasonCode:l.returnCode;if(s===5)n.handleAuth(l,(a,u)=>{if(a)n.emit("error",a);else if(i===24)n.reconnecting=!1,n._sendPacket(u);else{let c=new e.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[i]}`,i);n.emit("error",c)}});else{let a=new e.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${s}`,i);n.emit("error",a)}}}),$0=mt(t=>{var f,m,b,_,S,U,D,K,V,Y,P,I,E,w,B,R,rt,st,X,j,N,$,nt,Q,G,T,qa,tt,it,lt,ut,Bp,H,et,Z,Ir,Tr,Ha,Ji,Xi,$t,za,Yn,x;ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;var e=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,n=typeof Nt=="object"&&Nt?Nt:{},l=(C,g,v,k)=>{typeof n.emitWarning=="function"&&n.emitWarning(C,g,v,k)},o=globalThis.AbortController,s=globalThis.AbortSignal;if(typeof o>"u"){s=class{constructor(){zt(this,"onabort");zt(this,"_onabort",[]);zt(this,"reason");zt(this,"aborted",!1)}addEventListener(v,k){this._onabort.push(k)}},o=class{constructor(){zt(this,"signal",new s);g()}abort(v){var k,M;if(!this.signal.aborted){this.signal.reason=v,this.signal.aborted=!0;for(let W of this.signal._onabort)W(v);(M=(k=this.signal).onabort)==null||M.call(k,v)}}};let C=((f=n.env)==null?void 0:f.LRU_CACHE_IGNORE_AC_WARNING)!=="1",g=()=>{C&&(C=!1,l("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",g))}}var i=C=>C&&C===Math.floor(C)&&C>0&&isFinite(C),a=C=>i(C)?C<=Math.pow(2,8)?Uint8Array:C<=Math.pow(2,16)?Uint16Array:C<=Math.pow(2,32)?Uint32Array:C<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(C){super(C),this.fill(0)}},c=(m=class{constructor(g,v){zt(this,"heap");zt(this,"length");if(!z(m,b))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new v(g),this.length=0}static create(g){let v=a(g);if(!v)return[];St(m,b,!0);let k=new m(g,v);return St(m,b,!1),k}push(g){this.heap[this.length++]=g}pop(){return this.heap[--this.length]}},b=new WeakMap,Rt(m,b,!1),m),d=(x=class{constructor(g){Rt(this,T);Rt(this,_);Rt(this,S);Rt(this,U);Rt(this,D);Rt(this,K);zt(this,"ttl");zt(this,"ttlResolution");zt(this,"ttlAutopurge");zt(this,"updateAgeOnGet");zt(this,"updateAgeOnHas");zt(this,"allowStale");zt(this,"noDisposeOnSet");zt(this,"noUpdateTTL");zt(this,"maxEntrySize");zt(this,"sizeCalculation");zt(this,"noDeleteOnFetchRejection");zt(this,"noDeleteOnStaleGet");zt(this,"allowStaleOnFetchAbort");zt(this,"allowStaleOnFetchRejection");zt(this,"ignoreFetchAbort");Rt(this,V);Rt(this,Y);Rt(this,P);Rt(this,I);Rt(this,E);Rt(this,w);Rt(this,B);Rt(this,R);Rt(this,rt);Rt(this,st);Rt(this,X);Rt(this,j);Rt(this,N);Rt(this,$);Rt(this,nt);Rt(this,Q);Rt(this,G);Rt(this,tt,()=>{});Rt(this,it,()=>{});Rt(this,lt,()=>{});Rt(this,ut,()=>!1);Rt(this,H,g=>{});Rt(this,et,(g,v,k)=>{});Rt(this,Z,(g,v,k,M)=>{if(k||M)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:v=0,ttl:k,ttlResolution:M=1,ttlAutopurge:W,updateAgeOnGet:J,updateAgeOnHas:at,allowStale:ot,dispose:vt,disposeAfter:bt,noDisposeOnSet:wt,noUpdateTTL:Ot,maxSize:kt=0,maxEntrySize:Mt=0,sizeCalculation:_t,fetchMethod:It,noDeleteOnFetchRejection:yt,noDeleteOnStaleGet:Ct,allowStaleOnFetchRejection:wr,allowStaleOnFetchAbort:Ht,ignoreFetchAbort:Jt}=g;if(v!==0&&!i(v))throw new TypeError("max option must be a nonnegative integer");let Ee=v?a(v):Array;if(!Ee)throw new Error("invalid max value: "+v);if(St(this,_,v),St(this,S,kt),this.maxEntrySize=Mt||z(this,S),this.sizeCalculation=_t,this.sizeCalculation){if(!z(this,S)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(It!==void 0&&typeof It!="function")throw new TypeError("fetchMethod must be a function if specified");if(St(this,K,It),St(this,Q,!!It),St(this,P,new Map),St(this,I,new Array(v).fill(void 0)),St(this,E,new Array(v).fill(void 0)),St(this,w,new Ee(v)),St(this,B,new Ee(v)),St(this,R,0),St(this,rt,0),St(this,st,c.create(v)),St(this,V,0),St(this,Y,0),typeof vt=="function"&&St(this,U,vt),typeof bt=="function"?(St(this,D,bt),St(this,X,[])):(St(this,D,void 0),St(this,X,void 0)),St(this,nt,!!z(this,U)),St(this,G,!!z(this,D)),this.noDisposeOnSet=!!wt,this.noUpdateTTL=!!Ot,this.noDeleteOnFetchRejection=!!yt,this.allowStaleOnFetchRejection=!!wr,this.allowStaleOnFetchAbort=!!Ht,this.ignoreFetchAbort=!!Jt,this.maxEntrySize!==0){if(z(this,S)!==0&&!i(z(this,S)))throw new TypeError("maxSize must be a positive integer if specified");if(!i(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Et(this,T,Bp).call(this)}if(this.allowStale=!!ot,this.noDeleteOnStaleGet=!!Ct,this.updateAgeOnGet=!!J,this.updateAgeOnHas=!!at,this.ttlResolution=i(M)||M===0?M:1,this.ttlAutopurge=!!W,this.ttl=k||0,this.ttl){if(!i(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Et(this,T,qa).call(this)}if(z(this,_)===0&&this.ttl===0&&z(this,S)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!z(this,_)&&!z(this,S)){let De="LRU_CACHE_UNBOUNDED";(Je=>!r.has(Je))(De)&&(r.add(De),l("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",De,x))}}static unsafeExposeInternals(g){return{starts:z(g,N),ttls:z(g,$),sizes:z(g,j),keyMap:z(g,P),keyList:z(g,I),valList:z(g,E),next:z(g,w),prev:z(g,B),get head(){return z(g,R)},get tail(){return z(g,rt)},free:z(g,st),isBackgroundFetch:v=>{var k;return Et(k=g,T,$t).call(k,v)},backgroundFetch:(v,k,M,W)=>{var J;return Et(J=g,T,Xi).call(J,v,k,M,W)},moveToTail:v=>{var k;return Et(k=g,T,Yn).call(k,v)},indexes:v=>{var k;return Et(k=g,T,Ir).call(k,v)},rindexes:v=>{var k;return Et(k=g,T,Tr).call(k,v)},isStale:v=>{var k;return z(k=g,ut).call(k,v)}}}get max(){return z(this,_)}get maxSize(){return z(this,S)}get calculatedSize(){return z(this,Y)}get size(){return z(this,V)}get fetchMethod(){return z(this,K)}get dispose(){return z(this,U)}get disposeAfter(){return z(this,D)}getRemainingTTL(g){return z(this,P).has(g)?1/0:0}*entries(){for(let g of Et(this,T,Ir).call(this))z(this,E)[g]!==void 0&&z(this,I)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield[z(this,I)[g],z(this,E)[g]])}*rentries(){for(let g of Et(this,T,Tr).call(this))z(this,E)[g]!==void 0&&z(this,I)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield[z(this,I)[g],z(this,E)[g]])}*keys(){for(let g of Et(this,T,Ir).call(this)){let v=z(this,I)[g];v!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield v)}}*rkeys(){for(let g of Et(this,T,Tr).call(this)){let v=z(this,I)[g];v!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield v)}}*values(){for(let g of Et(this,T,Ir).call(this))z(this,E)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield z(this,E)[g])}*rvalues(){for(let g of Et(this,T,Tr).call(this))z(this,E)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield z(this,E)[g])}[Symbol.iterator](){return this.entries()}find(g,v={}){for(let k of Et(this,T,Ir).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;if(W!==void 0&&g(W,z(this,I)[k],this))return this.get(z(this,I)[k],v)}}forEach(g,v=this){for(let k of Et(this,T,Ir).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;W!==void 0&&g.call(v,W,z(this,I)[k],this)}}rforEach(g,v=this){for(let k of Et(this,T,Tr).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;W!==void 0&&g.call(v,W,z(this,I)[k],this)}}purgeStale(){let g=!1;for(let v of Et(this,T,Tr).call(this,{allowStale:!0}))z(this,ut).call(this,v)&&(this.delete(z(this,I)[v]),g=!0);return g}dump(){let g=[];for(let v of Et(this,T,Ir).call(this,{allowStale:!0})){let k=z(this,I)[v],M=z(this,E)[v],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;if(W===void 0||k===void 0)continue;let J={value:W};if(z(this,$)&&z(this,N)){J.ttl=z(this,$)[v];let at=e.now()-z(this,N)[v];J.start=Math.floor(Date.now()-at)}z(this,j)&&(J.size=z(this,j)[v]),g.unshift([k,J])}return g}load(g){this.clear();for(let[v,k]of g){if(k.start){let M=Date.now()-k.start;k.start=e.now()-M}this.set(v,k.value,k)}}set(g,v,k={}){var Ot,kt,Mt,_t,It;if(v===void 0)return this.delete(g),this;let{ttl:M=this.ttl,start:W,noDisposeOnSet:J=this.noDisposeOnSet,sizeCalculation:at=this.sizeCalculation,status:ot}=k,{noUpdateTTL:vt=this.noUpdateTTL}=k,bt=z(this,Z).call(this,g,v,k.size||0,at);if(this.maxEntrySize&&bt>this.maxEntrySize)return ot&&(ot.set="miss",ot.maxEntrySizeExceeded=!0),this.delete(g),this;let wt=z(this,V)===0?void 0:z(this,P).get(g);if(wt===void 0)wt=z(this,V)===0?z(this,rt):z(this,st).length!==0?z(this,st).pop():z(this,V)===z(this,_)?Et(this,T,Ji).call(this,!1):z(this,V),z(this,I)[wt]=g,z(this,E)[wt]=v,z(this,P).set(g,wt),z(this,w)[z(this,rt)]=wt,z(this,B)[wt]=z(this,rt),St(this,rt,wt),Ii(this,V)._++,z(this,et).call(this,wt,bt,ot),ot&&(ot.set="add"),vt=!1;else{Et(this,T,Yn).call(this,wt);let yt=z(this,E)[wt];if(v!==yt){if(z(this,Q)&&Et(this,T,$t).call(this,yt)){yt.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ct}=yt;Ct!==void 0&&!J&&(z(this,nt)&&((Ot=z(this,U))==null||Ot.call(this,Ct,g,"set")),z(this,G)&&((kt=z(this,X))==null||kt.push([Ct,g,"set"])))}else J||(z(this,nt)&&((Mt=z(this,U))==null||Mt.call(this,yt,g,"set")),z(this,G)&&((_t=z(this,X))==null||_t.push([yt,g,"set"])));if(z(this,H).call(this,wt),z(this,et).call(this,wt,bt,ot),z(this,E)[wt]=v,ot){ot.set="replace";let Ct=yt&&Et(this,T,$t).call(this,yt)?yt.__staleWhileFetching:yt;Ct!==void 0&&(ot.oldValue=Ct)}}else ot&&(ot.set="update")}if(M!==0&&!z(this,$)&&Et(this,T,qa).call(this),z(this,$)&&(vt||z(this,lt).call(this,wt,M,W),ot&&z(this,it).call(this,ot,wt)),!J&&z(this,G)&&z(this,X)){let yt,Ct=z(this,X);for(;yt=Ct==null?void 0:Ct.shift();)(It=z(this,D))==null||It.call(this,...yt)}return this}pop(){var g;try{for(;z(this,V);){let v=z(this,E)[z(this,R)];if(Et(this,T,Ji).call(this,!0),Et(this,T,$t).call(this,v)){if(v.__staleWhileFetching)return v.__staleWhileFetching}else if(v!==void 0)return v}}finally{if(z(this,G)&&z(this,X)){let v,k=z(this,X);for(;v=k==null?void 0:k.shift();)(g=z(this,D))==null||g.call(this,...v)}}}has(g,v={}){let{updateAgeOnHas:k=this.updateAgeOnHas,status:M}=v,W=z(this,P).get(g);if(W!==void 0){let J=z(this,E)[W];if(Et(this,T,$t).call(this,J)&&J.__staleWhileFetching===void 0)return!1;if(!z(this,ut).call(this,W))return k&&z(this,tt).call(this,W),M&&(M.has="hit",z(this,it).call(this,M,W)),!0;M&&(M.has="stale",z(this,it).call(this,M,W))}else M&&(M.has="miss");return!1}peek(g,v={}){let{allowStale:k=this.allowStale}=v,M=z(this,P).get(g);if(M!==void 0&&(k||!z(this,ut).call(this,M))){let W=z(this,E)[M];return Et(this,T,$t).call(this,W)?W.__staleWhileFetching:W}}async fetch(g,v={}){let{allowStale:k=this.allowStale,updateAgeOnGet:M=this.updateAgeOnGet,noDeleteOnStaleGet:W=this.noDeleteOnStaleGet,ttl:J=this.ttl,noDisposeOnSet:at=this.noDisposeOnSet,size:ot=0,sizeCalculation:vt=this.sizeCalculation,noUpdateTTL:bt=this.noUpdateTTL,noDeleteOnFetchRejection:wt=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Ot=this.allowStaleOnFetchRejection,ignoreFetchAbort:kt=this.ignoreFetchAbort,allowStaleOnFetchAbort:Mt=this.allowStaleOnFetchAbort,context:_t,forceRefresh:It=!1,status:yt,signal:Ct}=v;if(!z(this,Q))return yt&&(yt.fetch="get"),this.get(g,{allowStale:k,updateAgeOnGet:M,noDeleteOnStaleGet:W,status:yt});let wr={allowStale:k,updateAgeOnGet:M,noDeleteOnStaleGet:W,ttl:J,noDisposeOnSet:at,size:ot,sizeCalculation:vt,noUpdateTTL:bt,noDeleteOnFetchRejection:wt,allowStaleOnFetchRejection:Ot,allowStaleOnFetchAbort:Mt,ignoreFetchAbort:kt,status:yt,signal:Ct},Ht=z(this,P).get(g);if(Ht===void 0){yt&&(yt.fetch="miss");let Jt=Et(this,T,Xi).call(this,g,Ht,wr,_t);return Jt.__returned=Jt}{let Jt=z(this,E)[Ht];if(Et(this,T,$t).call(this,Jt)){let zl=k&&Jt.__staleWhileFetching!==void 0;return yt&&(yt.fetch="inflight",zl&&(yt.returnedStale=!0)),zl?Jt.__staleWhileFetching:Jt.__returned=Jt}let Ee=z(this,ut).call(this,Ht);if(!It&&!Ee)return yt&&(yt.fetch="hit"),Et(this,T,Yn).call(this,Ht),M&&z(this,tt).call(this,Ht),yt&&z(this,it).call(this,yt,Ht),Jt;let De=Et(this,T,Xi).call(this,g,Ht,wr,_t),Je=De.__staleWhileFetching!==void 0&&k;return yt&&(yt.fetch=Ee?"stale":"refresh",Je&&Ee&&(yt.returnedStale=!0)),Je?De.__staleWhileFetching:De.__returned=De}}get(g,v={}){let{allowStale:k=this.allowStale,updateAgeOnGet:M=this.updateAgeOnGet,noDeleteOnStaleGet:W=this.noDeleteOnStaleGet,status:J}=v,at=z(this,P).get(g);if(at!==void 0){let ot=z(this,E)[at],vt=Et(this,T,$t).call(this,ot);return J&&z(this,it).call(this,J,at),z(this,ut).call(this,at)?(J&&(J.get="stale"),vt?(J&&k&&ot.__staleWhileFetching!==void 0&&(J.returnedStale=!0),k?ot.__staleWhileFetching:void 0):(W||this.delete(g),J&&k&&(J.returnedStale=!0),k?ot:void 0)):(J&&(J.get="hit"),vt?ot.__staleWhileFetching:(Et(this,T,Yn).call(this,at),M&&z(this,tt).call(this,at),ot))}J&&(J.get="miss")}delete(g){var k,M,W,J;let v=!1;if(z(this,V)!==0){let at=z(this,P).get(g);if(at!==void 0)if(v=!0,z(this,V)===1)this.clear();else{z(this,H).call(this,at);let ot=z(this,E)[at];Et(this,T,$t).call(this,ot)?ot.__abortController.abort(new Error("deleted")):(z(this,nt)||z(this,G))&&(z(this,nt)&&((k=z(this,U))==null||k.call(this,ot,g,"delete")),z(this,G)&&((M=z(this,X))==null||M.push([ot,g,"delete"]))),z(this,P).delete(g),z(this,I)[at]=void 0,z(this,E)[at]=void 0,at===z(this,rt)?St(this,rt,z(this,B)[at]):at===z(this,R)?St(this,R,z(this,w)[at]):(z(this,w)[z(this,B)[at]]=z(this,w)[at],z(this,B)[z(this,w)[at]]=z(this,B)[at]),Ii(this,V)._--,z(this,st).push(at)}}if(z(this,G)&&((W=z(this,X))!=null&&W.length)){let at,ot=z(this,X);for(;at=ot==null?void 0:ot.shift();)(J=z(this,D))==null||J.call(this,...at)}return v}clear(){var g,v,k;for(let M of Et(this,T,Tr).call(this,{allowStale:!0})){let W=z(this,E)[M];if(Et(this,T,$t).call(this,W))W.__abortController.abort(new Error("deleted"));else{let J=z(this,I)[M];z(this,nt)&&((g=z(this,U))==null||g.call(this,W,J,"delete")),z(this,G)&&((v=z(this,X))==null||v.push([W,J,"delete"]))}}if(z(this,P).clear(),z(this,E).fill(void 0),z(this,I).fill(void 0),z(this,$)&&z(this,N)&&(z(this,$).fill(0),z(this,N).fill(0)),z(this,j)&&z(this,j).fill(0),St(this,R,0),St(this,rt,0),z(this,st).length=0,St(this,Y,0),St(this,V,0),z(this,G)&&z(this,X)){let M,W=z(this,X);for(;M=W==null?void 0:W.shift();)(k=z(this,D))==null||k.call(this,...M)}}},_=new WeakMap,S=new WeakMap,U=new WeakMap,D=new WeakMap,K=new WeakMap,V=new WeakMap,Y=new WeakMap,P=new WeakMap,I=new WeakMap,E=new WeakMap,w=new WeakMap,B=new WeakMap,R=new WeakMap,rt=new WeakMap,st=new WeakMap,X=new WeakMap,j=new WeakMap,N=new WeakMap,$=new WeakMap,nt=new WeakMap,Q=new WeakMap,G=new WeakMap,T=new WeakSet,qa=function(){let g=new u(z(this,_)),v=new u(z(this,_));St(this,$,g),St(this,N,v),St(this,lt,(W,J,at=e.now())=>{if(v[W]=J!==0?at:0,g[W]=J,J!==0&&this.ttlAutopurge){let ot=setTimeout(()=>{z(this,ut).call(this,W)&&this.delete(z(this,I)[W])},J+1);ot.unref&&ot.unref()}}),St(this,tt,W=>{v[W]=g[W]!==0?e.now():0}),St(this,it,(W,J)=>{if(g[J]){let at=g[J],ot=v[J];W.ttl=at,W.start=ot,W.now=k||M();let vt=W.now-ot;W.remainingTTL=at-vt}});let k=0,M=()=>{let W=e.now();if(this.ttlResolution>0){k=W;let J=setTimeout(()=>k=0,this.ttlResolution);J.unref&&J.unref()}return W};this.getRemainingTTL=W=>{let J=z(this,P).get(W);if(J===void 0)return 0;let at=g[J],ot=v[J];return at===0||ot===0?1/0:at-((k||M())-ot)},St(this,ut,W=>g[W]!==0&&v[W]!==0&&(k||M())-v[W]>g[W])},tt=new WeakMap,it=new WeakMap,lt=new WeakMap,ut=new WeakMap,Bp=function(){let g=new u(z(this,_));St(this,Y,0),St(this,j,g),St(this,H,v=>{St(this,Y,z(this,Y)-g[v]),g[v]=0}),St(this,Z,(v,k,M,W)=>{if(Et(this,T,$t).call(this,k))return 0;if(!i(M)){if(!W)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if(typeof W!="function")throw new TypeError("sizeCalculation must be a function");if(M=W(k,v),!i(M))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return M}),St(this,et,(v,k,M)=>{if(g[v]=k,z(this,S)){let W=z(this,S)-g[v];for(;z(this,Y)>W;)Et(this,T,Ji).call(this,!0)}St(this,Y,z(this,Y)+g[v]),M&&(M.entrySize=k,M.totalCalculatedSize=z(this,Y))})},H=new WeakMap,et=new WeakMap,Z=new WeakMap,Ir=function*({allowStale:g=this.allowStale}={}){if(z(this,V))for(let v=z(this,rt);Et(this,T,Ha).call(this,v)&&((g||!z(this,ut).call(this,v))&&(yield v),v!==z(this,R));)v=z(this,B)[v]},Tr=function*({allowStale:g=this.allowStale}={}){if(z(this,V))for(let v=z(this,R);Et(this,T,Ha).call(this,v)&&((g||!z(this,ut).call(this,v))&&(yield v),v!==z(this,rt));)v=z(this,w)[v]},Ha=function(g){return g!==void 0&&z(this,P).get(z(this,I)[g])===g},Ji=function(g){var W,J;let v=z(this,R),k=z(this,I)[v],M=z(this,E)[v];return z(this,Q)&&Et(this,T,$t).call(this,M)?M.__abortController.abort(new Error("evicted")):(z(this,nt)||z(this,G))&&(z(this,nt)&&((W=z(this,U))==null||W.call(this,M,k,"evict")),z(this,G)&&((J=z(this,X))==null||J.push([M,k,"evict"]))),z(this,H).call(this,v),g&&(z(this,I)[v]=void 0,z(this,E)[v]=void 0,z(this,st).push(v)),z(this,V)===1?(St(this,R,St(this,rt,0)),z(this,st).length=0):St(this,R,z(this,w)[v]),z(this,P).delete(k),Ii(this,V)._--,v},Xi=function(g,v,k,M){let W=v===void 0?void 0:z(this,E)[v];if(Et(this,T,$t).call(this,W))return W;let J=new o,{signal:at}=k;at==null||at.addEventListener("abort",()=>J.abort(at.reason),{signal:J.signal});let ot={signal:J.signal,options:k,context:M},vt=(kt,Mt=!1)=>{let{aborted:_t}=J.signal,It=k.ignoreFetchAbort&&kt!==void 0;if(k.status&&(_t&&!Mt?(k.status.fetchAborted=!0,k.status.fetchError=J.signal.reason,It&&(k.status.fetchAbortIgnored=!0)):k.status.fetchResolved=!0),_t&&!It&&!Mt)return bt(J.signal.reason);let yt=wt;return z(this,E)[v]===wt&&(kt===void 0?yt.__staleWhileFetching?z(this,E)[v]=yt.__staleWhileFetching:this.delete(g):(k.status&&(k.status.fetchUpdated=!0),this.set(g,kt,ot.options))),kt},bt=kt=>{let{aborted:Mt}=J.signal,_t=Mt&&k.allowStaleOnFetchAbort,It=_t||k.allowStaleOnFetchRejection,yt=It||k.noDeleteOnFetchRejection,Ct=wt;if(z(this,E)[v]===wt&&(yt&&Ct.__staleWhileFetching!==void 0?_t||(z(this,E)[v]=Ct.__staleWhileFetching):this.delete(g)),It)return k.status&&Ct.__staleWhileFetching!==void 0&&(k.status.returnedStale=!0),Ct.__staleWhileFetching;if(Ct.__returned===Ct)throw kt};k.status&&(k.status.fetchDispatched=!0);let wt=new Promise((kt,Mt)=>{var It;let _t=(It=z(this,K))==null?void 0:It.call(this,g,W,ot);_t&&_t instanceof Promise&&_t.then(yt=>kt(yt===void 0?void 0:yt),Mt),J.signal.addEventListener("abort",()=>{(!k.ignoreFetchAbort||k.allowStaleOnFetchAbort)&&(kt(void 0),k.allowStaleOnFetchAbort&&(kt=yt=>vt(yt,!0)))})}).then(vt,kt=>(k.status&&(k.status.fetchRejected=!0,k.status.fetchError=kt),bt(kt))),Ot=Object.assign(wt,{__abortController:J,__staleWhileFetching:W,__returned:void 0});return v===void 0?(this.set(g,Ot,{...ot.options,status:void 0}),v=z(this,P).get(g)):z(this,E)[v]=Ot,Ot},$t=function(g){if(!z(this,Q))return!1;let v=g;return!!v&&v instanceof Promise&&v.hasOwnProperty("__staleWhileFetching")&&v.__abortController instanceof o},za=function(g,v){z(this,B)[v]=g,z(this,w)[g]=v},Yn=function(g){g!==z(this,rt)&&(g===z(this,R)?St(this,R,z(this,w)[g]):Et(this,T,za).call(this,z(this,B)[g],z(this,w)[g]),Et(this,T,za).call(this,z(this,rt),g),St(this,rt,g))},x);t.LRUCache=d}),br=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.ContainerIterator=t.Container=t.Base=void 0,t.ContainerIterator=class{constructor(r=0){this.iteratorType=r}equals(r){return this.o===r.o}};var e=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};t.Base=e,t.Container=class extends e{}}),V0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[]){super(),this.S=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.i=0,this.S=[]}push(n){return this.S.push(n),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}};t.default=r}),q0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[]){super(),this.j=0,this.q=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.q=[],this.i=this.j=0}push(n){let l=this.q.length;if(this.j/l>.5&&this.j+this.i>=l&&l>4096){let o=this.i;for(let s=0;s{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[],l=function(s,i){return s>i?-1:s>1;for(let i=this.i-1>>1;i>=0;--i)this.k(i,s)}m(n){let l=this.C[n];for(;n>0;){let o=n-1>>1,s=this.C[o];if(this.v(s,l)<=0)break;this.C[n]=s,n=o}this.C[n]=l}k(n,l){let o=this.C[n];for(;n0&&(s=i,a=this.C[i]),this.v(a,o)>=0)break;this.C[n]=a,n=s}this.C[n]=o}clear(){this.i=0,this.C.length=0}push(n){this.C.push(n),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let n=this.C[0],l=this.C.pop();return this.i-=1,this.i&&(this.C[0]=l,this.k(0,this.i>>1)),n}top(){return this.C[0]}find(n){return this.C.indexOf(n)>=0}remove(n){let l=this.C.indexOf(n);return!(l<0)&&(l===0?this.pop():l===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(l,1,this.C.pop()),this.i-=1,this.m(l),this.k(l,this.i>>1)),!0)}updateItem(n){let l=this.C.indexOf(n);return!(l<0)&&(this.m(l),this.k(l,this.i>>1),!0)}toArray(){return[...this.C]}};t.default=r}),Nl=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Container{};t.default=r}),vr=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.throwIteratorAccessError=function(){throw new RangeError("Iterator access denied!")}}),Mp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.RandomIterator=void 0;var e=br(),r=vr(),n=class extends e.ContainerIterator{constructor(l,o){super(o),this.o=l,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(l){this.container.setElementByPos(this.o,l)}};t.RandomIterator=n}),z0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Nl())&&e.t?e:{default:e},n=Mp(),l=class Lp extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new Lp(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=!0){if(super(),Array.isArray(s))this.J=i?[...s]:s,this.i=s.length;else{this.J=[];let a=this;s.forEach(function(u){a.pushBack(u)})}}clear(){this.i=0,this.J.length=0}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J[s]}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J.splice(s,1),this.i-=1,this.i}eraseElementByValue(s){let i=0;for(let a=0;athis.i-1)throw new RangeError;this.J[s]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;return this.J.splice(s,0,...new Array(a).fill(i)),this.i+=a,this.i}find(s){for(let i=0;i{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Nl())&&e.t?e:{default:e},n=br(),l=vr(),o=class jp extends n.ContainerIterator{constructor(a,u,c,d){super(d),this.o=a,this.h=u,this.container=c,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l}set pointer(a){this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l=a}copy(){return new jp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.default{constructor(i=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let a=this;i.forEach(function(u){a.pushBack(u)})}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}G(i,a){let u=a.B,c={l:i,L:a,B:u};a.B=c,u.L=c,a===this.h&&(this.p=c),u===this.h&&(this._=c),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return a.l}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}eraseElementByValue(i){let a=this.p;for(;a!==this.h;)a.l===i&&this.V(a),a=a.B;return this.i}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),i=i.next(),this.V(a),i}pushBack(i){return this.G(i,this._),this.i}popBack(){if(this.i===0)return;let i=this._.l;return this.V(this._),i}pushFront(i){return this.G(i,this.h),this.i}popFront(){if(this.i===0)return;let i=this.p.l;return this.V(this.p),i}setElementByPos(i,a){if(i<0||i>this.i-1)throw new RangeError;let u=this.p;for(;i--;)u=u.B;u.l=a}insert(i,a,u=1){if(i<0||i>this.i)throw new RangeError;if(u<=0)return this.i;if(i===0)for(;u--;)this.pushFront(a);else if(i===this.i)for(;u--;)this.pushBack(a);else{let c=this.p;for(let f=1;f{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Nl())&&e.t?e:{default:e},n=Mp(),l=class Up extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new Up(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let a=(()=>{if(typeof s.length=="number")return s.length;if(typeof s.size=="number")return s.size;if(typeof s.size=="function")return s.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=i,this.P=Math.max(Math.ceil(a/this.F),1);for(let d=0;d>1)-(u>>1),this.D=this.N=this.F-a%this.F>>1;let c=this;s.forEach(function(d){c.pushBack(d)})}T(){let s=[],i=Math.max(this.P>>1,1);for(let a=0;a>1}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(s){return this.i&&(this.N0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,s}pushFront(s){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=s,this.i}popFront(){if(this.i===0)return;let s=this.A[this.j][this.D];return this.i!==1&&(this.Dthis.i-1)throw new RangeError;let{curNodeBucketIndex:i,curNodePointerIndex:a}=this.O(s);return this.A[i][a]}setElementByPos(s,i){if(s<0||s>this.i-1)throw new RangeError;let{curNodeBucketIndex:a,curNodePointerIndex:u}=this.O(s);this.A[a][u]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;if(s===0)for(;a--;)this.pushFront(i);else if(s===this.i)for(;a--;)this.pushBack(i);else{let u=[];for(let c=s;cthis.i-1)throw new RangeError;if(s===0)this.popFront();else if(s===this.i-1)this.popBack();else{let i=[];for(let u=s+1;us;)this.popBack();return this.i}sort(s){let i=[];for(let a=0;a{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.TreeNodeEnableIndex=t.TreeNode=void 0;var e=class{constructor(r,n){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=r,this.l=n}L(){let r=this;if(r.ee===1&&r.tt.tt===r)r=r.W;else if(r.U)for(r=r.U;r.W;)r=r.W;else{let n=r.tt;for(;n.U===r;)r=n,n=r.tt;r=n}return r}B(){let r=this;if(r.W){for(r=r.W;r.U;)r=r.U;return r}{let n=r.tt;for(;n.W===r;)r=n,n=r.tt;return r.W!==n?n:r}}te(){let r=this.tt,n=this.W,l=n.U;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.U=this,this.tt=n,this.W=l,l&&(l.tt=this),n}se(){let r=this.tt,n=this.U,l=n.W;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.W=this,this.tt=n,this.U=l,l&&(l.tt=this),n}};t.TreeNode=e,t.TreeNodeEnableIndex=class extends e{constructor(){super(...arguments),this.rt=1}te(){let r=super.te();return this.ie(),r.ie(),r}se(){let r=super.se();return this.ie(),r.ie(),r}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}}}),Np=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=Q0(),r=br(),n=vr(),l=class extends r.Container{constructor(s=function(a,u){return au?1:0},i=!1){super(),this.Y=void 0,this.v=s,i?(this.re=e.TreeNodeEnableIndex,this.M=function(a,u,c){let d=this.ne(a,u,c);if(d){let f=d.tt;for(;f!==this.h;)f.rt+=1,f=f.tt;let m=this.he(d);if(m){let{parentNode:b,grandParent:_,curNode:S}=m;b.ie(),_.ie(),S.ie()}}return this.i},this.V=function(a){let u=this.fe(a);for(;u!==this.h;)u.rt-=1,u=u.tt}):(this.re=e.TreeNode,this.M=function(a,u,c){let d=this.ne(a,u,c);return d&&this.he(d),this.i},this.V=this.fe),this.h=new this.re}X(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)s=s.W;else{if(!(u>0))return s;a=s,s=s.U}}return a}Z(s,i){let a=this.h;for(;s;)this.v(s.u,i)<=0?s=s.W:(a=s,s=s.U);return a}$(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)a=s,s=s.W;else{if(!(u>0))return s;s=s.U}}return a}rr(s,i){let a=this.h;for(;s;)this.v(s.u,i)<0?(a=s,s=s.W):s=s.U;return a}ue(s){for(;;){let i=s.tt;if(i===this.h)return;if(s.ee===1)return void(s.ee=0);if(s===i.U){let a=i.W;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.te():i.te();else{if(a.W&&a.W.ee===1)return a.ee=i.ee,i.ee=0,a.W.ee=0,void(i===this.Y?this.Y=i.te():i.te());a.U&&a.U.ee===1?(a.ee=1,a.U.ee=0,a.se()):(a.ee=1,s=i)}}else{let a=i.U;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.se():i.se();else{if(a.U&&a.U.ee===1)return a.ee=i.ee,i.ee=0,a.U.ee=0,void(i===this.Y?this.Y=i.se():i.se());a.W&&a.W.ee===1?(a.ee=1,a.W.ee=0,a.te()):(a.ee=1,s=i)}}}}fe(s){if(this.i===1)return this.clear(),this.h;let i=s;for(;i.U||i.W;){if(i.W)for(i=i.W;i.U;)i=i.U;else i=i.U;[s.u,i.u]=[i.u,s.u],[s.l,i.l]=[i.l,s.l],s=i}this.h.U===i?this.h.U=i.tt:this.h.W===i&&(this.h.W=i.tt),this.ue(i);let a=i.tt;return i===a.U?a.U=void 0:a.W=void 0,this.i-=1,this.Y.ee=0,a}oe(s,i){return s!==void 0&&(!(!this.oe(s.U,i)&&!i(s))||this.oe(s.W,i))}he(s){for(;;){let i=s.tt;if(i.ee===0)return;let a=i.tt;if(i===a.U){let u=a.W;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.W){if(s.ee=0,s.U&&(s.U.tt=i),s.W&&(s.W.tt=a),i.W=s.U,a.U=s.W,s.U=i,s.W=a,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.se():a.se(),a.ee=1}else{let u=a.U;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.U){if(s.ee=0,s.U&&(s.U.tt=a),s.W&&(s.W.tt=i),a.W=s.U,i.U=s.W,s.U=a,s.W=i,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.te():a.te(),a.ee=1}return}}ne(s,i,a){if(this.Y===void 0)return this.i+=1,this.Y=new this.re(s,i),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,void(this.h.W=this.Y);let u,c=this.h.U,d=this.v(c.u,s);if(d!==0){if(d>0)c.U=new this.re(s,i),c.U.tt=c,u=c.U,this.h.U=u;else{let f=this.h.W,m=this.v(f.u,s);if(m===0)return void(f.l=i);if(m<0)f.W=new this.re(s,i),f.W.tt=f,u=f.W,this.h.W=u;else{if(a!==void 0){let b=a.o;if(b!==this.h){let _=this.v(b.u,s);if(_===0)return void(b.l=i);if(_>0){let S=b.L(),U=this.v(S.u,s);if(U===0)return void(S.l=i);U<0&&(u=new this.re(s,i),S.W===void 0?(S.W=u,u.tt=S):(b.U=u,u.tt=b))}}}if(u===void 0)for(u=this.Y;;){let b=this.v(u.u,s);if(b>0){if(u.U===void 0){u.U=new this.re(s,i),u.U.tt=u,u=u.U;break}u=u.U}else{if(!(b<0))return void(u.l=i);if(u.W===void 0){u.W=new this.re(s,i),u.W.tt=u,u=u.W;break}u=u.W}}}}return this.i+=1,u}c.l=i}I(s,i){for(;s;){let a=this.v(s.u,i);if(a<0)s=s.W;else{if(!(a>0))return s;s=s.U}}return s||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(s,i){let a=s.o;if(a===this.h&&(0,n.throwIteratorAccessError)(),this.i===1)return a.u=i,!0;if(a===this.h.U)return this.v(a.B().u,i)>0&&(a.u=i,!0);if(a===this.h.W)return this.v(a.L().u,i)<0&&(a.u=i,!0);let u=a.L().u;if(this.v(u,i)>=0)return!1;let c=a.B().u;return!(this.v(c,i)<=0)&&(a.u=i,!0)}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i=0,a=this;return this.oe(this.Y,function(u){return s===i?(a.V(u),!0):(i+=1,!1)}),this.i}eraseElementByKey(s){if(this.i===0)return!1;let i=this.I(this.Y,s);return i!==this.h&&(this.V(i),!0)}eraseElementByIterator(s){let i=s.o;i===this.h&&(0,n.throwIteratorAccessError)();let a=i.W===void 0;return s.iteratorType===0?a&&s.next():(!a||i.U===void 0)&&s.next(),this.V(i),s}forEach(s){let i=0;for(let a of this)s(a,i++,this)}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i,a=0;for(let u of this){if(a===s){i=u;break}a+=1}return i}getHeight(){if(this.i===0)return 0;let s=function(i){return i?Math.max(s(i.U),s(i.W))+1:0};return s(this.Y)}},o=l;t.default=o}),Dp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=vr(),n=class extends e.ContainerIterator{constructor(l,o,s){super(s),this.o=l,this.h=o,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let l=this.o,o=this.h.tt;if(l===this.h)return o?o.rt-1:0;let s=0;for(l.U&&(s+=l.U.rt);l!==o;){let i=l.tt;l===i.W&&(s+=1,i.U&&(s+=i.U.rt)),l=i}return s}};t.default=n}),Y0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Np()),r=l(Dp()),n=vr();function l(i){return i&&i.t?i:{default:i}}var o=class Fp extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.u}copy(){return new Fp(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.insert(d)})}*K(i){i!==void 0&&(yield*this.K(i.U),yield i.u,yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(i,a){return this.M(i,void 0,a)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}union(i){let a=this;return i.forEach(function(u){a.insert(u)}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),J0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Np()),r=l(Dp()),n=vr();function l(i){return i&&i.t?i:{default:i}}var o=class Wp extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new Wp(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.setElement(d[0],d[1])})}*K(i){i!==void 0&&(yield*this.K(i.U),yield[i.u,i.l],yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let i=this.h.U;return[i.u,i.l]}back(){if(this.i===0)return;let i=this.h.W;return[i.u,i.l]}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}setElement(i,a,u){return this.M(i,a,u)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}getElementByKey(i){return this.I(this.Y,i).l}union(i){let a=this;return i.forEach(function(u){a.setElement(u[0],u[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),$p=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=function(e){let r=typeof e;return r==="object"&&e!==null||r==="function"}}),Vp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.HashContainerIterator=t.HashContainer=void 0;var e,r=br(),n=(e=$p())&&e.t?e:{default:e},l=vr(),o=class extends r.ContainerIterator{constructor(i,a,u){super(u),this.o=i,this.h=a,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}};t.HashContainerIterator=o;var s=class extends r.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}M(i,a,u){let c;if(u===void 0&&(u=(0,n.default)(i)),u){let d=i[this.HASH_TAG];if(d!==void 0)return this.H[d].l=a,this.i;Object.defineProperty(i,this.HASH_TAG,{value:this.H.length,configurable:!0}),c={u:i,l:a,L:this._,B:this.h},this.H.push(c)}else{let d=this.g[i];if(d)return d.l=a,this.i;c={u:i,l:a,L:this._,B:this.h},this.g[i]=c}return this.i===0?(this.p=c,this.h.B=c):this._.B=c,this._=c,this.h.L=c,++this.i}I(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let u=i[this.HASH_TAG];return u===void 0?this.h:this.H[u]}return this.g[i]||this.h}clear(){let i=this.HASH_TAG;this.H.forEach(function(a){delete a.u[i]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(i,a){let u;if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];if(c===void 0)return!1;delete i[this.HASH_TAG],u=this.H[c],delete this.H[c]}else{if(u=this.g[i],u===void 0)return!1;delete this.g[i]}return this.V(u),!0}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),this.V(a),i.next()}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}};t.HashContainer=s}),X0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=Vp(),r=vr(),n=class qp extends e.HashContainerIterator{constructor(s,i,a,u){super(s,i,u),this.container=a}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new qp(this.o,this.h,this.container,this.iteratorType)}},l=class extends e.HashContainer{constructor(o=[]){super();let s=this;o.forEach(function(i){s.insert(i)})}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(o,s){return this.M(o,void 0,s)}getElementByPos(o){if(o<0||o>this.i-1)throw new RangeError;let s=this.p;for(;o--;)s=s.B;return s.u}find(o,s){let i=this.I(o,s);return new n(i,this.h,this)}forEach(o){let s=0,i=this.p;for(;i!==this.h;)o(i.u,s++,this),i=i.B}[Symbol.iterator](){return(function*(){let o=this.p;for(;o!==this.h;)yield o.u,o=o.B}).bind(this)()}};t.default=l}),Z0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=Vp(),n=(e=$p())&&e.t?e:{default:e},l=vr(),o=class Hp extends r.HashContainerIterator{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,l.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new Hp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.HashContainer{constructor(i=[]){super();let a=this;i.forEach(function(u){a.setElement(u[0],u[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(i,a,u){return this.M(i,a,u)}getElementByKey(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];return c!==void 0?this.H[c].l:void 0}let u=this.g[i];return u?u.l:void 0}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return[a.u,a.l]}find(i,a){let u=this.I(i,a);return new o(u,this.h,this)}forEach(i){let a=0,u=this.p;for(;u!==this.h;)i([u.u,u.l],a++,this),u=u.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield[i.u,i.l],i=i.B}).bind(this)()}};t.default=s}),ty=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),Object.defineProperty(t,"Deque",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"HashMap",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"HashSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"OrderedMap",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"OrderedSet",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"PriorityQueue",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"Stack",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(t,"Vector",{enumerable:!0,get:function(){return l.default}});var e=d(V0()),r=d(q0()),n=d(H0()),l=d(z0()),o=d(K0()),s=d(G0()),i=d(Y0()),a=d(J0()),u=d(X0()),c=d(Z0());function d(f){return f&&f.t?f:{default:f}}}),ey=mt((t,e)=>{ct(),ft(),ht();var r=ty().OrderedSet,n=dr()("number-allocator:trace"),l=dr()("number-allocator:error");function o(i,a){this.low=i,this.high=a}function s(i,a){if(!(this instanceof s))return new s(i,a);this.min=i,this.max=a,this.ss=new r([],(u,c)=>u.compare(c)),n("Create"),this.clear()}o.prototype.equals=function(i){return this.low===i.low&&this.high===i.high},o.prototype.compare=function(i){return this.lowi)&&(c===i?(this.ss.updateKeyByIterator(u,new o(c+1,d)),n("use():"+i),!0):d===i?(this.ss.updateKeyByIterator(u,new o(c,d-1)),n("use():"+i),!0):(this.ss.updateKeyByIterator(u,new o(i+1,d)),this.ss.insert(new o(c,i-1)),n("use():"+i),!0))}return n("use():failed"),!1},s.prototype.free=function(i){if(ithis.max)return void l("free():"+i+" is out of range");let a=new o(i,i),u=this.ss.upperBound(a);if(u.equals(this.ss.end())){if(u.equals(this.ss.begin()))return void this.ss.insert(a);u.pre();let c=u.pointer.high;u.pointer.high+1===i?this.ss.updateKeyByIterator(u,new o(c,i)):this.ss.insert(a)}else if(u.equals(this.ss.begin()))if(i+1===u.pointer.low){let c=u.pointer.high;this.ss.updateKeyByIterator(u,new o(i,c))}else this.ss.insert(a);else{let c=u.pointer.low,d=u.pointer.high;u.pre();let f=u.pointer.low;u.pointer.high+1===i?i+1===c?(this.ss.eraseElementByIterator(u),this.ss.updateKeyByIterator(u,new o(f,d))):this.ss.updateKeyByIterator(u,new o(f,i)):i+1===c?(this.ss.eraseElementByIterator(u.next()),this.ss.insert(new o(i,d))):this.ss.insert(a)}n("free():"+i)},s.prototype.clear=function(){n("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},s.prototype.intervalCount=function(){return this.ss.size()},s.prototype.dump=function(){for(let i of this.ss);},e.exports=s}),zp=mt((t,e)=>{ct(),ft(),ht();var r=ey();e.exports.NumberAllocator=r}),ry=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=$0(),r=zp();t.default=class{constructor(n){n>0&&(this.aliasToTopic=new e.LRUCache({max:n}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,n),this.max=n,this.length=0)}put(n,l){if(l===0||l>this.max)return!1;let o=this.aliasToTopic.get(l);return o&&delete this.topicToAlias[o],this.aliasToTopic.set(l,n),this.topicToAlias[n]=l,this.numberAllocator.use(l),this.length=this.aliasToTopic.size,!0}getTopicByAlias(n){return this.aliasToTopic.get(n)}getAliasByTopic(n){let l=this.topicToAlias[n];return typeof l<"u"&&this.aliasToTopic.get(l),l}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}}}),ny=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=jo(),n=e(ry()),l=Dn();t.default=(o,s)=>{o.log("_handleConnack");let{options:i}=o,a=i.protocolVersion===5?s.reasonCode:s.returnCode;if(clearTimeout(o.connackTimer),delete o.topicAliasSend,s.properties){if(s.properties.topicAliasMaximum){if(s.properties.topicAliasMaximum>65535)return void o.emit("error",new Error("topicAliasMaximum from broker is out of range"));s.properties.topicAliasMaximum>0&&(o.topicAliasSend=new n.default(s.properties.topicAliasMaximum))}s.properties.serverKeepAlive&&i.keepalive&&(i.keepalive=s.properties.serverKeepAlive),s.properties.maximumPacketSize&&(i.properties||(i.properties={}),i.properties.maximumPacketSize=s.properties.maximumPacketSize)}if(a===0)o.reconnecting=!1,o._onConnect(s);else if(a>0){let u=new l.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[a]}`,a);o.emit("error",u),o.options.reconnectOnConnackError&&o._cleanUp(!0)}}}),iy=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,r,n)=>{e.log("handling pubrel packet");let l=typeof n<"u"?n:e.noop,{messageId:o}=r,s={cmd:"pubcomp",messageId:o};e.incomingStore.get(r,(i,a)=>{i?e._sendPacket(s,l):(e.emit("message",a.topic,a.payload,a),e.handleMessage(a,u=>{if(u)return l(u);e.incomingStore.del(a,e.noop),e._sendPacket(s,l)}))})}}),oy=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(D0()),n=e(W0()),l=e(ny()),o=e(jo()),s=e(iy());t.default=(i,a,u)=>{let{options:c}=i;if(c.protocolVersion===5&&c.properties&&c.properties.maximumPacketSize&&c.properties.maximumPacketSize{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0}),t.TypedEventEmitter=void 0;var r=e((Nn(),Dt(gn))),n=Dn(),l=class{};t.TypedEventEmitter=l,(0,n.applyMixin)(l,r.default)}),Uo=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.isReactNativeBrowser=t.isWebWorker=void 0;var e,r=()=>{var o,s;return!(typeof self!="object"||(s=(o=self==null?void 0:self.constructor)===null||o===void 0?void 0:o.name)===null||s===void 0||!s.includes("WorkerGlobalScope"))},n=()=>typeof navigator<"u"&&navigator.product==="ReactNative",l=typeof window<"u"&&(typeof navigator<"u"&&((e=navigator.userAgent)===null||e===void 0?void 0:e.toLowerCase().indexOf(" electron/"))>-1&&Nt!=null&&Nt.versions?!Object.prototype.hasOwnProperty.call(Nt.versions,"electron"):typeof window.document<"u")||r()||n();t.isWebWorker=r(),t.isReactNativeBrowser=n(),t.default=l}),ay=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l){var o,s=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,a=2*i,u=new WeakMap,c=function(f,m){return function(b){var _=m.get(b),S=_===void 0?b.size:_s)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;b.has(S);)S=Math.floor(Math.random()*s);return f(b,S)}}((o=u,function(f,m){return o.set(f,m),m}),u),d=function(f){return function(m){var b=f(m);return m.add(b),b}}(c);l.addUniqueNumber=d,l.generateUniqueNumber=c},typeof t=="object"&&typeof e<"u"?n(t):typeof define=="function"&&define.amd?define(["exports"],n):n((r=typeof globalThis<"u"?globalThis:r||self).fastUniqueNumbers={})}),ly=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l,o){l.load=function(s){var i=new Map([[0,function(){}]]),a=new Map([[0,function(){}]]),u=new Map,c=new Worker(s);return c.addEventListener("message",function(d){var f=d.data;if(function(w){return w.method!==void 0&&w.method==="call"}(f)){var m=f.params,b=m.timerId,_=m.timerType;if(_==="interval"){var S=i.get(b);if(typeof S=="number"){var U=u.get(S);if(U===void 0||U.timerId!==b||U.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof S<"u"))throw new Error("The timer is in an undefined state.");S()}}else if(_==="timeout"){var D=a.get(b);if(typeof D=="number"){var K=u.get(D);if(K===void 0||K.timerId!==b||K.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof D<"u"))throw new Error("The timer is in an undefined state.");D(),a.delete(b)}}}else{if(!function(w){return w.error===null&&typeof w.id=="number"}(f)){var V=f.error.message;throw new Error(V)}var Y=f.id,P=u.get(Y);if(P===void 0)throw new Error("The timer is in an undefined state.");var I=P.timerId,E=P.timerType;u.delete(Y),E==="interval"?i.delete(I):a.delete(I)}}),{clearInterval:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"interval"}),i.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"interval"}})},clearTimeout:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"timeout"}),a.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"timeout"}})},setInterval:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,m=o.generateUniqueNumber(i);return i.set(m,function(){d(),typeof i.get(m)=="function"&&c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"interval"}})}),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"interval"}}),m},setTimeout:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,m=o.generateUniqueNumber(a);return a.set(m,d),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"timeout"}}),m}}}},typeof t=="object"&&typeof e<"u"?n(t,ay()):typeof define=="function"&&define.amd?define(["exports","fast-unique-numbers"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimersBroker={},r.fastUniqueNumbers)}),uy=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l,o){var s=function(i,a){var u=null;return function(){if(u!==null)return u;var c=new Blob([a],{type:"application/javascript; charset=utf-8"}),d=URL.createObjectURL(c);return u=i(d),setTimeout(function(){return URL.revokeObjectURL(d)}),u}}(o.load,`(()=>{var e={472:(e,t,r)=>{var o,i;void 0===(i="function"==typeof(o=function(){"use strict";var e=new Map,t=new Map,r=function(t){var r=e.get(t);if(void 0===r)throw new Error('There is no interval scheduled with the given id "'.concat(t,'".'));clearTimeout(r),e.delete(t)},o=function(e){var r=t.get(e);if(void 0===r)throw new Error('There is no timeout scheduled with the given id "'.concat(e,'".'));clearTimeout(r),t.delete(e)},i=function(e,t){var r,o=performance.now();return{expected:o+(r=e-Math.max(0,o-t)),remainingDelay:r}},n=function e(t,r,o,i){var n=performance.now();n>o?postMessage({id:null,method:"call",params:{timerId:r,timerType:i}}):t.set(r,setTimeout(e,o-n,t,r,o,i))},a=function(t,r,o){var a=i(t,o),s=a.expected,d=a.remainingDelay;e.set(r,setTimeout(n,d,e,r,s,"interval"))},s=function(e,r,o){var a=i(e,o),s=a.expected,d=a.remainingDelay;t.set(r,setTimeout(n,d,t,r,s,"timeout"))};addEventListener("message",(function(e){var t=e.data;try{if("clear"===t.method){var i=t.id,n=t.params,d=n.timerId,c=n.timerType;if("interval"===c)r(d),postMessage({error:null,id:i});else{if("timeout"!==c)throw new Error('The given type "'.concat(c,'" is not supported'));o(d),postMessage({error:null,id:i})}}else{if("set"!==t.method)throw new Error('The given method "'.concat(t.method,'" is not supported'));var u=t.params,l=u.delay,p=u.now,m=u.timerId,v=u.timerType;if("interval"===v)a(l,m,p);else{if("timeout"!==v)throw new Error('The given type "'.concat(v,'" is not supported'));s(l,m,p)}}}catch(e){postMessage({error:{message:e.message},id:t.id,result:null})}}))})?o.call(t,r,t,e):o)||(e.exports=i)}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`);l.clearInterval=function(i){return s().clearInterval(i)},l.clearTimeout=function(i){return s().clearTimeout(i)},l.setInterval=function(){var i;return(i=s()).setInterval.apply(i,arguments)},l.setTimeout=function(){var i;return(i=s()).setTimeout.apply(i,arguments)}},typeof t=="object"&&typeof e<"u"?n(t,ly()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimers={},r.workerTimersBroker)}),cy=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(a,u,c,d){d===void 0&&(d=c);var f=Object.getOwnPropertyDescriptor(u,c);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[c]}}),Object.defineProperty(a,d,f)}:function(a,u,c,d){d===void 0&&(d=c),a[d]=u[c]}),r=t&&t.__setModuleDefault||(Object.create?function(a,u){Object.defineProperty(a,"default",{enumerable:!0,value:u})}:function(a,u){a.default=u}),n=t&&t.__importStar||function(a){if(a&&a.__esModule)return a;var u={};if(a!=null)for(var c in a)c!=="default"&&Object.prototype.hasOwnProperty.call(a,c)&&e(u,a,c);return r(u,a),u};Object.defineProperty(t,"__esModule",{value:!0});var l=n(Uo()),o=uy(),s={set:o.setInterval,clear:o.clearInterval},i={set:(a,u)=>setInterval(a,u),clear:a=>clearInterval(a)};t.default=a=>{switch(a){case"native":return i;case"worker":return s;default:return!l.default||l.isWebWorker||l.isReactNativeBrowser?i:s}}}),Kp=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(cy());t.default=class{get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}constructor(n,l){this.destroyed=!1,this.client=n,this.timer=typeof l=="object"&&"set"in l&&"clear"in l?l:(0,r.default)(l),this.setKeepalive(n.options.keepalive)}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(n){if(n*=1e3,isNaN(n)||n<=0||n>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${n}`);this._keepalive=n,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${n}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let n=Math.ceil(1.5*this._keepalive);this._keepaliveTimeoutTimestamp=Date.now()+n,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}}}),Ka=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(Y,P,I,E){E===void 0&&(E=I);var w=Object.getOwnPropertyDescriptor(P,I);(!w||("get"in w?!P.__esModule:w.writable||w.configurable))&&(w={enumerable:!0,get:function(){return P[I]}}),Object.defineProperty(Y,E,w)}:function(Y,P,I,E){E===void 0&&(E=I),Y[E]=P[I]}),r=t&&t.__setModuleDefault||(Object.create?function(Y,P){Object.defineProperty(Y,"default",{enumerable:!0,value:P})}:function(Y,P){Y.default=P}),n=t&&t.__importStar||function(Y){if(Y&&Y.__esModule)return Y;var P={};if(Y!=null)for(var I in Y)I!=="default"&&Object.prototype.hasOwnProperty.call(Y,I)&&e(P,Y,I);return r(P,Y),P},l=t&&t.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(t,"__esModule",{value:!0});var o=l(t0()),s=l(L0()),i=l(xp()),a=mn(),u=l(U0()),c=n(N0()),d=l(dr()),f=l(Rp()),m=l(oy()),b=Dn(),_=sy(),S=l(Kp()),U=n(Uo()),D=globalThis.setImmediate||((...Y)=>{let P=Y.shift();(0,b.nextTick)(()=>{P(...Y)})}),K={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:3e4,clean:!0,resubscribe:!0,writeCache:!0,timerVariant:"auto"},V=class Ga extends _.TypedEventEmitter{static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}constructor(P,I){super(),this.options=I||{};for(let E in K)typeof this.options[E]>"u"?this.options[E]=K[E]:this.options[E]=I[E];this.log=this.options.log||(0,d.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",Ga.VERSION),U.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",U.default?"browser":"node"),this.log("MqttClient :: options.protocol",I.protocol),this.log("MqttClient :: options.protocolVersion",I.protocolVersion),this.log("MqttClient :: options.username",I.username),this.log("MqttClient :: options.keepalive",I.keepalive),this.log("MqttClient :: options.reconnectPeriod",I.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",I.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",I.properties?I.properties.topicAliasMaximum:void 0),this.options.clientId=typeof I.clientId=="string"?I.clientId:Ga.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=I.protocolVersion===5&&I.customHandleAcks?I.customHandleAcks:(...E)=>{E[3](null,0)},this.options.writeCache||(s.default.writeToStream.cacheNumbers=!1),this.streamBuilder=P,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new i.default:this.options.messageIdProvider,this.outgoingStore=I.outgoingStore||new f.default,this.incomingStore=I.incomingStore||new f.default,this.queueQoSZero=I.queueQoSZero===void 0||I.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,I.properties&&I.properties.topicAliasMaximum>0&&(I.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new o.default(I.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:E}=this,w=()=>{let B=E.shift();this.log("deliver :: entry %o",B);let R=null;if(!B)return void this._resubscribe();R=B.packet,this.log("deliver :: call _sendPacket for %o",R);let rt=!0;R.messageId&&R.messageId!==0&&(this.messageIdProvider.register(R.messageId)||(rt=!1)),rt?this._sendPacket(R,st=>{B.cb&&B.cb(st),w()}):(this.log("messageId: %d has already used. The message is skipped and removed.",R.messageId),w())};this.log("connect :: sending queued packets"),w()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}handleAuth(P,I){I()}handleMessage(P,I){I()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var P;let I=new a.Writable,E=s.default.parser(this.options),w=null,B=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),E.on("packet",X=>{this.log("parser :: on packet push to packets array."),B.push(X)});let R=()=>{this.log("work :: getting next packet in queue");let X=B.shift();if(X)this.log("work :: packet pulled from queue"),(0,m.default)(this,X,rt);else{this.log("work :: no packets in queue");let j=w;w=null,this.log("work :: done flag is %s",!!j),j&&j()}},rt=()=>{if(B.length)(0,b.nextTick)(R);else{let X=w;w=null,X()}};I._write=(X,j,N)=>{w=N,this.log("writable stream :: parsing buffer"),E.parse(X),R()},this.log("connect :: pipe stream to writable stream"),this.stream.pipe(I),this.stream.on("error",X=>{this.log("streamErrorHandler :: error",X.message),X.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",X)):this.noop(X)}),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let st={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(st.will=Object.assign(Object.assign({},this.options.will),{payload:(P=this.options.will)===null||P===void 0?void 0:P.payload})),this.topicAliasRecv&&(st.properties||(st.properties={}),this.topicAliasRecv&&(st.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(st),E.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let X=Object.assign({cmd:"auth",reasonCode:0},this.options.authPacket);this._writePacket(X)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(P,I,E,w){this.log("publish :: message `%s` to topic `%s`",I,P);let{options:B}=this;typeof E=="function"&&(w=E,E=null),E=E||{},E=Object.assign(Object.assign({},{qos:0,retain:!1,dup:!1}),E);let{qos:R,retain:rt,dup:st,properties:X,cbStorePut:j}=E;if(this._checkDisconnecting(w))return this;let N=()=>{let $=0;if((R===1||R===2)&&($=this._nextId(),$===null))return this.log("No messageId left"),!1;let nt={cmd:"publish",topic:P,payload:I,qos:R,retain:rt,messageId:$,dup:st};switch(B.protocolVersion===5&&(nt.properties=X),this.log("publish :: qos",R),R){case 1:case 2:this.outgoing[nt.messageId]={volatile:!1,cb:w||this.noop},this.log("MqttClient:publish: packet cmd: %s",nt.cmd),this._sendPacket(nt,void 0,j);break;default:this.log("MqttClient:publish: packet cmd: %s",nt.cmd),this._sendPacket(nt,w,j)}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!N())&&this._storeProcessingQueue.push({invoke:N,cbStorePut:E.cbStorePut,callback:w}),this}publishAsync(P,I,E){return new Promise((w,B)=>{this.publish(P,I,E,(R,rt)=>{R?B(R):w(rt)})})}subscribe(P,I,E){let w=this.options.protocolVersion;typeof I=="function"&&(E=I),E=E||this.noop;let B=!1,R=[];typeof P=="string"?R=P=[P]:Array.isArray(P)?R=P:typeof P=="object"&&(B=P.resubscribe,delete P.resubscribe,R=Object.keys(P));let rt=c.validateTopics(R);if(rt!==null)return D(E,new Error(`Invalid topic ${rt}`)),this;if(this._checkDisconnecting(E))return this.log("subscribe: discconecting true"),this;let st={qos:0};w===5&&(st.nl=!1,st.rap=!1,st.rh=0);let X=(I=Object.assign(Object.assign({},st),I)).properties,j=[],N=(nt,Q)=>{if(Q=Q||I,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,nt)||this._resubscribeTopics[nt].qos{this.log("subscribe: array topic %s",nt),N(nt)}):Object.keys(P).forEach(nt=>{this.log("subscribe: object topic %s, %o",nt,P[nt]),N(nt,P[nt])}),!j.length)return E(null,[]),this;let $=()=>{let nt=this._nextId();if(nt===null)return this.log("No messageId left"),!1;let Q={cmd:"subscribe",subscriptions:j,messageId:nt};if(X&&(Q.properties=X),this.options.resubscribe){this.log("subscribe :: resubscribe true");let G=[];j.forEach(T=>{if(this.options.reconnectPeriod>0){let q={qos:T.qos};w===5&&(q.nl=T.nl||!1,q.rap=T.rap||!1,q.rh=T.rh||0,q.properties=T.properties),this._resubscribeTopics[T.topic]=q,G.push(T.topic)}}),this.messageIdToTopic[Q.messageId]=G}return this.outgoing[Q.messageId]={volatile:!0,cb(G,T){if(!G){let{granted:q}=T;for(let tt=0;tt0||!$())&&this._storeProcessingQueue.push({invoke:$,callback:E}),this}subscribeAsync(P,I){return new Promise((E,w)=>{this.subscribe(P,I,(B,R)=>{B?w(B):E(R)})})}unsubscribe(P,I,E){typeof P=="string"&&(P=[P]),typeof I=="function"&&(E=I),E=E||this.noop;let w=c.validateTopics(P);if(w!==null)return D(E,new Error(`Invalid topic ${w}`)),this;if(this._checkDisconnecting(E))return this;let B=()=>{let R=this._nextId();if(R===null)return this.log("No messageId left"),!1;let rt={cmd:"unsubscribe",messageId:R,unsubscriptions:[]};return typeof P=="string"?rt.unsubscriptions=[P]:Array.isArray(P)&&(rt.unsubscriptions=P),this.options.resubscribe&&rt.unsubscriptions.forEach(st=>{delete this._resubscribeTopics[st]}),typeof I=="object"&&I.properties&&(rt.properties=I.properties),this.outgoing[rt.messageId]={volatile:!0,cb:E},this.log("unsubscribe: call _sendPacket"),this._sendPacket(rt),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!B())&&this._storeProcessingQueue.push({invoke:B,callback:E}),this}unsubscribeAsync(P,I){return new Promise((E,w)=>{this.unsubscribe(P,I,(B,R)=>{B?w(B):E(R)})})}end(P,I,E){this.log("end :: (%s)",this.options.clientId),(P==null||typeof P!="boolean")&&(E=E||I,I=P,P=!1),typeof I!="object"&&(E=E||I,I=null),this.log("end :: cb? %s",!!E),(!E||typeof E!="function")&&(E=this.noop);let w=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(R=>{this.outgoingStore.close(rt=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),E){let st=R||rt;this.log("end :: closeStores: invoking callback with args"),E(st)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},B=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,P),this._cleanUp(P,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,b.nextTick)(w)},I)};return this.disconnecting?(E(),this):(this._clearReconnect(),this.disconnecting=!0,!P&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,B,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),B()),this)}endAsync(P,I){return new Promise((E,w)=>{this.end(P,I,B=>{B?w(B):E()})})}removeOutgoingMessage(P){if(this.outgoing[P]){let{cb:I}=this.outgoing[P];this._removeOutgoingAndStoreMessage(P,()=>{I(new Error("Message removed"))})}return this}reconnect(P){this.log("client reconnect");let I=()=>{P?(this.options.incomingStore=P.incomingStore,this.options.outgoingStore=P.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=I:I(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(P=>{this.outgoing[P].volatile&&typeof this.outgoing[P].cb=="function"&&(this.outgoing[P].cb(new Error("Connection closed")),delete this.outgoing[P])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(P=>{typeof this.outgoing[P].cb=="function"&&(this.outgoing[P].cb(new Error("Connection closed")),delete this.outgoing[P])}))}_removeTopicAliasAndRecoverTopicName(P){let I;P.properties&&(I=P.properties.topicAlias);let E=P.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",I,E),E.length===0){if(typeof I>"u")return new Error("Unregistered Topic Alias");if(E=this.topicAliasSend.getTopicByAlias(I),typeof E>"u")return new Error("Unregistered Topic Alias");P.topic=E}I&&delete P.properties.topicAlias}_checkDisconnecting(P){return this.disconnecting&&(P&&P!==this.noop?P(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(P,I,E={}){if(I&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",I)),this.log("_cleanUp :: forced? %s",P),P)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let w=Object.assign({cmd:"disconnect"},E);this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(w,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),D(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),I&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",I),I())}_storeAndSend(P,I,E){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",P.cmd);let w,B=P;if(B.cmd==="publish"&&(B=(0,u.default)(P),w=this._removeTopicAliasAndRecoverTopicName(B),w))return I&&I(w);this.outgoingStore.put(B,R=>{if(R)return I&&I(R);E(),this._writePacket(P,I)})}_applyTopicAlias(P){if(this.options.protocolVersion===5&&P.cmd==="publish"){let I;P.properties&&(I=P.properties.topicAlias);let E=P.topic.toString();if(this.topicAliasSend)if(I){if(E.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",E,I),!this.topicAliasSend.put(E,I)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,I),new Error("Sending Topic Alias out of range")}else E.length!==0&&(this.options.autoAssignTopicAlias?(I=this.topicAliasSend.getAliasByTopic(E),I?(P.topic="",P.properties=Object.assign(Object.assign({},P.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",E,I)):(I=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(E,I),P.properties=Object.assign(Object.assign({},P.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",E,I))):this.options.autoUseTopicAlias&&(I=this.topicAliasSend.getAliasByTopic(E),I&&(P.topic="",P.properties=Object.assign(Object.assign({},P.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto use topic: %s - alias: %d",E,I))));else if(I)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,I),new Error("Sending Topic Alias out of range")}}_noop(P){this.log("noop ::",P)}_writePacket(P,I){this.log("_writePacket :: packet: %O",P),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",P),this.log("_writePacket :: writing to stream");let E=s.default.writeToStream(P,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",E),!E&&I&&I!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",I)):I&&(this.log("_writePacket :: invoking cb"),I())}_sendPacket(P,I,E,w){this.log("_sendPacket :: (%s) :: start",this.options.clientId),E=E||this.noop,I=I||this.noop;let B=this._applyTopicAlias(P);if(B)I(B);else{if(!this.connected)return P.cmd==="auth"?void this._writePacket(P,I):(this.log("_sendPacket :: client not connected. Storing packet offline."),void this._storePacket(P,I,E));if(w)this._writePacket(P,I);else{switch(P.cmd){case"publish":break;case"pubrel":return void this._storeAndSend(P,I,E);default:return void this._writePacket(P,I)}switch(P.qos){case 2:case 1:this._storeAndSend(P,I,E);break;default:this._writePacket(P,I)}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}}}_storePacket(P,I,E){this.log("_storePacket :: packet: %o",P),this.log("_storePacket :: cb? %s",!!I),E=E||this.noop;let w=P;if(w.cmd==="publish"){w=(0,u.default)(P);let R=this._removeTopicAliasAndRecoverTopicName(w);if(R)return I&&I(R)}let B=w.qos||0;B===0&&this.queueQoSZero||w.cmd!=="publish"?this.queue.push({packet:w,cb:I}):B>0?(I=this.outgoing[w.messageId]?this.outgoing[w.messageId].cb:null,this.outgoingStore.put(w,R=>{if(R)return I&&I(R);E()})):I&&I(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new S.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(P=!1){this.keepaliveManager&&this.options.keepalive&&(P||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let P=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&P.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let I=0;I{let E=this.outgoingStore.createStream(),w=()=>{E.destroy(),E=null,this._flushStoreProcessingQueue(),B()},B=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",w),E.on("error",rt=>{B(),this._flushStoreProcessingQueue(),this.removeListener("close",w),this.emit("error",rt)});let R=()=>{if(!E)return;let rt,st=E.read(1);st?(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[st.messageId]?R():this.disconnecting||this.reconnectTimer?E.destroy&&E.destroy():(rt=this.outgoing[st.messageId]?this.outgoing[st.messageId].cb:null,this.outgoing[st.messageId]={volatile:!1,cb(X,j){rt&&rt(X,j),R()}},this._packetIdsDuringStoreProcessing[st.messageId]=!0,this.messageIdProvider.register(st.messageId)?this._sendPacket(st,void 0,void 0,!0):this.log("messageId: %d has already used.",st.messageId))):E.once("readable",R)};E.on("end",()=>{let rt=!0;for(let st in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[st]){rt=!1;break}this.removeListener("close",w),rt?(B(),this._invokeAllStoreProcessingQueue(),this.emit("connect",P)):I()}),R()};I()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let P=this._storeProcessingQueue[0];if(P&&P.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let P of this._storeProcessingQueue)P.cbStorePut&&P.cbStorePut(new Error("Connection closed")),P.callback&&P.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(P,I){delete this.outgoing[P],this.outgoingStore.del({messageId:P},(E,w)=>{I(E,w),this.messageIdProvider.deallocate(P),this._invokeStoreProcessingQueue()})}};V.VERSION=b.MQTTJS_VERSION,t.default=V}),hy=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=zp();t.default=class{constructor(){this.numberAllocator=new e.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(r){return this.numberAllocator.use(r)}deallocate(r){this.numberAllocator.free(r)}clear(){this.numberAllocator.clear()}}});function Yr(t){throw new RangeError(Qp[t])}function Sc(t,e){let r=t.split("@"),n="";return r.length>1&&(n=r[0]+"@",t=r[1]),n+function(l,o){let s=[],i=l.length;for(;i--;)s[i]=o(l[i]);return s}((t=t.replace(Gp,".")).split("."),e).join(".")}function Ac(t){let e=[],r=0,n=t.length;for(;r=55296&&l<=56319&&r{ct(),ft(),ht(),kc=/^xn--/,Ic=/[^\0-\x7E]/,Gp=/[\x2E\u3002\uFF0E\uFF61]/g,Qp={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Be=Math.floor,Li=String.fromCharCode,bs=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)},vs=function(t,e,r){let n=0;for(t=r?Be(t/700):t>>1,t+=Be(t/e);t>455;n+=36)t=Be(t/35);return Be(n+36*t/(t+38))},ws=function(t){let e=[],r=t.length,n=0,l=128,o=72,s=t.lastIndexOf("-");s<0&&(s=0);for(let a=0;a=128&&Yr("not-basic"),e.push(t.charCodeAt(a));for(let a=s>0?s+1:0;a=r&&Yr("invalid-input");let m=(i=t.charCodeAt(a++))-48<10?i-22:i-65<26?i-65:i-97<26?i-97:36;(m>=36||m>Be((2147483647-n)/d))&&Yr("overflow"),n+=m*d;let b=f<=o?1:f>=o+26?26:f-o;if(mBe(2147483647/_)&&Yr("overflow"),d*=_}let c=e.length+1;o=vs(n-u,c,u==0),Be(n/c)>2147483647-l&&Yr("overflow"),l+=Be(n/c),n%=c,e.splice(n++,0,l)}var i;return String.fromCodePoint(...e)},_s=function(t){let e=[],r=(t=Ac(t)).length,n=128,l=0,o=72;for(let a of t)a<128&&e.push(Li(a));let s=e.length,i=s;for(s&&e.push("-");i=n&&cBe((2147483647-l)/u)&&Yr("overflow"),l+=(a-n)*u,n=a;for(let c of t)if(c2147483647&&Yr("overflow"),c==n){let d=l;for(let f=36;;f+=36){let m=f<=o?1:f>=o+26?26:f-o;if(dString.fromCodePoint(...t)},decode:ws,encode:_s,toASCII:function(t){return Sc(t,function(e){return Ic.test(e)?"xn--"+_s(e):e})},toUnicode:function(t){return Sc(t,function(e){return kc.test(e)?ws(e.slice(4).toLowerCase()):e})}},Xr.encode,Xr.toASCII,Xr.toUnicode,Xr.ucs2,Xr.version});function py(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var Tc,wn,Oc,nr,dy=ne(()=>{ct(),ft(),ht(),Tc=function(t,e,r,n){e=e||"&",r=r||"=";var l={};if(typeof t!="string"||t.length===0)return l;var o=/\+/g;t=t.split(e);var s=1e3;n&&typeof n.maxKeys=="number"&&(s=n.maxKeys);var i=t.length;s>0&&i>s&&(i=s);for(var a=0;a=0?(u=m.substr(0,b),c=m.substr(b+1)):(u=m,c=""),d=decodeURIComponent(u),f=decodeURIComponent(c),py(l,d)?Array.isArray(l[d])?l[d].push(f):l[d]=[l[d],f]:l[d]=f}return l},wn=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}},Oc=function(t,e,r,n){return e=e||"&",r=r||"=",t===null&&(t=void 0),typeof t=="object"?Object.keys(t).map(function(l){var o=encodeURIComponent(wn(l))+r;return Array.isArray(t[l])?t[l].map(function(s){return o+encodeURIComponent(wn(s))}).join(e):o+encodeURIComponent(wn(t[l]))}).join(e):n?encodeURIComponent(wn(n))+r+encodeURIComponent(wn(t)):""},(nr={}).decode=nr.parse=Tc,nr.encode=nr.stringify=Oc,nr.decode,nr.encode,nr.parse,nr.stringify});function Qa(){throw new Error("setTimeout has not been defined")}function Ya(){throw new Error("clearTimeout has not been defined")}function Yp(t){if(or===setTimeout)return setTimeout(t,0);if((or===Qa||!or)&&setTimeout)return or=setTimeout,setTimeout(t,0);try{return or(t,0)}catch{try{return or.call(null,t,0)}catch{return or.call(this||ln,t,0)}}}function gy(){un&&nn&&(un=!1,nn.length?ze=nn.concat(ze):li=-1,ze.length&&Jp())}function Jp(){if(!un){var t=Yp(gy);un=!0;for(var e=ze.length;e;){for(nn=ze,ze=[];++li{ct(),ft(),ht(),ln=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,Gt=xc={},function(){try{or=typeof setTimeout=="function"?setTimeout:Qa}catch{or=Qa}try{sr=typeof clearTimeout=="function"?clearTimeout:Ya}catch{sr=Ya}}(),ze=[],un=!1,li=-1,Gt.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r1)for(var S=1;S{ct(),ft(),ht(),Zi={},Ja=!1,Zr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,(Kt=yy()).platform="browser",Kt.addListener,Kt.argv,Kt.binding,Kt.browser,Kt.chdir,Kt.cwd,Kt.emit,Kt.env,Kt.listeners,Kt.nextTick,Kt.off,Kt.on,Kt.once,Kt.prependListener,Kt.prependOnceListener,Kt.removeAllListeners,Kt.removeListener,Kt.title,Kt.umask,Kt.version,Kt.versions}),Es,Ss,Xa,by=ne(()=>{ct(),ft(),ht(),Xp(),Es={},Ss=!1,Xa=function(){if(Ss)return Es;Ss=!0;var t=Kt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+m)===47)return o.slice(u+m+1);if(m===0)return o.slice(u+m)}else a>d&&(l.charCodeAt(s+m)===47?f=m:m===0&&(f=0));break}var b=l.charCodeAt(s+m);if(b!==o.charCodeAt(u+m))break;b===47&&(f=m)}var _="";for(m=s+f+1;m<=i;++m)(m===i||l.charCodeAt(m)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,m=l.length-1,b=0;m>=s;--m)if((i=l.charCodeAt(m))!==47)d===-1&&(f=!1,d=m+1),i===46?u===-1?u=m:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=m+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Es=n}()}),Zp={};function Ae(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function Kn(t,e,r){if(t&&Me.isObject(t)&&t instanceof Ae)return t;var n=new Ae;return n.parse(t,e,r),n}function vy(t){if(typeof t=="string")t=new URL(t);else if(!(t instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(t.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return go?function(e){let r=e.hostname,n=e.pathname;for(let l=0;lod||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;n_d||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;nyd,Url:()=>fd,default:()=>jt,fileURLToPath:()=>td,format:()=>pd,parse:()=>md,pathToFileURL:()=>ed,resolve:()=>dd,resolveObject:()=>gd});var jt,Rc,Me,Pc,Bc,Mc,Lc,ji,As,ks,Is,jc,Uc,Ui,Jr,Ni,Ts,Os,Za,Nc,rd,nd,id,od,go,sd,ad,ld,ud,cd,hd,Dc,fd,pd,dd,gd,md,yd,bd,vd,wd,_d,mo,Ed,Sd,Ad,kd,Id,Td,_y=ne(()=>{ct(),ft(),ht(),fy(),dy(),my(),by(),Xp(),Rc=Xr,Me={isString:function(t){return typeof t=="string"},isObject:function(t){return typeof t=="object"&&t!==null},isNull:function(t){return t===null},isNullOrUndefined:function(t){return t==null}},(jt={}).parse=Kn,jt.resolve=function(t,e){return Kn(t,!1,!0).resolve(e)},jt.resolveObject=function(t,e){return t?Kn(t,!1,!0).resolveObject(e):e},jt.format=function(t){return Me.isString(t)&&(t=Kn(t)),t instanceof Ae?t.format():Ae.prototype.format.call(t)},jt.Url=Ae,Pc=/^([a-z0-9.+-]+:)/i,Bc=/:[0-9]*$/,Mc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Lc=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` +`," "]),ji=["'"].concat(Lc),As=["%","/","?",";","#"].concat(ji),ks=["/","?","#"],Is=/^[+a-z0-9A-Z_-]{0,63}$/,jc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Uc={javascript:!0,"javascript:":!0},Ui={javascript:!0,"javascript:":!0},Jr={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Ni=nr,Ae.prototype.parse=function(t,e,r){if(!Me.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),l=n!==-1&&n127?V+="x":V+=K[Y];if(!V.match(Is)){var I=U.slice(0,b),E=U.slice(b+1),w=K.match(jc);w&&(I.push(w[1]),E.unshift(w[2])),E.length&&(s="/"+E.join(".")+s),this.hostname=I.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),S||(this.hostname=Rc.toASCII(this.hostname));var B=this.port?":"+this.port:"",R=this.hostname||"";this.host=R+B,this.href+=this.host,S&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),s[0]!=="/"&&(s="/"+s))}if(!Uc[u])for(b=0,D=ji.length;b0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),r.search=t.search,r.query=t.query,Me.isNull(r.pathname)&&Me.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!K.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var Y=K.slice(-1)[0],P=(r.host||t.host||K.length>1)&&(Y==="."||Y==="..")||Y==="",I=0,E=K.length;E>=0;E--)(Y=K[E])==="."?K.splice(E,1):Y===".."?(K.splice(E,1),I++):I&&(K.splice(E,1),I--);if(!U&&!D)for(;I--;I)K.unshift("..");!U||K[0]===""||K[0]&&K[0].charAt(0)==="/"||K.unshift(""),P&&K.join("/").substr(-1)!=="/"&&K.push("");var w,B=K[0]===""||K[0]&&K[0].charAt(0)==="/";return V&&(r.hostname=r.host=B?"":K.length?K.shift():"",(w=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),(U=U||r.host&&K.length)&&!B&&K.unshift(""),K.length?r.pathname=K.join("/"):(r.pathname=null,r.path=null),Me.isNull(r.pathname)&&Me.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},Ae.prototype.parseHost=function(){var t=this.host,e=Bc.exec(t);e&&((e=e[0])!==":"&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)},jt.Url,jt.format,jt.resolve,jt.resolveObject,Ts={},Os=!1,Za=function(){if(Os)return Ts;Os=!0;var t=Qt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+m)===47)return o.slice(u+m+1);if(m===0)return o.slice(u+m)}else a>d&&(l.charCodeAt(s+m)===47?f=m:m===0&&(f=0));break}var b=l.charCodeAt(s+m);if(b!==o.charCodeAt(u+m))break;b===47&&(f=m)}var _="";for(m=s+f+1;m<=i;++m)(m===i||l.charCodeAt(m)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,m=l.length-1,b=0;m>=s;--m)if((i=l.charCodeAt(m))!==47)d===-1&&(f=!1,d=m+1),i===46?u===-1?u=m:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=m+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Ts=n}(),Nc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=wy,jt.fileURLToPath=vy,jt.Url,jt.format,jt.resolve,jt.resolveObject,jt.URL,rd=92,nd=47,id=97,od=122,go=Nc==="win32",sd=/\//g,ad=/%/g,ld=/\\/g,ud=/\n/g,cd=/\r/g,hd=/\t/g,Dc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=ed,jt.fileURLToPath=td,fd=jt.Url,pd=jt.format,dd=jt.resolve,gd=jt.resolveObject,md=jt.parse,yd=jt.URL,bd=92,vd=47,wd=97,_d=122,mo=Dc==="win32",Ed=/\//g,Sd=/%/g,Ad=/\\/g,kd=/\n/g,Id=/\r/g,Td=/\t/g}),Ey=mt((t,e)=>{ct(),ft(),ht(),e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Dl=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.BufferedDuplex=t.writev=void 0;var e=mn(),r=(oe(),Dt(ie));function n(o,s){let i=new Array(o.length);for(let a=0;a{this.destroyed||this.push(a)})}_read(o){this.proxy.read(o)}_write(o,s,i){this.isSocketOpen?this.writeToProxy(o,s,i):this.writeQueue.push({chunk:o,encoding:s,cb:i})}_final(o){this.writeQueue=[],this.proxy.end(o)}_destroy(o,s){this.writeQueue=[],this.proxy.destroy(),s(o)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(o,s,i){this.proxy.write(o,s)===!1?this.proxy.once("drain",i):i()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:o,encoding:s,cb:i}=this.writeQueue.shift();this.writeToProxy(o,s,i)}}};t.BufferedDuplex=l}),Di=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(t,"__esModule",{value:!0}),t.streamBuilder=t.browserStreamBuilder=void 0;var r=(oe(),Dt(ie)),n=e(Ey()),l=e(dr()),o=mn(),s=e(Uo()),i=Dl(),a=(0,l.default)("mqttjs:ws"),u=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function c(f,m){let b=`${f.protocol}://${f.hostname}:${f.port}${f.path}`;return typeof f.transformWsUrl=="function"&&(b=f.transformWsUrl(b,f,m)),b}function d(f){let m=f;return f.port||(f.protocol==="wss"?m.port=443:m.port=80),f.path||(m.path="/"),f.wsOptions||(m.wsOptions={}),!s.default&&!f.forceNativeWebSocket&&f.protocol==="wss"&&u.forEach(b=>{Object.prototype.hasOwnProperty.call(f,b)&&!Object.prototype.hasOwnProperty.call(f.wsOptions,b)&&(m.wsOptions[b]=f[b])}),m}t.streamBuilder=(f,m)=>{a("streamBuilder");let b=d(m);b.hostname=b.hostname||b.host||"localhost";let _=c(b,f),S=function(D,K,V){a("createWebSocket"),a(`protocol: ${V.protocolId} ${V.protocolVersion}`);let Y,P=V.protocolId==="MQIsdp"&&V.protocolVersion===3?"mqttv3.1":"mqtt";return a(`creating new Websocket for url: ${K} and protocol: ${P}`),Y=V.createWebsocket?V.createWebsocket(K,[P],V):new n.default(K,[P],V.wsOptions),Y}(0,_,b),U=n.default.createWebSocketStream(S,b.wsOptions);return U.url=_,S.on("close",()=>{U.destroy()}),U},t.browserStreamBuilder=(f,m)=>{a("browserStreamBuilder");let b,_=function(w){let B=d(w);if(B.hostname||(B.hostname=B.host),!B.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let R=new URL(document.URL);B.hostname=R.hostname,B.port||(B.port=Number(R.port))}return B.objectMode===void 0&&(B.objectMode=!(B.binary===!0||B.binary===void 0)),B}(m).browserBufferSize||524288,S=m.browserBufferTimeout||1e3,U=!m.objectMode,D=function(w,B){let R,rt=B.protocolId==="MQIsdp"&&B.protocolVersion===3?"mqttv3.1":"mqtt",st=c(B,w);return R=B.createWebsocket?B.createWebsocket(st,[rt],B):new WebSocket(st,[rt]),R.binaryType="arraybuffer",R}(f,m),K=function(w,B,R){let rt=new o.Transform({objectMode:w.objectMode});return rt._write=B,rt._flush=R,rt}(m,function w(B,R,rt){if(D.bufferedAmount>_)return void setTimeout(w,S,B,R,rt);U&&typeof B=="string"&&(B=r.Buffer.from(B,"utf8"));try{D.send(B)}catch(st){return rt(st)}rt()},function(w){D.close(),w()});m.objectMode||(K._writev=i.writev.bind(K)),K.on("close",()=>{D.close()});let V=typeof D.addEventListener<"u";function Y(){a("WebSocket onOpen"),b instanceof i.BufferedDuplex&&b.socketReady()}function P(w){a("WebSocket onClose",w),b.end(),b.destroy()}function I(w){a("WebSocket onError",w);let B=new Error("WebSocket error");B.event=w,b.destroy(B)}async function E(w){let{data:B}=w;B=B instanceof ArrayBuffer?r.Buffer.from(B):B instanceof Blob?r.Buffer.from(await new Response(B).arrayBuffer()):r.Buffer.from(B,"utf8"),K&&!K.destroyed&&K.push(B)}return D.readyState===D.OPEN?(b=K,b.socket=D):(b=new i.BufferedDuplex(m,K,D),V?D.addEventListener("open",Y):D.onopen=Y),V?(D.addEventListener("close",P),D.addEventListener("error",I),D.addEventListener("message",E)):(D.onclose=P,D.onerror=I,D.onmessage=E),b}}),Fl={};function Vt(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}pn(Fl,{Server:()=>Vt,Socket:()=>Vt,Stream:()=>Vt,_createServerHandle:()=>Vt,_normalizeArgs:()=>Vt,_setSimultaneousAccepts:()=>Vt,connect:()=>Vt,createConnection:()=>Vt,createServer:()=>Vt,default:()=>Od,isIP:()=>Vt,isIPv4:()=>Vt,isIPv6:()=>Vt});var Od,Cd=ne(()=>{ct(),ft(),ht(),Od={_createServerHandle:Vt,_normalizeArgs:Vt,_setSimultaneousAccepts:Vt,connect:Vt,createConnection:Vt,createServer:Vt,isIP:Vt,isIPv4:Vt,isIPv6:Vt,Server:Vt,Socket:Vt,Stream:Vt}}),Fc=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((Cd(),Dt(Fl))),n=(0,e(dr()).default)("mqttjs:tcp");t.default=(l,o)=>{o.port=o.port||1883,o.hostname=o.hostname||o.host||"localhost";let{port:s,path:i}=o,a=o.hostname;return n("port %d and host %s",s,a),r.default.createConnection({port:s,host:a,path:i})}}),xd={};pn(xd,{default:()=>Rd});var Rd,Sy=ne(()=>{ct(),ft(),ht(),Rd={}}),Wc=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((Sy(),Dt(xd))),n=e((Cd(),Dt(Fl))),l=(0,e(dr()).default)("mqttjs:tls");t.default=(o,s)=>{s.port=s.port||8883,s.host=s.hostname||s.host||"localhost",n.default.isIP(s.host)===0&&(s.servername=s.host),s.rejectUnauthorized=s.rejectUnauthorized!==!1,delete s.path,l("port %d host %s rejectUnauthorized %b",s.port,s.host,s.rejectUnauthorized);let i=r.default.connect(s);function a(u){s.rejectUnauthorized&&o.emit("error",u),i.end()}return i.on("secureConnect",()=>{s.rejectUnauthorized&&!i.authorized?i.emit("error",new Error("TLS not authorized")):i.removeListener("error",a)}),i.on("error",a),i}}),$c=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=mn(),s=Dl();t.default=(i,a)=>{if(a.hostname=a.hostname||a.host,!a.hostname)throw new Error("Could not determine host. Specify host manually.");let u=a.protocolId==="MQIsdp"&&a.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(a);let c=function(f,m){let b=f.protocol==="wxs"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,m)),_}(a,i);e=wx.connectSocket({url:c,protocols:[u]}),r=function(){let f=new o.Transform;return f._write=(m,b,_)=>{e.send({data:m.buffer,success(){_()},fail(S){_(new Error(S))}})},f._flush=m=>{e.close({success(){m()}})},f}(),(n=new s.BufferedDuplex(a,r,e))._destroy=(f,m)=>{e.close({success(){m&&m(f)}})};let d=n.destroy;return n.destroy=(f,m)=>(n.destroy=d,setTimeout(()=>{e.close({fail(){n._destroy(f,m)}})},0),n),e.onOpen(()=>{n.socketReady()}),e.onMessage(f=>{let{data:m}=f;m=m instanceof ArrayBuffer?l.Buffer.from(m):l.Buffer.from(m,"utf8"),r.push(m)}),e.onClose(()=>{n.emit("close"),n.end(),n.destroy()}),e.onError(f=>{let m=new Error(f.errMsg);n.destroy(m)}),n}}),Vc=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=mn(),s=Dl(),i=!1;t.default=(a,u)=>{if(u.hostname=u.hostname||u.host,!u.hostname)throw new Error("Could not determine host. Specify host manually.");let c=u.protocolId==="MQIsdp"&&u.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(u);let d=function(f,m){let b=f.protocol==="alis"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,m)),_}(u,a);return(e=u.my).connectSocket({url:d,protocols:c}),r=function(){let f=new o.Transform;return f._write=(m,b,_)=>{e.sendSocketMessage({data:m.buffer,success(){_()},fail(){_(new Error)}})},f._flush=m=>{e.closeSocket({success(){m()}})},f}(),n=new s.BufferedDuplex(u,r,e),i||(i=!0,e.onSocketOpen(()=>{n.socketReady()}),e.onSocketMessage(f=>{if(typeof f.data=="string"){let m=l.Buffer.from(f.data,"base64");r.push(m)}else{let m=new FileReader;m.addEventListener("load",()=>{let b=m.result;b=b instanceof ArrayBuffer?l.Buffer.from(b):l.Buffer.from(b,"utf8"),r.push(b)}),m.readAsArrayBuffer(f.data)}}),e.onSocketClose(()=>{n.end(),n.destroy()}),e.onSocketError(f=>{n.destroy(f)})),n}}),Ay=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.connectAsync=void 0;var r=e(dr()),n=e((_y(),Dt(Zp))),l=e(Ka()),o=e(Uo());typeof(Nt==null?void 0:Nt.nextTick)!="function"&&(Nt.nextTick=setImmediate);var s=(0,r.default)("mqttjs"),i=null;function a(u,c){var d,f,m,b;if(s("connecting to an MQTT broker..."),typeof u=="object"&&!c&&(c=u,u=""),c=c||{},u&&typeof u=="string"){let S=n.default.parse(u,!0),U={};if(S.port!=null&&(U.port=Number(S.port)),U.host=S.hostname,U.query=S.query,U.auth=S.auth,U.protocol=S.protocol,U.path=S.path,U.protocol=(d=U.protocol)===null||d===void 0?void 0:d.replace(/:$/,""),!(c=Object.assign(Object.assign({},U),c)).protocol)throw new Error("Missing protocol")}if(c.unixSocket=c.unixSocket||((f=c.protocol)===null||f===void 0?void 0:f.includes("+unix")),c.unixSocket?c.protocol=c.protocol.replace("+unix",""):(m=c.protocol)!==null&&m!==void 0&&m.startsWith("ws")||(b=c.protocol)!==null&&b!==void 0&&b.startsWith("wx")||delete c.path,function(S){let U;S.auth&&(U=S.auth.match(/^(.+):(.+)$/),U?(S.username=U[1],S.password=U[2]):S.username=S.auth)}(c),c.query&&typeof c.query.clientId=="string"&&(c.clientId=c.query.clientId),c.cert&&c.key){if(!c.protocol)throw new Error("Missing secure protocol key");if(["mqtts","wss","wxs","alis"].indexOf(c.protocol)===-1)switch(c.protocol){case"mqtt":c.protocol="mqtts";break;case"ws":c.protocol="wss";break;case"wx":c.protocol="wxs";break;case"ali":c.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${c.protocol}"!`)}}if(i||(i={},o.default||c.forceNativeWebSocket?(i.ws=Di().browserStreamBuilder,i.wss=Di().browserStreamBuilder,i.wx=$c().default,i.wxs=$c().default,i.ali=Vc().default,i.alis=Vc().default):(i.ws=Di().streamBuilder,i.wss=Di().streamBuilder,i.mqtt=Fc().default,i.tcp=Fc().default,i.ssl=Wc().default,i.tls=i.ssl,i.mqtts=Wc().default)),!i[c.protocol]){let S=["mqtts","wss"].indexOf(c.protocol)!==-1;c.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((U,D)=>(!S||D%2!=0)&&typeof i[U]=="function")[0]}if(c.clean===!1&&!c.clientId)throw new Error("Missing clientId for unclean clients");c.protocol&&(c.defaultProtocol=c.protocol);let _=new l.default(function(S){return c.servers&&((!S._reconnectCount||S._reconnectCount===c.servers.length)&&(S._reconnectCount=0),c.host=c.servers[S._reconnectCount].host,c.port=c.servers[S._reconnectCount].port,c.protocol=c.servers[S._reconnectCount].protocol?c.servers[S._reconnectCount].protocol:c.defaultProtocol,c.hostname=c.host,S._reconnectCount++),s("calling streambuilder for",c.protocol),i[c.protocol](S,c)},c);return _.on("error",()=>{}),_}t.connectAsync=function(u,c,d=!0){return new Promise((f,m)=>{let b=a(u,c),_={connect:U=>{S(),f(b)},end:()=>{S(),f(b)},error:U=>{S(),b.end(),m(U)}};function S(){Object.keys(_).forEach(U=>{b.off(U,_[U])})}d===!1&&(_.close=()=>{_.error(new Error("Couldn't connect to server"))}),Object.keys(_).forEach(U=>{b.on(U,_[U])})})},t.default=a}),qc=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(m,b,_,S){S===void 0&&(S=_);var U=Object.getOwnPropertyDescriptor(b,_);(!U||("get"in U?!b.__esModule:U.writable||U.configurable))&&(U={enumerable:!0,get:function(){return b[_]}}),Object.defineProperty(m,S,U)}:function(m,b,_,S){S===void 0&&(S=_),m[S]=b[_]}),r=t&&t.__setModuleDefault||(Object.create?function(m,b){Object.defineProperty(m,"default",{enumerable:!0,value:b})}:function(m,b){m.default=b}),n=t&&t.__importStar||function(m){if(m&&m.__esModule)return m;var b={};if(m!=null)for(var _ in m)_!=="default"&&Object.prototype.hasOwnProperty.call(m,_)&&e(b,m,_);return r(b,m),b},l=t&&t.__exportStar||function(m,b){for(var _ in m)_!=="default"&&!Object.prototype.hasOwnProperty.call(b,_)&&e(b,m,_)},o=t&&t.__importDefault||function(m){return m&&m.__esModule?m:{default:m}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=t.KeepaliveManager=t.UniqueMessageIdProvider=t.DefaultMessageIdProvider=t.Store=t.MqttClient=t.connectAsync=t.connect=t.Client=void 0;var s=o(Ka());t.MqttClient=s.default;var i=o(xp());t.DefaultMessageIdProvider=i.default;var a=o(hy());t.UniqueMessageIdProvider=a.default;var u=o(Rp());t.Store=u.default;var c=n(Ay());t.connect=c.default,Object.defineProperty(t,"connectAsync",{enumerable:!0,get:function(){return c.connectAsync}});var d=o(Kp());t.KeepaliveManager=d.default,t.Client=s.default,l(Ka(),t),l(Dn(),t);var f=jo();Object.defineProperty(t,"ReasonCodes",{enumerable:!0,get:function(){return f.ReasonCodes}})});const ub=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(s,i,a,u){u===void 0&&(u=a);var c=Object.getOwnPropertyDescriptor(i,a);(!c||("get"in c?!i.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(s,u,c)}:function(s,i,a,u){u===void 0&&(u=a),s[u]=i[a]}),r=t&&t.__setModuleDefault||(Object.create?function(s,i){Object.defineProperty(s,"default",{enumerable:!0,value:i})}:function(s,i){s.default=i}),n=t&&t.__importStar||function(s){if(s&&s.__esModule)return s;var i={};if(s!=null)for(var a in s)a!=="default"&&Object.prototype.hasOwnProperty.call(s,a)&&e(i,s,a);return r(i,s),i},l=t&&t.__exportStar||function(s,i){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(i,a)&&e(i,s,a)};Object.defineProperty(t,"__esModule",{value:!0});var o=n(qc());t.default=o,l(qc(),t)})();/*! Bundled license information: + +@jspm/core/nodelibs/browser/buffer.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) +*/var ye="top",xe="bottom",Re="right",be="left",tl="auto",Ai=[ye,xe,Re,be],Bn="start",vi="end",Pd="viewport",Gn="popper",Hc=Ai.reduce(function(t,e){return t.concat([e+"-"+Bn,e+"-"+vi])},[]),Bd=[].concat(Ai,[tl]).reduce(function(t,e){return t.concat([e,e+"-"+Bn,e+"-"+vi])},[]),ky=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Ye(t){return t?(t.nodeName||"").toLowerCase():null}function Pe(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function fn(t){return t instanceof Pe(t).Element||t instanceof Element}function Te(t){return t instanceof Pe(t).HTMLElement||t instanceof HTMLElement}function Wl(t){return typeof ShadowRoot<"u"&&(t instanceof Pe(t).ShadowRoot||t instanceof ShadowRoot)}const Iy={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},l=e.attributes[r]||{},o=e.elements[r];Te(o)&&Ye(o)&&(Object.assign(o.style,n),Object.keys(l).forEach(function(s){var i=l[s];i===!1?o.removeAttribute(s):o.setAttribute(s,i===!0?"":i)}))})},effect:function(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var l=e.elements[n],o=e.attributes[n]||{},s=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]).reduce(function(i,a){return i[a]="",i},{});Te(l)&&Ye(l)&&(Object.assign(l.style,s),Object.keys(o).forEach(function(i){l.removeAttribute(i)}))})}},requires:["computeStyles"]};function Ke(t){return t.split("-")[0]}var cn=Math.max,yo=Math.min,Mn=Math.round;function el(){var t=navigator.userAgentData;return t!=null&&t.brands?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Md(){return!/^((?!chrome|android).)*safari/i.test(el())}function Ln(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!1);var n=t.getBoundingClientRect(),l=1,o=1;e&&Te(t)&&(l=t.offsetWidth>0&&Mn(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Mn(n.height)/t.offsetHeight||1);var s=(fn(t)?Pe(t):window).visualViewport,i=!Md()&&r,a=(n.left+(i&&s?s.offsetLeft:0))/l,u=(n.top+(i&&s?s.offsetTop:0))/o,c=n.width/l,d=n.height/o;return{width:c,height:d,top:u,right:a+c,bottom:u+d,left:a,x:a,y:u}}function $l(t){var e=Ln(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function Ld(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&Wl(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function hr(t){return Pe(t).getComputedStyle(t)}function Ty(t){return["table","td","th"].indexOf(Ye(t))>=0}function Lr(t){return((fn(t)?t.ownerDocument:t.document)||window.document).documentElement}function No(t){return Ye(t)==="html"?t:t.assignedSlot||t.parentNode||(Wl(t)?t.host:null)||Lr(t)}function zc(t){return Te(t)&&hr(t).position!=="fixed"?t.offsetParent:null}function ki(t){for(var e=Pe(t),r=zc(t);r&&Ty(r)&&hr(r).position==="static";)r=zc(r);return r&&(Ye(r)==="html"||Ye(r)==="body"&&hr(r).position==="static")?e:r||function(n){var l=/firefox/i.test(el());if(/Trident/i.test(el())&&Te(n)&&hr(n).position==="fixed")return null;var o=No(n);for(Wl(o)&&(o=o.host);Te(o)&&["html","body"].indexOf(Ye(o))<0;){var s=hr(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||l&&s.willChange==="filter"||l&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}(t)||e}function Vl(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Jn(t,e,r){return cn(t,yo(e,r))}function jd(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Ud(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}const Oy={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,n=t.name,l=t.options,o=r.elements.arrow,s=r.modifiersData.popperOffsets,i=Ke(r.placement),a=Vl(i),u=[be,Re].indexOf(i)>=0?"height":"width";if(o&&s){var c=function(E,w){return jd(typeof(E=typeof E=="function"?E(Object.assign({},w.rects,{placement:w.placement})):E)!="number"?E:Ud(E,Ai))}(l.padding,r),d=$l(o),f=a==="y"?ye:be,m=a==="y"?xe:Re,b=r.rects.reference[u]+r.rects.reference[a]-s[a]-r.rects.popper[u],_=s[a]-r.rects.reference[a],S=ki(o),U=S?a==="y"?S.clientHeight||0:S.clientWidth||0:0,D=b/2-_/2,K=c[f],V=U-d[u]-c[m],Y=U/2-d[u]/2+D,P=Jn(K,Y,V),I=a;r.modifiersData[n]=((e={})[I]=P,e.centerOffset=P-Y,e)}},effect:function(t){var e=t.state,r=t.options.element,n=r===void 0?"[data-popper-arrow]":r;n!=null&&(typeof n!="string"||(n=e.elements.popper.querySelector(n)))&&Ld(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function jn(t){return t.split("-")[1]}var Cy={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Kc(t){var e,r=t.popper,n=t.popperRect,l=t.placement,o=t.variation,s=t.offsets,i=t.position,a=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,d=t.isFixed,f=s.x,m=f===void 0?0:f,b=s.y,_=b===void 0?0:b,S=typeof c=="function"?c({x:m,y:_}):{x:m,y:_};m=S.x,_=S.y;var U=s.hasOwnProperty("x"),D=s.hasOwnProperty("y"),K=be,V=ye,Y=window;if(u){var P=ki(r),I="clientHeight",E="clientWidth";P===Pe(r)&&hr(P=Lr(r)).position!=="static"&&i==="absolute"&&(I="scrollHeight",E="scrollWidth"),(l===ye||(l===be||l===Re)&&o===vi)&&(V=xe,_-=(d&&P===Y&&Y.visualViewport?Y.visualViewport.height:P[I])-n.height,_*=a?1:-1),(l===be||(l===ye||l===xe)&&o===vi)&&(K=Re,m-=(d&&P===Y&&Y.visualViewport?Y.visualViewport.width:P[E])-n.width,m*=a?1:-1)}var w,B=Object.assign({position:i},u&&Cy),R=c===!0?function(rt){var st=rt.x,X=rt.y,j=window.devicePixelRatio||1;return{x:Mn(st*j)/j||0,y:Mn(X*j)/j||0}}({x:m,y:_}):{x:m,y:_};return m=R.x,_=R.y,a?Object.assign({},B,((w={})[V]=D?"0":"",w[K]=U?"0":"",w.transform=(Y.devicePixelRatio||1)<=1?"translate("+m+"px, "+_+"px)":"translate3d("+m+"px, "+_+"px, 0)",w)):Object.assign({},B,((e={})[V]=D?_+"px":"",e[K]=U?m+"px":"",e.transform="",e))}var Fi={passive:!0},xy={left:"right",right:"left",bottom:"top",top:"bottom"};function Wi(t){return t.replace(/left|right|bottom|top/g,function(e){return xy[e]})}var Ry={start:"end",end:"start"};function Gc(t){return t.replace(/start|end/g,function(e){return Ry[e]})}function ql(t){var e=Pe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function rl(t){return Ln(Lr(t)).left+ql(t).scrollLeft}function Hl(t){var e=hr(t),r=e.overflow,n=e.overflowX,l=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+l+n)}function Nd(t){return["html","body","#document"].indexOf(Ye(t))>=0?t.ownerDocument.body:Te(t)&&Hl(t)?t:Nd(No(t))}function ui(t,e){var r;e===void 0&&(e=[]);var n=Nd(t),l=n===((r=t.ownerDocument)==null?void 0:r.body),o=Pe(n),s=l?[o].concat(o.visualViewport||[],Hl(n)?n:[]):n,i=e.concat(s);return l?i:i.concat(ui(No(s)))}function nl(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Qc(t,e,r){return e===Pd?nl(function(n,l){var o=Pe(n),s=Lr(n),i=o.visualViewport,a=s.clientWidth,u=s.clientHeight,c=0,d=0;if(i){a=i.width,u=i.height;var f=Md();(f||!f&&l==="fixed")&&(c=i.offsetLeft,d=i.offsetTop)}return{width:a,height:u,x:c+rl(n),y:d}}(t,r)):fn(e)?function(n,l){var o=Ln(n,!1,l==="fixed");return o.top=o.top+n.clientTop,o.left=o.left+n.clientLeft,o.bottom=o.top+n.clientHeight,o.right=o.left+n.clientWidth,o.width=n.clientWidth,o.height=n.clientHeight,o.x=o.left,o.y=o.top,o}(e,r):nl(function(n){var l,o=Lr(n),s=ql(n),i=(l=n.ownerDocument)==null?void 0:l.body,a=cn(o.scrollWidth,o.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),u=cn(o.scrollHeight,o.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),c=-s.scrollLeft+rl(n),d=-s.scrollTop;return hr(i||o).direction==="rtl"&&(c+=cn(o.clientWidth,i?i.clientWidth:0)-a),{width:a,height:u,x:c,y:d}}(Lr(t)))}function Py(t,e,r,n){var l=e==="clippingParents"?function(a){var u=ui(No(a)),c=["absolute","fixed"].indexOf(hr(a).position)>=0&&Te(a)?ki(a):a;return fn(c)?u.filter(function(d){return fn(d)&&Ld(d,c)&&Ye(d)!=="body"}):[]}(t):[].concat(e),o=[].concat(l,[r]),s=o[0],i=o.reduce(function(a,u){var c=Qc(t,u,n);return a.top=cn(c.top,a.top),a.right=yo(c.right,a.right),a.bottom=yo(c.bottom,a.bottom),a.left=cn(c.left,a.left),a},Qc(t,s,n));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Dd(t){var e,r=t.reference,n=t.element,l=t.placement,o=l?Ke(l):null,s=l?jn(l):null,i=r.x+r.width/2-n.width/2,a=r.y+r.height/2-n.height/2;switch(o){case ye:e={x:i,y:r.y-n.height};break;case xe:e={x:i,y:r.y+r.height};break;case Re:e={x:r.x+r.width,y:a};break;case be:e={x:r.x-n.width,y:a};break;default:e={x:r.x,y:r.y}}var u=o?Vl(o):null;if(u!=null){var c=u==="y"?"height":"width";switch(s){case Bn:e[u]=e[u]-(r[c]/2-n[c]/2);break;case vi:e[u]=e[u]+(r[c]/2-n[c]/2)}}return e}function wi(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=n===void 0?t.placement:n,o=r.strategy,s=o===void 0?t.strategy:o,i=r.boundary,a=i===void 0?"clippingParents":i,u=r.rootBoundary,c=u===void 0?Pd:u,d=r.elementContext,f=d===void 0?Gn:d,m=r.altBoundary,b=m!==void 0&&m,_=r.padding,S=_===void 0?0:_,U=jd(typeof S!="number"?S:Ud(S,Ai)),D=f===Gn?"reference":Gn,K=t.rects.popper,V=t.elements[b?D:f],Y=Py(fn(V)?V:V.contextElement||Lr(t.elements.popper),a,c,s),P=Ln(t.elements.reference),I=Dd({reference:P,element:K,strategy:"absolute",placement:l}),E=nl(Object.assign({},K,I)),w=f===Gn?E:P,B={top:Y.top-w.top+U.top,bottom:w.bottom-Y.bottom+U.bottom,left:Y.left-w.left+U.left,right:w.right-Y.right+U.right},R=t.modifiersData.offset;if(f===Gn&&R){var rt=R[l];Object.keys(B).forEach(function(st){var X=[Re,xe].indexOf(st)>=0?1:-1,j=[ye,xe].indexOf(st)>=0?"y":"x";B[st]+=rt[j]*X})}return B}function By(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=r.boundary,o=r.rootBoundary,s=r.padding,i=r.flipVariations,a=r.allowedAutoPlacements,u=a===void 0?Bd:a,c=jn(n),d=c?i?Hc:Hc.filter(function(b){return jn(b)===c}):Ai,f=d.filter(function(b){return u.indexOf(b)>=0});f.length===0&&(f=d);var m=f.reduce(function(b,_){return b[_]=wi(t,{placement:_,boundary:l,rootBoundary:o,padding:s})[Ke(_)],b},{});return Object.keys(m).sort(function(b,_){return m[b]-m[_]})}const My={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s===void 0||s,a=r.fallbackPlacements,u=r.padding,c=r.boundary,d=r.rootBoundary,f=r.altBoundary,m=r.flipVariations,b=m===void 0||m,_=r.allowedAutoPlacements,S=e.options.placement,U=Ke(S),D=a||(U===S||!b?[Wi(S)]:function(T){if(Ke(T)===tl)return[];var q=Wi(T);return[Gc(T),q,Gc(q)]}(S)),K=[S].concat(D).reduce(function(T,q){return T.concat(Ke(q)===tl?By(e,{placement:q,boundary:c,rootBoundary:d,padding:u,flipVariations:b,allowedAutoPlacements:_}):q)},[]),V=e.rects.reference,Y=e.rects.popper,P=new Map,I=!0,E=K[0],w=0;w=0,X=st?"width":"height",j=wi(e,{placement:B,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),N=st?rt?Re:be:rt?xe:ye;V[X]>Y[X]&&(N=Wi(N));var $=Wi(N),nt=[];if(o&&nt.push(j[R]<=0),i&&nt.push(j[N]<=0,j[$]<=0),nt.every(function(T){return T})){E=B,I=!1;break}P.set(B,nt)}if(I)for(var Q=function(T){var q=K.find(function(tt){var it=P.get(tt);if(it)return it.slice(0,T).every(function(lt){return lt})});if(q)return E=q,"break"},G=b?3:1;G>0&&Q(G)!=="break";G--);e.placement!==E&&(e.modifiersData[n]._skip=!0,e.placement=E,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Yc(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function Jc(t){return[ye,Re,xe,be].some(function(e){return t[e]>=0})}const Ly={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.offset,o=l===void 0?[0,0]:l,s=Bd.reduce(function(c,d){return c[d]=function(f,m,b){var _=Ke(f),S=[be,ye].indexOf(_)>=0?-1:1,U=typeof b=="function"?b(Object.assign({},m,{placement:f})):b,D=U[0],K=U[1];return D=D||0,K=(K||0)*S,[be,Re].indexOf(_)>=0?{x:K,y:D}:{x:D,y:K}}(d,e.rects,o),c},{}),i=s[e.placement],a=i.x,u=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=a,e.modifiersData.popperOffsets.y+=u),e.modifiersData[n]=s}},jy={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s!==void 0&&s,a=r.boundary,u=r.rootBoundary,c=r.altBoundary,d=r.padding,f=r.tether,m=f===void 0||f,b=r.tetherOffset,_=b===void 0?0:b,S=wi(e,{boundary:a,rootBoundary:u,padding:d,altBoundary:c}),U=Ke(e.placement),D=jn(e.placement),K=!D,V=Vl(U),Y=V==="x"?"y":"x",P=e.modifiersData.popperOffsets,I=e.rects.reference,E=e.rects.popper,w=typeof _=="function"?_(Object.assign({},e.rects,{placement:e.placement})):_,B=typeof w=="number"?{mainAxis:w,altAxis:w}:Object.assign({mainAxis:0,altAxis:0},w),R=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,rt={x:0,y:0};if(P){if(o){var st,X=V==="y"?ye:be,j=V==="y"?xe:Re,N=V==="y"?"height":"width",$=P[V],nt=$+S[X],Q=$-S[j],G=m?-E[N]/2:0,T=D===Bn?I[N]:E[N],q=D===Bn?-E[N]:-I[N],tt=e.elements.arrow,it=m&&tt?$l(tt):{width:0,height:0},lt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ut=lt[X],pt=lt[j],H=Jn(0,I[N],it[N]),et=K?I[N]/2-G-H-ut-B.mainAxis:T-H-ut-B.mainAxis,Z=K?-I[N]/2+G+H+pt+B.mainAxis:q+H+pt+B.mainAxis,dt=e.elements.arrow&&ki(e.elements.arrow),L=dt?V==="y"?dt.clientTop||0:dt.clientLeft||0:0,A=(st=R==null?void 0:R[V])!=null?st:0,F=$+Z-A,h=Jn(m?yo(nt,$+et-A-L):nt,$,m?cn(Q,F):Q);P[V]=h,rt[V]=h-$}if(i){var p,y=V==="x"?ye:be,O=V==="x"?xe:Re,x=P[Y],C=Y==="y"?"height":"width",g=x+S[y],v=x-S[O],k=[ye,be].indexOf(U)!==-1,M=(p=R==null?void 0:R[Y])!=null?p:0,W=k?g:x-I[C]-E[C]-M+B.altAxis,J=k?x+I[C]+E[C]-M-B.altAxis:v,at=m&&k?function(ot,vt,bt){var wt=Jn(ot,vt,bt);return wt>bt?bt:wt}(W,x,J):Jn(m?W:g,x,m?J:v);P[Y]=at,rt[Y]=at-x}e.modifiersData[n]=rt}},requiresIfExists:["offset"]};function Uy(t,e,r){r===void 0&&(r=!1);var n,l,o=Te(e),s=Te(e)&&function(d){var f=d.getBoundingClientRect(),m=Mn(f.width)/d.offsetWidth||1,b=Mn(f.height)/d.offsetHeight||1;return m!==1||b!==1}(e),i=Lr(e),a=Ln(t,s,r),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(o||!o&&!r)&&((Ye(e)!=="body"||Hl(i))&&(u=(n=e)!==Pe(n)&&Te(n)?{scrollLeft:(l=n).scrollLeft,scrollTop:l.scrollTop}:ql(n)),Te(e)?((c=Ln(e,!0)).x+=e.clientLeft,c.y+=e.clientTop):i&&(c.x=rl(i))),{x:a.left+u.scrollLeft-c.x,y:a.top+u.scrollTop-c.y,width:a.width,height:a.height}}function Ny(t){var e=new Map,r=new Set,n=[];function l(o){r.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(s){if(!r.has(s)){var i=e.get(s);i&&l(i)}}),n.push(o)}return t.forEach(function(o){e.set(o.name,o)}),t.forEach(function(o){r.has(o.name)||l(o)}),n}function Dy(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}var Xc={placement:"bottom",modifiers:[],strategy:"absolute"};function Zc(){for(var t=arguments.length,e=new Array(t),r=0;r{};let $n={},Ke={},Xe=null,Ve={mark:fe,measure:fe};try{typeof window<"u"&&($n=window),typeof document<"u"&&(Ke=document),typeof MutationObserver<"u"&&(Xe=MutationObserver),typeof performance<"u"&&(Ve=performance)}catch{}const{userAgent:ue=""}=$n.navigator||{},Y=$n,v=Ke,me=Xe,sn=Ve;Y.document;const R=!!v.documentElement&&!!v.head&&typeof v.addEventListener=="function"&&typeof v.createElement=="function",Ge=~ue.indexOf("MSIE")||~ue.indexOf("Trident/");var Ze={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},Je=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],O="classic",hn="duotone",Qe=[O,hn,"sharp","sharp-duotone"],Pt=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),St=["fak","fa-kit","fakd","fa-kit-duotone"],Ct={fak:"kit","fa-kit":"kit"},jt={fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"},Et=["fak","fakd"],It={kit:"fak"},Ft={"kit-duotone":"fakd"},cn={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Dt=["fak","fa-kit","fakd","fa-kit-duotone"],En={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},In=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],$e=[1,2,3,4,5,6,7,8,9,10],Rt=$e.concat([11,12,13,14,15,16,17,18,19,20]),Tt=[...Object.keys({classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]}),"solid","regular","light","thin","duotone","brands","2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",cn.GROUP,cn.SWAP_OPACITY,cn.PRIMARY,cn.SECONDARY].concat($e.map(n=>"".concat(n,"x"))).concat(Rt.map(n=>"w-".concat(n)));const I="___FONT_AWESOME___",Fn=16,nt="svg-inline--fa",U="data-fa-i2svg",Dn="data-fa-pseudo-element",Rn="data-prefix",Tn="data-icon",de="fontawesome-i2svg",Bt=["HTML","HEAD","STYLE","SCRIPT"],et=(()=>{try{return!0}catch{return!1}})();function an(n){return new Proxy(n,{get:(e,t)=>t in e?e[t]:e[O]})}const tt=s({},Ze);tt[O]=s(s(s(s({},{"fa-duotone":"duotone"}),Ze[O]),Ct),jt);const Yt=an(tt),Bn=s({},{classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}});Bn[O]=s(s(s(s({},{duotone:"fad"}),Bn[O]),It),Ft);const pe=an(Bn),Yn=s({},En);Yn[O]=s(s({},Yn[O]),{fak:"fa-kit"});const ne=an(Yn),zn=s({},{classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}});zn[O]=s(s({},zn[O]),{"fa-kit":"fak"}),an(zn);const Wt=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,at="fa-layers-text",Ht=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;an(s({},{classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}}));const _t=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],An={GROUP:"duotone-group",PRIMARY:"primary",SECONDARY:"secondary"},Ut=["kit",...Tt],nn=Y.FontAwesomeConfig||{};v&&typeof v.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(n=>{let[e,t]=n;const a=function(r){return r===""||r!=="false"&&(r==="true"||r)}(function(r){var i=v.querySelector("script["+r+"]");if(i)return i.getAttribute(r)}(e));a!=null&&(nn[t]=a)});const rt={styleDefault:"solid",familyDefault:O,cssPrefix:"fa",replacementClass:nt,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};nn.familyPrefix&&(nn.cssPrefix=nn.familyPrefix);const V=s(s({},rt),nn);V.autoReplaceSvg||(V.observeMutations=!1);const p={};Object.keys(rt).forEach(n=>{Object.defineProperty(p,n,{enumerable:!0,set:function(e){V[n]=e,Wn.forEach(t=>t(p))},get:function(){return V[n]}})}),Object.defineProperty(p,"familyPrefix",{enumerable:!0,set:function(n){V.cssPrefix=n,Wn.forEach(e=>e(p))},get:function(){return V.cssPrefix}}),Y.FontAwesomeConfig=p;const Wn=[],B=Fn,C={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function tn(){let n=12,e="";for(;n-- >0;)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return e}function J(n){const e=[];for(let t=(n||[]).length>>>0;t--;)e[t]=n[t];return e}function ee(n){return n.classList?J(n.classList):(n.getAttribute("class")||"").split(" ").filter(e=>e)}function ge(n){return"".concat(n).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function bn(n){return Object.keys(n||{}).reduce((e,t)=>e+"".concat(t,": ").concat(n[t].trim(),";"),"")}function te(n){return n.size!==C.size||n.x!==C.x||n.y!==C.y||n.rotate!==C.rotate||n.flipX||n.flipY}function it(){const n="fa",e=nt,t=p.cssPrefix,a=p.replacementClass;let r=`:root, :host { + */function Nt(n,e,t){return(e=function(a){var r=function(i,o){if(typeof i!="object"||!i)return i;var l=i[Symbol.toPrimitive];if(l!==void 0){var f=l.call(i,o||"default");if(typeof f!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(i)}(a,"string");return typeof r=="symbol"?r:r+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function le(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,a)}return t}function s(n){for(var e=1;e{};let $n={},Ke={},Xe=null,Ve={mark:fe,measure:fe};try{typeof window<"u"&&($n=window),typeof document<"u"&&(Ke=document),typeof MutationObserver<"u"&&(Xe=MutationObserver),typeof performance<"u"&&(Ve=performance)}catch{}const{userAgent:ue=""}=$n.navigator||{},Y=$n,v=Ke,me=Xe,sn=Ve;Y.document;const R=!!v.documentElement&&!!v.head&&typeof v.addEventListener=="function"&&typeof v.createElement=="function",Ge=~ue.indexOf("MSIE")||~ue.indexOf("Trident/");var Ze={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},Je=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],O="classic",hn="duotone",Qe=[O,hn,"sharp","sharp-duotone"],Pt=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),St=["fak","fa-kit","fakd","fa-kit-duotone"],Ct={fak:"kit","fa-kit":"kit"},jt={fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"},Et=["fak","fakd"],It={kit:"fak"},Ft={"kit-duotone":"fakd"},cn={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Dt=["fak","fa-kit","fakd","fa-kit-duotone"],En={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},In=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],$e=[1,2,3,4,5,6,7,8,9,10],Rt=$e.concat([11,12,13,14,15,16,17,18,19,20]),Tt=[...Object.keys({classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]}),"solid","regular","light","thin","duotone","brands","2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",cn.GROUP,cn.SWAP_OPACITY,cn.PRIMARY,cn.SECONDARY].concat($e.map(n=>"".concat(n,"x"))).concat(Rt.map(n=>"w-".concat(n)));const I="___FONT_AWESOME___",Fn=16,nt="svg-inline--fa",U="data-fa-i2svg",Dn="data-fa-pseudo-element",Rn="data-prefix",Tn="data-icon",de="fontawesome-i2svg",Bt=["HTML","HEAD","STYLE","SCRIPT"],et=(()=>{try{return!0}catch{return!1}})();function an(n){return new Proxy(n,{get:(e,t)=>t in e?e[t]:e[O]})}const tt=s({},Ze);tt[O]=s(s(s(s({},{"fa-duotone":"duotone"}),Ze[O]),Ct),jt);const Yt=an(tt),Bn=s({},{classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}});Bn[O]=s(s(s(s({},{duotone:"fad"}),Bn[O]),It),Ft);const pe=an(Bn),Yn=s({},En);Yn[O]=s(s({},Yn[O]),{fak:"fa-kit"});const ne=an(Yn),zn=s({},{classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}});zn[O]=s(s({},zn[O]),{"fa-kit":"fak"}),an(zn);const Wt=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,at="fa-layers-text",_t=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;an(s({},{classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}}));const Ht=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],An={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Ut=["kit",...Tt],nn=Y.FontAwesomeConfig||{};v&&typeof v.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(n=>{let[e,t]=n;const a=function(r){return r===""||r!=="false"&&(r==="true"||r)}(function(r){var i=v.querySelector("script["+r+"]");if(i)return i.getAttribute(r)}(e));a!=null&&(nn[t]=a)});const rt={styleDefault:"solid",familyDefault:O,cssPrefix:"fa",replacementClass:nt,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};nn.familyPrefix&&(nn.cssPrefix=nn.familyPrefix);const V=s(s({},rt),nn);V.autoReplaceSvg||(V.observeMutations=!1);const p={};Object.keys(rt).forEach(n=>{Object.defineProperty(p,n,{enumerable:!0,set:function(e){V[n]=e,Wn.forEach(t=>t(p))},get:function(){return V[n]}})}),Object.defineProperty(p,"familyPrefix",{enumerable:!0,set:function(n){V.cssPrefix=n,Wn.forEach(e=>e(p))},get:function(){return V.cssPrefix}}),Y.FontAwesomeConfig=p;const Wn=[],B=Fn,C={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function tn(){let n=12,e="";for(;n-- >0;)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return e}function J(n){const e=[];for(let t=(n||[]).length>>>0;t--;)e[t]=n[t];return e}function ee(n){return n.classList?J(n.classList):(n.getAttribute("class")||"").split(" ").filter(e=>e)}function ge(n){return"".concat(n).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function bn(n){return Object.keys(n||{}).reduce((e,t)=>e+"".concat(t,": ").concat(n[t].trim(),";"),"")}function te(n){return n.size!==C.size||n.x!==C.x||n.y!==C.y||n.rotate!==C.rotate||n.flipX||n.flipY}function it(){const n="fa",e=nt,t=p.cssPrefix,a=p.replacementClass;let r=`:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; @@ -555,10 +555,10 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; -}`;if(t!==n||a!==e){const i=new RegExp("\\.".concat(n,"\\-"),"g"),o=new RegExp("\\--".concat(n,"\\-"),"g"),l=new RegExp("\\.".concat(e),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(l,".".concat(a))}return r}let he=!1;function Ln(){p.autoAddCss&&!he&&(function(n){if(!n||!R)return;const e=v.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=n;const t=v.head.childNodes;let a=null;for(let r=t.length-1;r>-1;r--){const i=t[r],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(a=i)}v.head.insertBefore(e,a)}(it()),he=!0)}var qt={mixout:()=>({dom:{css:it,insertCss:Ln}}),hooks:()=>({beforeDOMElementCreation(){Ln()},beforeI2svg(){Ln()}})};const F=Y||{};F[I]||(F[I]={}),F[I].styles||(F[I].styles={}),F[I].hooks||(F[I].hooks={}),F[I].shims||(F[I].shims=[]);var j=F[I];const ot=[],st=function(){v.removeEventListener("DOMContentLoaded",st),pn=1,ot.map(n=>n())};let pn=!1;function rn(n){const{tag:e,attributes:t={},children:a=[]}=n;return typeof n=="string"?ge(n):"<".concat(e," ").concat(function(r){return Object.keys(r||{}).reduce((i,o)=>i+"".concat(o,'="').concat(ge(r[o]),'" '),"").trim()}(t),">").concat(a.map(rn).join(""),"")}function be(n,e,t){if(n&&n[e]&&n[e][t])return{prefix:e,iconName:t,icon:n[e][t]}}R&&(pn=(v.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(v.readyState),pn||v.addEventListener("DOMContentLoaded",st));var On=function(n,e,t,a){var r,i,o,l=Object.keys(n),f=l.length,c=e;for(t===void 0?(r=1,o=n[l[0]]):(r=0,o=t);r=55296&&o<=56319&&r{const a=n[t];return a.icon?e[a.iconName]=a.icon:e[t]=a,e},{})}function Hn(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:a=!1}=t,r=ye(e);typeof j.hooks.addPack!="function"||a?j.styles[n]=s(s({},j.styles[n]||{}),r):j.hooks.addPack(n,ye(e)),n==="fas"&&Hn("fa",e)}const{styles:en,shims:Kt}=j,lt=Object.keys(ne),Xt=lt.reduce((n,e)=>(n[e]=Object.keys(ne[e]),n),{});let ae=null,ft={},ut={},mt={},dt={},pt={};function Vt(n,e){const t=e.split("-"),a=t[0],r=t.slice(1).join("-");return a!==n||r===""||(i=r,~Ut.indexOf(i))?null:r;var i}const gt=()=>{const n=a=>On(en,(r,i,o)=>(r[o]=On(i,a,{}),r),{});ft=n((a,r,i)=>(r[3]&&(a[r[3]]=i),r[2]&&r[2].filter(o=>typeof o=="number").forEach(o=>{a[o.toString(16)]=i}),a)),ut=n((a,r,i)=>(a[i]=i,r[2]&&r[2].filter(o=>typeof o=="string").forEach(o=>{a[o]=i}),a)),pt=n((a,r,i)=>{const o=r[2];return a[i]=i,o.forEach(l=>{a[l]=i}),a});const e="far"in en||p.autoFetchSvg,t=On(Kt,(a,r)=>{const i=r[0];let o=r[1];const l=r[2];return o!=="far"||e||(o="fas"),typeof i=="string"&&(a.names[i]={prefix:o,iconName:l}),typeof i=="number"&&(a.unicodes[i.toString(16)]={prefix:o,iconName:l}),a},{names:{},unicodes:{}});mt=t.names,dt=t.unicodes,ae=yn(p.styleDefault,{family:p.familyDefault})};var ve;function _n(n,e){return(ft[n]||{})[e]}function _(n,e){return(pt[n]||{})[e]}function ht(n){return mt[n]||{prefix:null,iconName:null}}function W(){return ae}ve=n=>{ae=yn(n.styleDefault,{family:p.familyDefault})},Wn.push(ve),gt();function yn(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:t=O}=e,a=Yt[t][n];if(t===hn&&!n)return"fad";const r=pe[t][n]||pe[t][a],i=n in j.styles?n:null;return r||i||null}function xe(n){return n.sort().filter((e,t,a)=>a.indexOf(e)===t)}function vn(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:t=!1}=e;let a=null;const r=In.concat(Dt),i=xe(n.filter(d=>r.includes(d))),o=xe(n.filter(d=>!In.includes(d))),l=i.filter(d=>(a=d,!Je.includes(d))),[f=null]=l,c=function(d){let u=O;const h=lt.reduce((g,b)=>(g[b]="".concat(p.cssPrefix,"-").concat(b),g),{});return Qe.forEach(g=>{(d.includes(h[g])||d.some(b=>Xt[g].includes(b)))&&(u=g)}),u}(i),m=s(s({},function(d){let u=[],h=null;return d.forEach(g=>{const b=Vt(p.cssPrefix,g);b?h=b:g&&u.push(g)}),{iconName:h,rest:u}}(o)),{},{prefix:yn(f,{family:c})});return s(s(s({},m),function(d){const{values:u,family:h,canonical:g,givenPrefix:b="",styles:k={},config:z={}}=d,x=h===hn,w=u.includes("fa-duotone")||u.includes("fad"),M=z.familyDefault==="duotone",y=g.prefix==="fad"||g.prefix==="fa-duotone";if(!x&&(w||M||y)&&(g.prefix="fad"),(u.includes("fa-brands")||u.includes("fab"))&&(g.prefix="fab"),!g.prefix&&Gt.includes(h)&&(Object.keys(k).find(A=>Zt.includes(A))||z.autoFetchSvg)){const A=Pt.get(h).defaultShortPrefixId;g.prefix=A,g.iconName=_(g.prefix,g.iconName)||g.iconName}return g.prefix!=="fa"&&b!=="fa"||(g.prefix=W()||"fas"),g}({values:n,family:c,styles:en,config:p,canonical:m,givenPrefix:a})),function(d,u,h){let{prefix:g,iconName:b}=h;if(d||!g||!b)return{prefix:g,iconName:b};const k=u==="fa"?ht(b):{},z=_(g,b);return b=k.iconName||z||b,g=k.prefix||g,g!=="far"||en.far||!en.fas||p.autoFetchSvg||(g="fas"),{prefix:g,iconName:b}}(t,a,m))}const Gt=Qe.filter(n=>n!==O||n!==hn),Zt=Object.keys(En).filter(n=>n!==O).map(n=>Object.keys(En[n])).flat();let ke=[],G={};const Z={},Jt=Object.keys(Z);function Un(n,e){for(var t=arguments.length,a=new Array(t>2?t-2:0),r=2;r{e=i.apply(null,[e,...a])}),e}function q(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),a=1;a{r.apply(null,t)})}function H(){const n=arguments[0],e=Array.prototype.slice.call(arguments,1);return Z[n]?Z[n].apply(null,e):void 0}function qn(n){n.prefix==="fa"&&(n.prefix="fas");let{iconName:e}=n;const t=n.prefix||W();if(e)return e=_(t,e)||e,be(bt.definitions,t,e)||be(j.styles,t,e)}const bt=new class{constructor(){this.definitions={}}add(){for(var n=arguments.length,e=new Array(n),t=0;t{this.definitions[r]=s(s({},this.definitions[r]||{}),a[r]),Hn(r,a[r]);const i=ne[O][r];i&&Hn(i,a[r]),gt()})}reset(){this.definitions={}}_pullDefinitions(n,e){const t=e.prefix&&e.iconName&&e.icon?{0:e}:e;return Object.keys(t).map(a=>{const{prefix:r,iconName:i,icon:o}=t[a],l=o[2];n[r]||(n[r]={}),l.length>0&&l.forEach(f=>{typeof f=="string"&&(n[r][f]=o)}),n[r][i]=o}),n}},Qt={i2svg:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return R?(q("beforeI2svg",n),H("pseudoElements2svg",n),H("i2svg",n)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e}=n;var t;p.autoReplaceSvg===!1&&(p.autoReplaceSvg=!0),p.observeMutations=!0,t=()=>{$t({autoReplaceSvgRoot:e}),q("watch",n)},R&&(pn?setTimeout(t,0):ot.push(t))}},on={noAuto:()=>{p.autoReplaceSvg=!1,p.observeMutations=!1,q("noAuto")},config:p,dom:Qt,parse:{icon:n=>{if(n===null)return null;if(typeof n=="object"&&n.prefix&&n.iconName)return{prefix:n.prefix,iconName:_(n.prefix,n.iconName)||n.iconName};if(Array.isArray(n)&&n.length===2){const e=n[1].indexOf("fa-")===0?n[1].slice(3):n[1],t=yn(n[0]);return{prefix:t,iconName:_(t,e)||e}}if(typeof n=="string"&&(n.indexOf("".concat(p.cssPrefix,"-"))>-1||n.match(Wt))){const e=vn(n.split(" "),{skipLookups:!0});return{prefix:e.prefix||W(),iconName:_(e.prefix,e.iconName)||e.iconName}}if(typeof n=="string"){const e=W();return{prefix:e,iconName:_(e,n)||n}}}},library:bt,findIconDefinition:qn,toHtml:rn},$t=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e=v}=n;(Object.keys(j.styles).length>0||p.autoFetchSvg)&&R&&p.autoReplaceSvg&&on.dom.i2svg({node:e})};function xn(n,e){return Object.defineProperty(n,"abstract",{get:e}),Object.defineProperty(n,"html",{get:function(){return n.abstract.map(t=>rn(t))}}),Object.defineProperty(n,"node",{get:function(){if(!R)return;const t=v.createElement("div");return t.innerHTML=n.html,t.children}}),n}function re(n){const{icons:{main:e,mask:t},prefix:a,iconName:r,transform:i,symbol:o,title:l,maskId:f,titleId:c,extra:m,watchable:d=!1}=n,{width:u,height:h}=t.found?t:e,g=Et.includes(a),b=[p.replacementClass,r?"".concat(p.cssPrefix,"-").concat(r):""].filter(y=>m.classes.indexOf(y)===-1).filter(y=>y!==""||!!y).concat(m.classes).join(" ");let k={children:[],attributes:s(s({},m.attributes),{},{"data-prefix":a,"data-icon":r,class:b,role:m.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(u," ").concat(h)})};const z=g&&!~m.classes.indexOf("fa-fw")?{width:"".concat(u/h*16*.0625,"em")}:{};d&&(k.attributes[U]=""),l&&(k.children.push({tag:"title",attributes:{id:k.attributes["aria-labelledby"]||"title-".concat(c||tn())},children:[l]}),delete k.attributes.title);const x=s(s({},k),{},{prefix:a,iconName:r,main:e,mask:t,maskId:f,transform:i,symbol:o,styles:s(s({},z),m.styles)}),{children:w,attributes:M}=t.found&&e.found?H("generateAbstractMask",x)||{children:[],attributes:{}}:H("generateAbstractIcon",x)||{children:[],attributes:{}};return x.children=w,x.attributes=M,o?function(y){let{prefix:A,iconName:L,children:E,attributes:T,symbol:S}=y;const P=S===!0?"".concat(A,"-").concat(p.cssPrefix,"-").concat(L):S;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:s(s({},T),{},{id:P}),children:E}]}]}(x):function(y){let{children:A,main:L,mask:E,attributes:T,styles:S,transform:P}=y;if(te(P)&&L.found&&!E.found){const{width:kn,height:wn}=L,se={x:kn/wn/2,y:.5};T.style=bn(s(s({},S),{},{"transform-origin":"".concat(se.x+P.x/16,"em ").concat(se.y+P.y/16,"em")}))}return[{tag:"svg",attributes:T,children:A}]}(x)}function we(n){const{content:e,width:t,height:a,transform:r,title:i,extra:o,watchable:l=!1}=n,f=s(s(s({},o.attributes),i?{title:i}:{}),{},{class:o.classes.join(" ")});l&&(f[U]="");const c=s({},o.styles);te(r)&&(c.transform=function(u){let{transform:h,width:g=Fn,height:b=Fn,startCentered:k=!1}=u,z="";return z+=k&&Ge?"translate(".concat(h.x/B-g/2,"em, ").concat(h.y/B-b/2,"em) "):k?"translate(calc(-50% + ".concat(h.x/B,"em), calc(-50% + ").concat(h.y/B,"em)) "):"translate(".concat(h.x/B,"em, ").concat(h.y/B,"em) "),z+="scale(".concat(h.size/B*(h.flipX?-1:1),", ").concat(h.size/B*(h.flipY?-1:1),") "),z+="rotate(".concat(h.rotate,"deg) "),z}({transform:r,startCentered:!0,width:t,height:a}),c["-webkit-transform"]=c.transform);const m=bn(c);m.length>0&&(f.style=m);const d=[];return d.push({tag:"span",attributes:f,children:[e]}),i&&d.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),d}const{styles:Mn}=j;function Kn(n){const e=n[0],t=n[1],[a]=n.slice(4);let r=null;return r=Array.isArray(a)?{tag:"g",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.GROUP)},children:[{tag:"path",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:e,height:t,icon:r}}const na={found:!1,width:512,height:512};function Xn(n,e){let t=e;return e==="fa"&&p.styleDefault!==null&&(e=W()),new Promise((a,r)=>{if(t==="fa"){const i=ht(n)||{};n=i.iconName||n,e=i.prefix||e}if(n&&e&&Mn[e]&&Mn[e][n])return a(Kn(Mn[e][n]));!et&&p.showMissingIcons,a(s(s({},na),{},{icon:p.showMissingIcons&&n&&H("missingIconAbstract")||{}}))})}const ze=()=>{},Vn=p.measurePerformance&&sn&&sn.mark&&sn.measure?sn:{mark:ze,measure:ze},$='FA "6.7.2"',ea=n=>{Vn.mark("".concat($," ").concat(n," ends")),Vn.measure("".concat($," ").concat(n),"".concat($," ").concat(n," begins"),"".concat($," ").concat(n," ends"))};var ie=n=>(Vn.mark("".concat($," ").concat(n," begins")),()=>ea(n));const mn=()=>{};function Ae(n){return typeof(n.getAttribute?n.getAttribute(U):null)=="string"}function ta(n){return v.createElementNS("http://www.w3.org/2000/svg",n)}function aa(n){return v.createElement(n)}function yt(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:t=n.tag==="svg"?ta:aa}=e;if(typeof n=="string")return v.createTextNode(n);const a=t(n.tag);return Object.keys(n.attributes||[]).forEach(function(r){a.setAttribute(r,n.attributes[r])}),(n.children||[]).forEach(function(r){a.appendChild(yt(r,{ceFn:t}))}),a}const dn={replace:function(n){const e=n[0];if(e.parentNode)if(n[1].forEach(t=>{e.parentNode.insertBefore(yt(t),e)}),e.getAttribute(U)===null&&p.keepOriginalSource){let t=v.createComment(function(a){let r=" ".concat(a.outerHTML," ");return r="".concat(r,"Font Awesome fontawesome.com "),r}(e));e.parentNode.replaceChild(t,e)}else e.remove()},nest:function(n){const e=n[0],t=n[1];if(~ee(e).indexOf(p.replacementClass))return dn.replace(n);const a=new RegExp("".concat(p.cssPrefix,"-.*"));if(delete t[0].attributes.id,t[0].attributes.class){const i=t[0].attributes.class.split(" ").reduce((o,l)=>(l===p.replacementClass||l.match(a)?o.toSvg.push(l):o.toNode.push(l),o),{toNode:[],toSvg:[]});t[0].attributes.class=i.toSvg.join(" "),i.toNode.length===0?e.removeAttribute("class"):e.setAttribute("class",i.toNode.join(" "))}const r=t.map(i=>rn(i)).join(` -`);e.setAttribute(U,""),e.innerHTML=r}};function Le(n){n()}function vt(n,e){const t=typeof e=="function"?e:mn;if(n.length===0)t();else{let a=Le;p.mutateApproach==="async"&&(a=Y.requestAnimationFrame||Le),a(()=>{const r=p.autoReplaceSvg===!0?dn.replace:dn[p.autoReplaceSvg]||dn.replace,i=ie("mutate");n.map(r),i(),t()})}}let oe=!1;function xt(){oe=!0}function Gn(){oe=!1}let gn=null;function Oe(n){if(!me||!p.observeMutations)return;const{treeCallback:e=mn,nodeCallback:t=mn,pseudoElementsCallback:a=mn,observeMutationsRoot:r=v}=n;gn=new me(i=>{if(oe)return;const o=W();J(i).forEach(l=>{if(l.type==="childList"&&l.addedNodes.length>0&&!Ae(l.addedNodes[0])&&(p.searchPseudoElements&&a(l.target),e(l.target)),l.type==="attributes"&&l.target.parentNode&&p.searchPseudoElements&&a(l.target.parentNode),l.type==="attributes"&&Ae(l.target)&&~_t.indexOf(l.attributeName))if(l.attributeName==="class"&&function(c){const m=c.getAttribute?c.getAttribute(Rn):null,d=c.getAttribute?c.getAttribute(Tn):null;return m&&d}(l.target)){const{prefix:c,iconName:m}=vn(ee(l.target));l.target.setAttribute(Rn,c||o),m&&l.target.setAttribute(Tn,m)}else(f=l.target)&&f.classList&&f.classList.contains&&f.classList.contains(p.replacementClass)&&t(l.target);var f})}),R&&gn.observe(r,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function ra(n){const e=n.getAttribute("data-prefix"),t=n.getAttribute("data-icon"),a=n.innerText!==void 0?n.innerText.trim():"";let r=vn(ee(n));return r.prefix||(r.prefix=W()),e&&t&&(r.prefix=e,r.iconName=t),r.iconName&&r.prefix||(r.prefix&&a.length>0&&(r.iconName=(i=r.prefix,o=n.innerText,(ut[i]||{})[o]||_n(r.prefix,ct(n.innerText)))),!r.iconName&&p.autoFetchSvg&&n.firstChild&&n.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=n.firstChild.data)),r;var i,o}function Me(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:t,prefix:a,rest:r}=ra(n),i=function(f){const c=J(f.attributes).reduce((u,h)=>(u.name!=="class"&&u.name!=="style"&&(u[h.name]=h.value),u),{}),m=f.getAttribute("title"),d=f.getAttribute("data-fa-title-id");return p.autoA11y&&(m?c["aria-labelledby"]="".concat(p.replacementClass,"-title-").concat(d||tn()):(c["aria-hidden"]="true",c.focusable="false")),c}(n),o=Un("parseNodeAttributes",{},n);let l=e.styleParser?function(f){const c=f.getAttribute("style");let m=[];return c&&(m=c.split(";").reduce((d,u)=>{const h=u.split(":"),g=h[0],b=h.slice(1);return g&&b.length>0&&(d[g]=b.join(":").trim()),d},{})),m}(n):[];return s({iconName:t,title:n.getAttribute("title"),titleId:n.getAttribute("data-fa-title-id"),prefix:a,transform:C,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:r,styles:l,attributes:i}},o)}const{styles:ia}=j;function kt(n){const e=p.autoReplaceSvg==="nest"?Me(n,{styleParser:!1}):Me(n);return~e.extra.classes.indexOf(at)?H("generateLayersText",n,e):H("generateSvgReplacementMutation",n,e)}function Ne(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!R)return Promise.resolve();const t=v.documentElement.classList,a=m=>t.add("".concat(de,"-").concat(m)),r=m=>t.remove("".concat(de,"-").concat(m)),i=p.autoFetchSvg?[...St,...In]:Je.concat(Object.keys(ia));i.includes("fa")||i.push("fa");const o=[".".concat(at,":not([").concat(U,"])")].concat(i.map(m=>".".concat(m,":not([").concat(U,"])"))).join(", ");if(o.length===0)return Promise.resolve();let l=[];try{l=J(n.querySelectorAll(o))}catch{}if(!(l.length>0))return Promise.resolve();a("pending"),r("complete");const f=ie("onTree"),c=l.reduce((m,d)=>{try{const u=kt(d);u&&m.push(u)}catch(u){et||u.name}return m},[]);return new Promise((m,d)=>{Promise.all(c).then(u=>{vt(u,()=>{a("active"),a("complete"),r("pending"),typeof e=="function"&&e(),f(),m()})}).catch(u=>{f(),d(u)})})}function oa(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;kt(n).then(t=>{t&&vt([t],e)})}const sa=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=C,symbol:a=!1,mask:r=null,maskId:i=null,title:o=null,titleId:l=null,classes:f=[],attributes:c={},styles:m={}}=e;if(!n)return;const{prefix:d,iconName:u,icon:h}=n;return xn(s({type:"icon"},n),()=>(q("beforeDOMElementCreation",{iconDefinition:n,params:e}),p.autoA11y&&(o?c["aria-labelledby"]="".concat(p.replacementClass,"-title-").concat(l||tn()):(c["aria-hidden"]="true",c.focusable="false")),re({icons:{main:Kn(h),mask:r?Kn(r.icon):{found:!1,width:null,height:null,icon:{}}},prefix:d,iconName:u,transform:s(s({},C),t),symbol:a,title:o,maskId:i,titleId:l,extra:{attributes:c,styles:m,classes:f}})))};var ca={mixout(){return{icon:(n=sa,function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=(e||{}).icon?e:qn(e||{});let{mask:r}=t;return r&&(r=(r||{}).icon?r:qn(r||{})),n(a,s(s({},t),{},{mask:r}))})};var n},hooks:()=>({mutationObserverCallbacks:n=>(n.treeCallback=Ne,n.nodeCallback=oa,n)}),provides(n){n.i2svg=function(e){const{node:t=v,callback:a=()=>{}}=e;return Ne(t,a)},n.generateSvgReplacementMutation=function(e,t){const{iconName:a,title:r,titleId:i,prefix:o,transform:l,symbol:f,mask:c,maskId:m,extra:d}=t;return new Promise((u,h)=>{Promise.all([Xn(a,o),c.iconName?Xn(c.iconName,c.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(g=>{let[b,k]=g;u([e,re({icons:{main:b,mask:k},prefix:o,iconName:a,transform:l,symbol:f,maskId:m,title:r,titleId:i,extra:d,watchable:!0})])}).catch(h)})},n.generateAbstractIcon=function(e){let{children:t,attributes:a,main:r,transform:i,styles:o}=e;const l=bn(o);let f;return l.length>0&&(a.style=l),te(i)&&(f=H("generateAbstractTransformGrouping",{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),t.push(f||r.icon),{children:t,attributes:a}}}},la={mixout:()=>({layer(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:t=[]}=e;return xn({type:"layer"},()=>{q("beforeDOMElementCreation",{assembler:n,params:e});let a=[];return n(r=>{Array.isArray(r)?r.map(i=>{a=a.concat(i.abstract)}):a=a.concat(r.abstract)}),[{tag:"span",attributes:{class:["".concat(p.cssPrefix,"-layers"),...t].join(" ")},children:a}]})}})},fa={mixout:()=>({counter(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:t=null,classes:a=[],attributes:r={},styles:i={}}=e;return xn({type:"counter",content:n},()=>(q("beforeDOMElementCreation",{content:n,params:e}),function(o){const{content:l,title:f,extra:c}=o,m=s(s(s({},c.attributes),f?{title:f}:{}),{},{class:c.classes.join(" ")}),d=bn(c.styles);d.length>0&&(m.style=d);const u=[];return u.push({tag:"span",attributes:m,children:[l]}),f&&u.push({tag:"span",attributes:{class:"sr-only"},children:[f]}),u}({content:n.toString(),title:t,extra:{attributes:r,styles:i,classes:["".concat(p.cssPrefix,"-layers-counter"),...a]}})))}})},ua={mixout:()=>({text(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=C,title:a=null,classes:r=[],attributes:i={},styles:o={}}=e;return xn({type:"text",content:n},()=>(q("beforeDOMElementCreation",{content:n,params:e}),we({content:n,transform:s(s({},C),t),title:a,extra:{attributes:i,styles:o,classes:["".concat(p.cssPrefix,"-layers-text"),...r]}})))}}),provides(n){n.generateLayersText=function(e,t){const{title:a,transform:r,extra:i}=t;let o=null,l=null;if(Ge){const f=parseInt(getComputedStyle(e).fontSize,10),c=e.getBoundingClientRect();o=c.width/f,l=c.height/f}return p.autoA11y&&!a&&(i.attributes["aria-hidden"]="true"),Promise.resolve([e,we({content:e.innerHTML,width:o,height:l,transform:r,title:a,extra:i,watchable:!0})])}}};const ma=new RegExp('"',"ug"),Pe=[1105920,1112319],Se=s(s(s(s({},{FontAwesome:{normal:"fas",400:"fas"}}),{"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}}),{"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}}),{"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}}),Zn=Object.keys(Se).reduce((n,e)=>(n[e.toLowerCase()]=Se[e],n),{}),da=Object.keys(Zn).reduce((n,e)=>{const t=Zn[e];return n[e]=t[900]||[...Object.entries(t)][0][1],n},{});function Ce(n,e){const t="".concat("data-fa-pseudo-element-pending").concat(e.replace(":","-"));return new Promise((a,r)=>{if(n.getAttribute(t)!==null)return a();const i=J(n.children).filter(d=>d.getAttribute(Dn)===e)[0],o=Y.getComputedStyle(n,e),l=o.getPropertyValue("font-family"),f=l.match(Ht),c=o.getPropertyValue("font-weight"),m=o.getPropertyValue("content");if(i&&!f)return n.removeChild(i),a();if(f&&m!=="none"&&m!==""){const d=o.getPropertyValue("content");let u=function(x,w){const M=x.replace(/^['"]|['"]$/g,"").toLowerCase(),y=parseInt(w),A=isNaN(y)?"normal":y;return(Zn[M]||{})[A]||da[M]}(l,c);const{value:h,isSecondary:g}=function(x){const w=x.replace(ma,""),M=function(L,E){const T=L.length;let S,P=L.charCodeAt(E);return P>=55296&&P<=56319&&T>E+1&&(S=L.charCodeAt(E+1),S>=56320&&S<=57343)?1024*(P-55296)+S-56320+65536:P}(w,0),y=M>=Pe[0]&&M<=Pe[1],A=w.length===2&&w[0]===w[1];return{value:ct(A?w[0]:w),isSecondary:y||A}}(d),b=f[0].startsWith("FontAwesome");let k=_n(u,h),z=k;if(b){const x=function(w){const M=dt[w],y=_n("fas",w);return M||(y?{prefix:"fas",iconName:y}:null)||{prefix:null,iconName:null}}(h);x.iconName&&x.prefix&&(k=x.iconName,u=x.prefix)}if(!k||g||i&&i.getAttribute(Rn)===u&&i.getAttribute(Tn)===z)a();else{n.setAttribute(t,z),i&&n.removeChild(i);const x={iconName:null,title:null,titleId:null,prefix:null,transform:C,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},{extra:w}=x;w.attributes[Dn]=e,Xn(k,u).then(M=>{const y=re(s(s({},x),{},{icons:{main:M,mask:{prefix:null,iconName:null,rest:[]}},prefix:u,iconName:z,extra:w,watchable:!0})),A=v.createElementNS("http://www.w3.org/2000/svg","svg");e==="::before"?n.insertBefore(A,n.firstChild):n.appendChild(A),A.outerHTML=y.map(L=>rn(L)).join(` -`),n.removeAttribute(t),a()}).catch(r)}}else a()})}function pa(n){return Promise.all([Ce(n,"::before"),Ce(n,"::after")])}function ga(n){return!(n.parentNode===document.head||~Bt.indexOf(n.tagName.toUpperCase())||n.getAttribute(Dn)||n.parentNode&&n.parentNode.tagName==="svg")}function je(n){if(R)return new Promise((e,t)=>{const a=J(n.querySelectorAll("*")).filter(ga).map(pa),r=ie("searchPseudoElements");xt(),Promise.all(a).then(()=>{r(),Gn(),e()}).catch(()=>{r(),Gn(),t()})})}let Ee=!1;const Ie=n=>n.toLowerCase().split(" ").reduce((e,t)=>{const a=t.toLowerCase().split("-"),r=a[0];let i=a.slice(1).join("-");if(r&&i==="h")return e.flipX=!0,e;if(r&&i==="v")return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0}),Nn={x:0,y:0,width:"100%",height:"100%"};function Fe(n){let e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];return n.attributes&&(n.attributes.fill||e)&&(n.attributes.fill="black"),n}(function(n,e){let{mixoutsTo:t}=e;ke=n,G={},Object.keys(Z).forEach(a=>{Jt.indexOf(a)===-1&&delete Z[a]}),ke.forEach(a=>{const r=a.mixout?a.mixout():{};if(Object.keys(r).forEach(i=>{typeof r[i]=="function"&&(t[i]=r[i]),typeof r[i]=="object"&&Object.keys(r[i]).forEach(o=>{t[i]||(t[i]={}),t[i][o]=r[i][o]})}),a.hooks){const i=a.hooks();Object.keys(i).forEach(o=>{G[o]||(G[o]=[]),G[o].push(i[o])})}a.provides&&a.provides(Z)})})([qt,ca,la,fa,ua,{hooks:()=>({mutationObserverCallbacks:n=>(n.pseudoElementsCallback=je,n)}),provides(n){n.pseudoElements2svg=function(e){const{node:t=v}=e;p.searchPseudoElements&&je(t)}}},{mixout:()=>({dom:{unwatch(){xt(),Ee=!0}}}),hooks:()=>({bootstrap(){Oe(Un("mutationObserverCallbacks",{}))},noAuto(){gn&&gn.disconnect()},watch(n){const{observeMutationsRoot:e}=n;Ee?Gn():Oe(Un("mutationObserverCallbacks",{observeMutationsRoot:e}))}})},{mixout:()=>({parse:{transform:n=>Ie(n)}}),hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-transform");return t&&(n.transform=Ie(t)),n}}),provides(n){n.generateAbstractTransformGrouping=function(e){let{main:t,transform:a,containerWidth:r,iconWidth:i}=e;const o={transform:"translate(".concat(r/2," 256)")},l="translate(".concat(32*a.x,", ").concat(32*a.y,") "),f="scale(".concat(a.size/16*(a.flipX?-1:1),", ").concat(a.size/16*(a.flipY?-1:1),") "),c="rotate(".concat(a.rotate," 0 0)"),m={outer:o,inner:{transform:"".concat(l," ").concat(f," ").concat(c)},path:{transform:"translate(".concat(i/2*-1," -256)")}};return{tag:"g",attributes:s({},m.outer),children:[{tag:"g",attributes:s({},m.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:s(s({},t.icon.attributes),m.path)}]}]}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-mask"),a=t?vn(t.split(" ").map(r=>r.trim())):{prefix:null,iconName:null,rest:[]};return a.prefix||(a.prefix=W()),n.mask=a,n.maskId=e.getAttribute("data-fa-mask-id"),n}}),provides(n){n.generateAbstractMask=function(e){let{children:t,attributes:a,main:r,mask:i,maskId:o,transform:l}=e;const{width:f,icon:c}=r,{width:m,icon:d}=i,u=function(A){let{transform:L,containerWidth:E,iconWidth:T}=A;const S={transform:"translate(".concat(E/2," 256)")},P="translate(".concat(32*L.x,", ").concat(32*L.y,") "),kn="scale(".concat(L.size/16*(L.flipX?-1:1),", ").concat(L.size/16*(L.flipY?-1:1),") "),wn="rotate(".concat(L.rotate," 0 0)");return{outer:S,inner:{transform:"".concat(P," ").concat(kn," ").concat(wn)},path:{transform:"translate(".concat(T/2*-1," -256)")}}}({transform:l,containerWidth:m,iconWidth:f}),h={tag:"rect",attributes:s(s({},Nn),{},{fill:"white"})},g=c.children?{children:c.children.map(Fe)}:{},b={tag:"g",attributes:s({},u.inner),children:[Fe(s({tag:c.tag,attributes:s(s({},c.attributes),u.path)},g))]},k={tag:"g",attributes:s({},u.outer),children:[b]},z="mask-".concat(o||tn()),x="clip-".concat(o||tn()),w={tag:"mask",attributes:s(s({},Nn),{},{id:z,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,k]},M={tag:"defs",children:[{tag:"clipPath",attributes:{id:x},children:(y=d,y.tag==="g"?y.children:[y])},w]};var y;return t.push(M,{tag:"rect",attributes:s({fill:"currentColor","clip-path":"url(#".concat(x,")"),mask:"url(#".concat(z,")")},Nn)}),{children:t,attributes:a}}}},{provides(n){let e=!1;Y.matchMedia&&(e=Y.matchMedia("(prefers-reduced-motion: reduce)").matches),n.missingIconAbstract=function(){const t=[],a={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};t.push({tag:"path",attributes:s(s({},a),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const i=s(s({},r),{},{attributeName:"opacity"}),o={tag:"circle",attributes:s(s({},a),{},{cx:"256",cy:"364",r:"28"}),children:[]};return e||o.children.push({tag:"animate",attributes:s(s({},r),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:s(s({},i),{},{values:"1;0;1;1;0;1;"})}),t.push(o),t.push({tag:"path",attributes:s(s({},a),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:e?[]:[{tag:"animate",attributes:s(s({},i),{},{values:"1;0;0;0;0;1;"})}]}),e||t.push({tag:"path",attributes:s(s({},a),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:s(s({},i),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:t}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-symbol"),a=t!==null&&(t===""||t);return n.symbol=a,n}})}],{mixoutsTo:on});const za=on.library,Jn=on.parse,ha=on.icon;function De(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,a)}return t}function D(n){for(var e=1;e=0)continue;f[c]=o[c]}return f}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(n,t)&&(r[t]=n[t])}return r}var Pn,Re,X,ln,Sn,fn,Q,Te,Be,Ye,We,He,_e,Ue,un,Cn,va=typeof globalThis<"u"?globalThis:typeof window<"u"?window:ce!==void 0?ce:typeof self<"u"?self:{},wt={exports:{}};Pn=wt,Re=va,X=function(n,e,t){if(!Be(e)||We(e)||He(e)||_e(e)||Te(e))return e;var a,r=0,i=0;if(Ye(e))for(a=[],i=e.length;r1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof n=="string")return n;var a=(n.children||[]).map(function(f){return zt(f)}),r=Object.keys(n.attributes||{}).reduce(function(f,c){var m=n.attributes[c];switch(c){case"class":f.class=m.split(/\s+/).reduce(function(d,u){return d[u]=!0,d},{});break;case"style":f.style=m.split(";").map(function(d){return d.trim()}).filter(function(d){return d}).reduce(function(d,u){var h=u.indexOf(":"),g=xa.camelize(u.slice(0,h)),b=u.slice(h+1).trim();return d[g]=b,d},{});break;default:f.attrs[c]=m}return f},{attrs:{},class:{},style:{}});t.class;var i=t.style,o=i===void 0?{}:i,l=ya(t,ka);return Mt(n.tag,D(D(D({},e),{},{class:r.class,style:D(D({},r.style),o)},r.attrs),l),a)}var At=!1;try{At=!0}catch{}function jn(n,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?N({},n,e):{}}function qe(n){return n&&Qn(n)==="object"&&n.prefix&&n.iconName&&n.icon?n:Jn.icon?Jn.icon(n):n===null?null:Qn(n)==="object"&&n.prefix&&n.iconName?n:Array.isArray(n)&&n.length===2?{prefix:n[0],iconName:n[1]}:typeof n=="string"?{prefix:"fas",iconName:n}:void 0}var Aa=Lt({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(n){return[!0,!1,"horizontal","vertical","both"].indexOf(n)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(n){return["right","left"].indexOf(n)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(n){return[90,180,270].indexOf(Number.parseInt(n,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(n){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(n)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(n,e){var t=e.attrs,a=K(function(){return qe(n.icon)}),r=K(function(){return jn("classes",function(c){var m,d=(N(N(N(N(N(N(N(N(N(N(m={"fa-spin":c.spin,"fa-pulse":c.pulse,"fa-fw":c.fixedWidth,"fa-border":c.border,"fa-li":c.listItem,"fa-inverse":c.inverse,"fa-flip":c.flip===!0,"fa-flip-horizontal":c.flip==="horizontal"||c.flip==="both","fa-flip-vertical":c.flip==="vertical"||c.flip==="both"},"fa-".concat(c.size),c.size!==null),"fa-rotate-".concat(c.rotation),c.rotation!==null),"fa-pull-".concat(c.pull),c.pull!==null),"fa-swap-opacity",c.swapOpacity),"fa-bounce",c.bounce),"fa-shake",c.shake),"fa-beat",c.beat),"fa-fade",c.fade),"fa-beat-fade",c.beatFade),"fa-flash",c.flash),N(N(m,"fa-spin-pulse",c.spinPulse),"fa-spin-reverse",c.spinReverse));return Object.keys(d).map(function(u){return d[u]?u:null}).filter(function(u){return u})}(n))}),i=K(function(){return jn("transform",typeof n.transform=="string"?Jn.transform(n.transform):n.transform)}),o=K(function(){return jn("mask",qe(n.mask))}),l=K(function(){return ha(a.value,D(D(D(D({},r.value),i.value),o.value),{},{symbol:n.symbol,title:n.title,titleId:n.titleId,maskId:n.maskId}))});Ot(l,function(c){if(!c)return function(){var m;!At&&console&&typeof console.error=="function"&&(m=console).error.apply(m,arguments)}("Could not find one or more icon(s)",a.value,o.value)},{immediate:!0});var f=K(function(){return l.value?zt(l.value.abstract[0],{},t):null});return function(){return f.value}}});/*! +}`;if(t!==n||a!==e){const i=new RegExp("\\.".concat(n,"\\-"),"g"),o=new RegExp("\\--".concat(n,"\\-"),"g"),l=new RegExp("\\.".concat(e),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(l,".".concat(a))}return r}let he=!1;function Ln(){p.autoAddCss&&!he&&(function(n){if(!n||!R)return;const e=v.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=n;const t=v.head.childNodes;let a=null;for(let r=t.length-1;r>-1;r--){const i=t[r],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(a=i)}v.head.insertBefore(e,a)}(it()),he=!0)}var qt={mixout:()=>({dom:{css:it,insertCss:Ln}}),hooks:()=>({beforeDOMElementCreation(){Ln()},beforeI2svg(){Ln()}})};const F=Y||{};F[I]||(F[I]={}),F[I].styles||(F[I].styles={}),F[I].hooks||(F[I].hooks={}),F[I].shims||(F[I].shims=[]);var j=F[I];const ot=[],st=function(){v.removeEventListener("DOMContentLoaded",st),pn=1,ot.map(n=>n())};let pn=!1;function rn(n){const{tag:e,attributes:t={},children:a=[]}=n;return typeof n=="string"?ge(n):"<".concat(e," ").concat(function(r){return Object.keys(r||{}).reduce((i,o)=>i+"".concat(o,'="').concat(ge(r[o]),'" '),"").trim()}(t),">").concat(a.map(rn).join(""),"")}function be(n,e,t){if(n&&n[e]&&n[e][t])return{prefix:e,iconName:t,icon:n[e][t]}}R&&(pn=(v.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(v.readyState),pn||v.addEventListener("DOMContentLoaded",st));var On=function(n,e,t,a){var r,i,o,l=Object.keys(n),f=l.length,c=e;for(t===void 0?(r=1,o=n[l[0]]):(r=0,o=t);r=55296&&o<=56319&&r{const a=n[t];return a.icon?e[a.iconName]=a.icon:e[t]=a,e},{})}function _n(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:a=!1}=t,r=ye(e);typeof j.hooks.addPack!="function"||a?j.styles[n]=s(s({},j.styles[n]||{}),r):j.hooks.addPack(n,ye(e)),n==="fas"&&_n("fa",e)}const{styles:en,shims:Kt}=j,lt=Object.keys(ne),Xt=lt.reduce((n,e)=>(n[e]=Object.keys(ne[e]),n),{});let ae=null,ft={},ut={},mt={},dt={},pt={};function Vt(n,e){const t=e.split("-"),a=t[0],r=t.slice(1).join("-");return a!==n||r===""||(i=r,~Ut.indexOf(i))?null:r;var i}const gt=()=>{const n=a=>On(en,(r,i,o)=>(r[o]=On(i,a,{}),r),{});ft=n((a,r,i)=>(r[3]&&(a[r[3]]=i),r[2]&&r[2].filter(o=>typeof o=="number").forEach(o=>{a[o.toString(16)]=i}),a)),ut=n((a,r,i)=>(a[i]=i,r[2]&&r[2].filter(o=>typeof o=="string").forEach(o=>{a[o]=i}),a)),pt=n((a,r,i)=>{const o=r[2];return a[i]=i,o.forEach(l=>{a[l]=i}),a});const e="far"in en||p.autoFetchSvg,t=On(Kt,(a,r)=>{const i=r[0];let o=r[1];const l=r[2];return o!=="far"||e||(o="fas"),typeof i=="string"&&(a.names[i]={prefix:o,iconName:l}),typeof i=="number"&&(a.unicodes[i.toString(16)]={prefix:o,iconName:l}),a},{names:{},unicodes:{}});mt=t.names,dt=t.unicodes,ae=yn(p.styleDefault,{family:p.familyDefault})};var ve;function Hn(n,e){return(ft[n]||{})[e]}function H(n,e){return(pt[n]||{})[e]}function ht(n){return mt[n]||{prefix:null,iconName:null}}function W(){return ae}ve=n=>{ae=yn(n.styleDefault,{family:p.familyDefault})},Wn.push(ve),gt();function yn(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:t=O}=e,a=Yt[t][n];if(t===hn&&!n)return"fad";const r=pe[t][n]||pe[t][a],i=n in j.styles?n:null;return r||i||null}function xe(n){return n.sort().filter((e,t,a)=>a.indexOf(e)===t)}function vn(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:t=!1}=e;let a=null;const r=In.concat(Dt),i=xe(n.filter(d=>r.includes(d))),o=xe(n.filter(d=>!In.includes(d))),l=i.filter(d=>(a=d,!Je.includes(d))),[f=null]=l,c=function(d){let u=O;const h=lt.reduce((g,b)=>(g[b]="".concat(p.cssPrefix,"-").concat(b),g),{});return Qe.forEach(g=>{(d.includes(h[g])||d.some(b=>Xt[g].includes(b)))&&(u=g)}),u}(i),m=s(s({},function(d){let u=[],h=null;return d.forEach(g=>{const b=Vt(p.cssPrefix,g);b?h=b:g&&u.push(g)}),{iconName:h,rest:u}}(o)),{},{prefix:yn(f,{family:c})});return s(s(s({},m),function(d){const{values:u,family:h,canonical:g,givenPrefix:b="",styles:w={},config:z={}}=d,x=h===hn,k=u.includes("fa-duotone")||u.includes("fad"),M=z.familyDefault==="duotone",y=g.prefix==="fad"||g.prefix==="fa-duotone";if(!x&&(k||M||y)&&(g.prefix="fad"),(u.includes("fa-brands")||u.includes("fab"))&&(g.prefix="fab"),!g.prefix&&Gt.includes(h)&&(Object.keys(w).find(A=>Zt.includes(A))||z.autoFetchSvg)){const A=Pt.get(h).defaultShortPrefixId;g.prefix=A,g.iconName=H(g.prefix,g.iconName)||g.iconName}return g.prefix!=="fa"&&b!=="fa"||(g.prefix=W()||"fas"),g}({values:n,family:c,styles:en,config:p,canonical:m,givenPrefix:a})),function(d,u,h){let{prefix:g,iconName:b}=h;if(d||!g||!b)return{prefix:g,iconName:b};const w=u==="fa"?ht(b):{},z=H(g,b);return b=w.iconName||z||b,g=w.prefix||g,g!=="far"||en.far||!en.fas||p.autoFetchSvg||(g="fas"),{prefix:g,iconName:b}}(t,a,m))}const Gt=Qe.filter(n=>n!==O||n!==hn),Zt=Object.keys(En).filter(n=>n!==O).map(n=>Object.keys(En[n])).flat();let we=[],G={};const Z={},Jt=Object.keys(Z);function Un(n,e){for(var t=arguments.length,a=new Array(t>2?t-2:0),r=2;r{e=i.apply(null,[e,...a])}),e}function q(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),a=1;a{r.apply(null,t)})}function _(){const n=arguments[0],e=Array.prototype.slice.call(arguments,1);return Z[n]?Z[n].apply(null,e):void 0}function qn(n){n.prefix==="fa"&&(n.prefix="fas");let{iconName:e}=n;const t=n.prefix||W();if(e)return e=H(t,e)||e,be(bt.definitions,t,e)||be(j.styles,t,e)}const bt=new class{constructor(){this.definitions={}}add(){for(var n=arguments.length,e=new Array(n),t=0;t{this.definitions[r]=s(s({},this.definitions[r]||{}),a[r]),_n(r,a[r]);const i=ne[O][r];i&&_n(i,a[r]),gt()})}reset(){this.definitions={}}_pullDefinitions(n,e){const t=e.prefix&&e.iconName&&e.icon?{0:e}:e;return Object.keys(t).map(a=>{const{prefix:r,iconName:i,icon:o}=t[a],l=o[2];n[r]||(n[r]={}),l.length>0&&l.forEach(f=>{typeof f=="string"&&(n[r][f]=o)}),n[r][i]=o}),n}},Qt={i2svg:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return R?(q("beforeI2svg",n),_("pseudoElements2svg",n),_("i2svg",n)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e}=n;var t;p.autoReplaceSvg===!1&&(p.autoReplaceSvg=!0),p.observeMutations=!0,t=()=>{$t({autoReplaceSvgRoot:e}),q("watch",n)},R&&(pn?setTimeout(t,0):ot.push(t))}},on={noAuto:()=>{p.autoReplaceSvg=!1,p.observeMutations=!1,q("noAuto")},config:p,dom:Qt,parse:{icon:n=>{if(n===null)return null;if(typeof n=="object"&&n.prefix&&n.iconName)return{prefix:n.prefix,iconName:H(n.prefix,n.iconName)||n.iconName};if(Array.isArray(n)&&n.length===2){const e=n[1].indexOf("fa-")===0?n[1].slice(3):n[1],t=yn(n[0]);return{prefix:t,iconName:H(t,e)||e}}if(typeof n=="string"&&(n.indexOf("".concat(p.cssPrefix,"-"))>-1||n.match(Wt))){const e=vn(n.split(" "),{skipLookups:!0});return{prefix:e.prefix||W(),iconName:H(e.prefix,e.iconName)||e.iconName}}if(typeof n=="string"){const e=W();return{prefix:e,iconName:H(e,n)||n}}}},library:bt,findIconDefinition:qn,toHtml:rn},$t=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e=v}=n;(Object.keys(j.styles).length>0||p.autoFetchSvg)&&R&&p.autoReplaceSvg&&on.dom.i2svg({node:e})};function xn(n,e){return Object.defineProperty(n,"abstract",{get:e}),Object.defineProperty(n,"html",{get:function(){return n.abstract.map(t=>rn(t))}}),Object.defineProperty(n,"node",{get:function(){if(!R)return;const t=v.createElement("div");return t.innerHTML=n.html,t.children}}),n}function re(n){const{icons:{main:e,mask:t},prefix:a,iconName:r,transform:i,symbol:o,title:l,maskId:f,titleId:c,extra:m,watchable:d=!1}=n,{width:u,height:h}=t.found?t:e,g=Et.includes(a),b=[p.replacementClass,r?"".concat(p.cssPrefix,"-").concat(r):""].filter(y=>m.classes.indexOf(y)===-1).filter(y=>y!==""||!!y).concat(m.classes).join(" ");let w={children:[],attributes:s(s({},m.attributes),{},{"data-prefix":a,"data-icon":r,class:b,role:m.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(u," ").concat(h)})};const z=g&&!~m.classes.indexOf("fa-fw")?{width:"".concat(u/h*16*.0625,"em")}:{};d&&(w.attributes[U]=""),l&&(w.children.push({tag:"title",attributes:{id:w.attributes["aria-labelledby"]||"title-".concat(c||tn())},children:[l]}),delete w.attributes.title);const x=s(s({},w),{},{prefix:a,iconName:r,main:e,mask:t,maskId:f,transform:i,symbol:o,styles:s(s({},z),m.styles)}),{children:k,attributes:M}=t.found&&e.found?_("generateAbstractMask",x)||{children:[],attributes:{}}:_("generateAbstractIcon",x)||{children:[],attributes:{}};return x.children=k,x.attributes=M,o?function(y){let{prefix:A,iconName:L,children:E,attributes:T,symbol:S}=y;const P=S===!0?"".concat(A,"-").concat(p.cssPrefix,"-").concat(L):S;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:s(s({},T),{},{id:P}),children:E}]}]}(x):function(y){let{children:A,main:L,mask:E,attributes:T,styles:S,transform:P}=y;if(te(P)&&L.found&&!E.found){const{width:wn,height:kn}=L,se={x:wn/kn/2,y:.5};T.style=bn(s(s({},S),{},{"transform-origin":"".concat(se.x+P.x/16,"em ").concat(se.y+P.y/16,"em")}))}return[{tag:"svg",attributes:T,children:A}]}(x)}function ke(n){const{content:e,width:t,height:a,transform:r,title:i,extra:o,watchable:l=!1}=n,f=s(s(s({},o.attributes),i?{title:i}:{}),{},{class:o.classes.join(" ")});l&&(f[U]="");const c=s({},o.styles);te(r)&&(c.transform=function(u){let{transform:h,width:g=Fn,height:b=Fn,startCentered:w=!1}=u,z="";return z+=w&&Ge?"translate(".concat(h.x/B-g/2,"em, ").concat(h.y/B-b/2,"em) "):w?"translate(calc(-50% + ".concat(h.x/B,"em), calc(-50% + ").concat(h.y/B,"em)) "):"translate(".concat(h.x/B,"em, ").concat(h.y/B,"em) "),z+="scale(".concat(h.size/B*(h.flipX?-1:1),", ").concat(h.size/B*(h.flipY?-1:1),") "),z+="rotate(".concat(h.rotate,"deg) "),z}({transform:r,startCentered:!0,width:t,height:a}),c["-webkit-transform"]=c.transform);const m=bn(c);m.length>0&&(f.style=m);const d=[];return d.push({tag:"span",attributes:f,children:[e]}),i&&d.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),d}const{styles:Mn}=j;function Kn(n){const e=n[0],t=n[1],[a]=n.slice(4);let r=null;return r=Array.isArray(a)?{tag:"g",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.GROUP)},children:[{tag:"path",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:e,height:t,icon:r}}const na={found:!1,width:512,height:512};function Xn(n,e){let t=e;return e==="fa"&&p.styleDefault!==null&&(e=W()),new Promise((a,r)=>{if(t==="fa"){const i=ht(n)||{};n=i.iconName||n,e=i.prefix||e}if(n&&e&&Mn[e]&&Mn[e][n])return a(Kn(Mn[e][n]));!et&&p.showMissingIcons,a(s(s({},na),{},{icon:p.showMissingIcons&&n&&_("missingIconAbstract")||{}}))})}const ze=()=>{},Vn=p.measurePerformance&&sn&&sn.mark&&sn.measure?sn:{mark:ze,measure:ze},$='FA "6.7.2"',ea=n=>{Vn.mark("".concat($," ").concat(n," ends")),Vn.measure("".concat($," ").concat(n),"".concat($," ").concat(n," begins"),"".concat($," ").concat(n," ends"))};var ie=n=>(Vn.mark("".concat($," ").concat(n," begins")),()=>ea(n));const mn=()=>{};function Ae(n){return typeof(n.getAttribute?n.getAttribute(U):null)=="string"}function ta(n){return v.createElementNS("http://www.w3.org/2000/svg",n)}function aa(n){return v.createElement(n)}function yt(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:t=n.tag==="svg"?ta:aa}=e;if(typeof n=="string")return v.createTextNode(n);const a=t(n.tag);return Object.keys(n.attributes||[]).forEach(function(r){a.setAttribute(r,n.attributes[r])}),(n.children||[]).forEach(function(r){a.appendChild(yt(r,{ceFn:t}))}),a}const dn={replace:function(n){const e=n[0];if(e.parentNode)if(n[1].forEach(t=>{e.parentNode.insertBefore(yt(t),e)}),e.getAttribute(U)===null&&p.keepOriginalSource){let t=v.createComment(function(a){let r=" ".concat(a.outerHTML," ");return r="".concat(r,"Font Awesome fontawesome.com "),r}(e));e.parentNode.replaceChild(t,e)}else e.remove()},nest:function(n){const e=n[0],t=n[1];if(~ee(e).indexOf(p.replacementClass))return dn.replace(n);const a=new RegExp("".concat(p.cssPrefix,"-.*"));if(delete t[0].attributes.id,t[0].attributes.class){const i=t[0].attributes.class.split(" ").reduce((o,l)=>(l===p.replacementClass||l.match(a)?o.toSvg.push(l):o.toNode.push(l),o),{toNode:[],toSvg:[]});t[0].attributes.class=i.toSvg.join(" "),i.toNode.length===0?e.removeAttribute("class"):e.setAttribute("class",i.toNode.join(" "))}const r=t.map(i=>rn(i)).join(` +`);e.setAttribute(U,""),e.innerHTML=r}};function Le(n){n()}function vt(n,e){const t=typeof e=="function"?e:mn;if(n.length===0)t();else{let a=Le;p.mutateApproach==="async"&&(a=Y.requestAnimationFrame||Le),a(()=>{const r=p.autoReplaceSvg===!0?dn.replace:dn[p.autoReplaceSvg]||dn.replace,i=ie("mutate");n.map(r),i(),t()})}}let oe=!1;function xt(){oe=!0}function Gn(){oe=!1}let gn=null;function Oe(n){if(!me||!p.observeMutations)return;const{treeCallback:e=mn,nodeCallback:t=mn,pseudoElementsCallback:a=mn,observeMutationsRoot:r=v}=n;gn=new me(i=>{if(oe)return;const o=W();J(i).forEach(l=>{if(l.type==="childList"&&l.addedNodes.length>0&&!Ae(l.addedNodes[0])&&(p.searchPseudoElements&&a(l.target),e(l.target)),l.type==="attributes"&&l.target.parentNode&&p.searchPseudoElements&&a(l.target.parentNode),l.type==="attributes"&&Ae(l.target)&&~Ht.indexOf(l.attributeName))if(l.attributeName==="class"&&function(c){const m=c.getAttribute?c.getAttribute(Rn):null,d=c.getAttribute?c.getAttribute(Tn):null;return m&&d}(l.target)){const{prefix:c,iconName:m}=vn(ee(l.target));l.target.setAttribute(Rn,c||o),m&&l.target.setAttribute(Tn,m)}else(f=l.target)&&f.classList&&f.classList.contains&&f.classList.contains(p.replacementClass)&&t(l.target);var f})}),R&&gn.observe(r,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function ra(n){const e=n.getAttribute("data-prefix"),t=n.getAttribute("data-icon"),a=n.innerText!==void 0?n.innerText.trim():"";let r=vn(ee(n));return r.prefix||(r.prefix=W()),e&&t&&(r.prefix=e,r.iconName=t),r.iconName&&r.prefix||(r.prefix&&a.length>0&&(r.iconName=(i=r.prefix,o=n.innerText,(ut[i]||{})[o]||Hn(r.prefix,ct(n.innerText)))),!r.iconName&&p.autoFetchSvg&&n.firstChild&&n.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=n.firstChild.data)),r;var i,o}function Me(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:t,prefix:a,rest:r}=ra(n),i=function(f){const c=J(f.attributes).reduce((u,h)=>(u.name!=="class"&&u.name!=="style"&&(u[h.name]=h.value),u),{}),m=f.getAttribute("title"),d=f.getAttribute("data-fa-title-id");return p.autoA11y&&(m?c["aria-labelledby"]="".concat(p.replacementClass,"-title-").concat(d||tn()):(c["aria-hidden"]="true",c.focusable="false")),c}(n),o=Un("parseNodeAttributes",{},n);let l=e.styleParser?function(f){const c=f.getAttribute("style");let m=[];return c&&(m=c.split(";").reduce((d,u)=>{const h=u.split(":"),g=h[0],b=h.slice(1);return g&&b.length>0&&(d[g]=b.join(":").trim()),d},{})),m}(n):[];return s({iconName:t,title:n.getAttribute("title"),titleId:n.getAttribute("data-fa-title-id"),prefix:a,transform:C,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:r,styles:l,attributes:i}},o)}const{styles:ia}=j;function wt(n){const e=p.autoReplaceSvg==="nest"?Me(n,{styleParser:!1}):Me(n);return~e.extra.classes.indexOf(at)?_("generateLayersText",n,e):_("generateSvgReplacementMutation",n,e)}function Ne(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!R)return Promise.resolve();const t=v.documentElement.classList,a=m=>t.add("".concat(de,"-").concat(m)),r=m=>t.remove("".concat(de,"-").concat(m)),i=p.autoFetchSvg?[...St,...In]:Je.concat(Object.keys(ia));i.includes("fa")||i.push("fa");const o=[".".concat(at,":not([").concat(U,"])")].concat(i.map(m=>".".concat(m,":not([").concat(U,"])"))).join(", ");if(o.length===0)return Promise.resolve();let l=[];try{l=J(n.querySelectorAll(o))}catch{}if(!(l.length>0))return Promise.resolve();a("pending"),r("complete");const f=ie("onTree"),c=l.reduce((m,d)=>{try{const u=wt(d);u&&m.push(u)}catch(u){et||u.name}return m},[]);return new Promise((m,d)=>{Promise.all(c).then(u=>{vt(u,()=>{a("active"),a("complete"),r("pending"),typeof e=="function"&&e(),f(),m()})}).catch(u=>{f(),d(u)})})}function oa(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;wt(n).then(t=>{t&&vt([t],e)})}const sa=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=C,symbol:a=!1,mask:r=null,maskId:i=null,title:o=null,titleId:l=null,classes:f=[],attributes:c={},styles:m={}}=e;if(!n)return;const{prefix:d,iconName:u,icon:h}=n;return xn(s({type:"icon"},n),()=>(q("beforeDOMElementCreation",{iconDefinition:n,params:e}),p.autoA11y&&(o?c["aria-labelledby"]="".concat(p.replacementClass,"-title-").concat(l||tn()):(c["aria-hidden"]="true",c.focusable="false")),re({icons:{main:Kn(h),mask:r?Kn(r.icon):{found:!1,width:null,height:null,icon:{}}},prefix:d,iconName:u,transform:s(s({},C),t),symbol:a,title:o,maskId:i,titleId:l,extra:{attributes:c,styles:m,classes:f}})))};var ca={mixout(){return{icon:(n=sa,function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=(e||{}).icon?e:qn(e||{});let{mask:r}=t;return r&&(r=(r||{}).icon?r:qn(r||{})),n(a,s(s({},t),{},{mask:r}))})};var n},hooks:()=>({mutationObserverCallbacks:n=>(n.treeCallback=Ne,n.nodeCallback=oa,n)}),provides(n){n.i2svg=function(e){const{node:t=v,callback:a=()=>{}}=e;return Ne(t,a)},n.generateSvgReplacementMutation=function(e,t){const{iconName:a,title:r,titleId:i,prefix:o,transform:l,symbol:f,mask:c,maskId:m,extra:d}=t;return new Promise((u,h)=>{Promise.all([Xn(a,o),c.iconName?Xn(c.iconName,c.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(g=>{let[b,w]=g;u([e,re({icons:{main:b,mask:w},prefix:o,iconName:a,transform:l,symbol:f,maskId:m,title:r,titleId:i,extra:d,watchable:!0})])}).catch(h)})},n.generateAbstractIcon=function(e){let{children:t,attributes:a,main:r,transform:i,styles:o}=e;const l=bn(o);let f;return l.length>0&&(a.style=l),te(i)&&(f=_("generateAbstractTransformGrouping",{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),t.push(f||r.icon),{children:t,attributes:a}}}},la={mixout:()=>({layer(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:t=[]}=e;return xn({type:"layer"},()=>{q("beforeDOMElementCreation",{assembler:n,params:e});let a=[];return n(r=>{Array.isArray(r)?r.map(i=>{a=a.concat(i.abstract)}):a=a.concat(r.abstract)}),[{tag:"span",attributes:{class:["".concat(p.cssPrefix,"-layers"),...t].join(" ")},children:a}]})}})},fa={mixout:()=>({counter(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:t=null,classes:a=[],attributes:r={},styles:i={}}=e;return xn({type:"counter",content:n},()=>(q("beforeDOMElementCreation",{content:n,params:e}),function(o){const{content:l,title:f,extra:c}=o,m=s(s(s({},c.attributes),f?{title:f}:{}),{},{class:c.classes.join(" ")}),d=bn(c.styles);d.length>0&&(m.style=d);const u=[];return u.push({tag:"span",attributes:m,children:[l]}),f&&u.push({tag:"span",attributes:{class:"sr-only"},children:[f]}),u}({content:n.toString(),title:t,extra:{attributes:r,styles:i,classes:["".concat(p.cssPrefix,"-layers-counter"),...a]}})))}})},ua={mixout:()=>({text(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=C,title:a=null,classes:r=[],attributes:i={},styles:o={}}=e;return xn({type:"text",content:n},()=>(q("beforeDOMElementCreation",{content:n,params:e}),ke({content:n,transform:s(s({},C),t),title:a,extra:{attributes:i,styles:o,classes:["".concat(p.cssPrefix,"-layers-text"),...r]}})))}}),provides(n){n.generateLayersText=function(e,t){const{title:a,transform:r,extra:i}=t;let o=null,l=null;if(Ge){const f=parseInt(getComputedStyle(e).fontSize,10),c=e.getBoundingClientRect();o=c.width/f,l=c.height/f}return p.autoA11y&&!a&&(i.attributes["aria-hidden"]="true"),Promise.resolve([e,ke({content:e.innerHTML,width:o,height:l,transform:r,title:a,extra:i,watchable:!0})])}}};const ma=new RegExp('"',"ug"),Pe=[1105920,1112319],Se=s(s(s(s({},{FontAwesome:{normal:"fas",400:"fas"}}),{"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}}),{"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}}),{"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}}),Zn=Object.keys(Se).reduce((n,e)=>(n[e.toLowerCase()]=Se[e],n),{}),da=Object.keys(Zn).reduce((n,e)=>{const t=Zn[e];return n[e]=t[900]||[...Object.entries(t)][0][1],n},{});function Ce(n,e){const t="".concat("data-fa-pseudo-element-pending").concat(e.replace(":","-"));return new Promise((a,r)=>{if(n.getAttribute(t)!==null)return a();const i=J(n.children).filter(d=>d.getAttribute(Dn)===e)[0],o=Y.getComputedStyle(n,e),l=o.getPropertyValue("font-family"),f=l.match(_t),c=o.getPropertyValue("font-weight"),m=o.getPropertyValue("content");if(i&&!f)return n.removeChild(i),a();if(f&&m!=="none"&&m!==""){const d=o.getPropertyValue("content");let u=function(x,k){const M=x.replace(/^['"]|['"]$/g,"").toLowerCase(),y=parseInt(k),A=isNaN(y)?"normal":y;return(Zn[M]||{})[A]||da[M]}(l,c);const{value:h,isSecondary:g}=function(x){const k=x.replace(ma,""),M=function(L,E){const T=L.length;let S,P=L.charCodeAt(E);return P>=55296&&P<=56319&&T>E+1&&(S=L.charCodeAt(E+1),S>=56320&&S<=57343)?1024*(P-55296)+S-56320+65536:P}(k,0),y=M>=Pe[0]&&M<=Pe[1],A=k.length===2&&k[0]===k[1];return{value:ct(A?k[0]:k),isSecondary:y||A}}(d),b=f[0].startsWith("FontAwesome");let w=Hn(u,h),z=w;if(b){const x=function(k){const M=dt[k],y=Hn("fas",k);return M||(y?{prefix:"fas",iconName:y}:null)||{prefix:null,iconName:null}}(h);x.iconName&&x.prefix&&(w=x.iconName,u=x.prefix)}if(!w||g||i&&i.getAttribute(Rn)===u&&i.getAttribute(Tn)===z)a();else{n.setAttribute(t,z),i&&n.removeChild(i);const x={iconName:null,title:null,titleId:null,prefix:null,transform:C,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},{extra:k}=x;k.attributes[Dn]=e,Xn(w,u).then(M=>{const y=re(s(s({},x),{},{icons:{main:M,mask:{prefix:null,iconName:null,rest:[]}},prefix:u,iconName:z,extra:k,watchable:!0})),A=v.createElementNS("http://www.w3.org/2000/svg","svg");e==="::before"?n.insertBefore(A,n.firstChild):n.appendChild(A),A.outerHTML=y.map(L=>rn(L)).join(` +`),n.removeAttribute(t),a()}).catch(r)}}else a()})}function pa(n){return Promise.all([Ce(n,"::before"),Ce(n,"::after")])}function ga(n){return!(n.parentNode===document.head||~Bt.indexOf(n.tagName.toUpperCase())||n.getAttribute(Dn)||n.parentNode&&n.parentNode.tagName==="svg")}function je(n){if(R)return new Promise((e,t)=>{const a=J(n.querySelectorAll("*")).filter(ga).map(pa),r=ie("searchPseudoElements");xt(),Promise.all(a).then(()=>{r(),Gn(),e()}).catch(()=>{r(),Gn(),t()})})}let Ee=!1;const Ie=n=>n.toLowerCase().split(" ").reduce((e,t)=>{const a=t.toLowerCase().split("-"),r=a[0];let i=a.slice(1).join("-");if(r&&i==="h")return e.flipX=!0,e;if(r&&i==="v")return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0}),Nn={x:0,y:0,width:"100%",height:"100%"};function Fe(n){let e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];return n.attributes&&(n.attributes.fill||e)&&(n.attributes.fill="black"),n}(function(n,e){let{mixoutsTo:t}=e;we=n,G={},Object.keys(Z).forEach(a=>{Jt.indexOf(a)===-1&&delete Z[a]}),we.forEach(a=>{const r=a.mixout?a.mixout():{};if(Object.keys(r).forEach(i=>{typeof r[i]=="function"&&(t[i]=r[i]),typeof r[i]=="object"&&Object.keys(r[i]).forEach(o=>{t[i]||(t[i]={}),t[i][o]=r[i][o]})}),a.hooks){const i=a.hooks();Object.keys(i).forEach(o=>{G[o]||(G[o]=[]),G[o].push(i[o])})}a.provides&&a.provides(Z)})})([qt,ca,la,fa,ua,{hooks:()=>({mutationObserverCallbacks:n=>(n.pseudoElementsCallback=je,n)}),provides(n){n.pseudoElements2svg=function(e){const{node:t=v}=e;p.searchPseudoElements&&je(t)}}},{mixout:()=>({dom:{unwatch(){xt(),Ee=!0}}}),hooks:()=>({bootstrap(){Oe(Un("mutationObserverCallbacks",{}))},noAuto(){gn&&gn.disconnect()},watch(n){const{observeMutationsRoot:e}=n;Ee?Gn():Oe(Un("mutationObserverCallbacks",{observeMutationsRoot:e}))}})},{mixout:()=>({parse:{transform:n=>Ie(n)}}),hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-transform");return t&&(n.transform=Ie(t)),n}}),provides(n){n.generateAbstractTransformGrouping=function(e){let{main:t,transform:a,containerWidth:r,iconWidth:i}=e;const o={transform:"translate(".concat(r/2," 256)")},l="translate(".concat(32*a.x,", ").concat(32*a.y,") "),f="scale(".concat(a.size/16*(a.flipX?-1:1),", ").concat(a.size/16*(a.flipY?-1:1),") "),c="rotate(".concat(a.rotate," 0 0)"),m={outer:o,inner:{transform:"".concat(l," ").concat(f," ").concat(c)},path:{transform:"translate(".concat(i/2*-1," -256)")}};return{tag:"g",attributes:s({},m.outer),children:[{tag:"g",attributes:s({},m.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:s(s({},t.icon.attributes),m.path)}]}]}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-mask"),a=t?vn(t.split(" ").map(r=>r.trim())):{prefix:null,iconName:null,rest:[]};return a.prefix||(a.prefix=W()),n.mask=a,n.maskId=e.getAttribute("data-fa-mask-id"),n}}),provides(n){n.generateAbstractMask=function(e){let{children:t,attributes:a,main:r,mask:i,maskId:o,transform:l}=e;const{width:f,icon:c}=r,{width:m,icon:d}=i,u=function(A){let{transform:L,containerWidth:E,iconWidth:T}=A;const S={transform:"translate(".concat(E/2," 256)")},P="translate(".concat(32*L.x,", ").concat(32*L.y,") "),wn="scale(".concat(L.size/16*(L.flipX?-1:1),", ").concat(L.size/16*(L.flipY?-1:1),") "),kn="rotate(".concat(L.rotate," 0 0)");return{outer:S,inner:{transform:"".concat(P," ").concat(wn," ").concat(kn)},path:{transform:"translate(".concat(T/2*-1," -256)")}}}({transform:l,containerWidth:m,iconWidth:f}),h={tag:"rect",attributes:s(s({},Nn),{},{fill:"white"})},g=c.children?{children:c.children.map(Fe)}:{},b={tag:"g",attributes:s({},u.inner),children:[Fe(s({tag:c.tag,attributes:s(s({},c.attributes),u.path)},g))]},w={tag:"g",attributes:s({},u.outer),children:[b]},z="mask-".concat(o||tn()),x="clip-".concat(o||tn()),k={tag:"mask",attributes:s(s({},Nn),{},{id:z,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,w]},M={tag:"defs",children:[{tag:"clipPath",attributes:{id:x},children:(y=d,y.tag==="g"?y.children:[y])},k]};var y;return t.push(M,{tag:"rect",attributes:s({fill:"currentColor","clip-path":"url(#".concat(x,")"),mask:"url(#".concat(z,")")},Nn)}),{children:t,attributes:a}}}},{provides(n){let e=!1;Y.matchMedia&&(e=Y.matchMedia("(prefers-reduced-motion: reduce)").matches),n.missingIconAbstract=function(){const t=[],a={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};t.push({tag:"path",attributes:s(s({},a),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const i=s(s({},r),{},{attributeName:"opacity"}),o={tag:"circle",attributes:s(s({},a),{},{cx:"256",cy:"364",r:"28"}),children:[]};return e||o.children.push({tag:"animate",attributes:s(s({},r),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:s(s({},i),{},{values:"1;0;1;1;0;1;"})}),t.push(o),t.push({tag:"path",attributes:s(s({},a),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:e?[]:[{tag:"animate",attributes:s(s({},i),{},{values:"1;0;0;0;0;1;"})}]}),e||t.push({tag:"path",attributes:s(s({},a),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:s(s({},i),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:t}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-symbol"),a=t!==null&&(t===""||t);return n.symbol=a,n}})}],{mixoutsTo:on});const za=on.library,Jn=on.parse,ha=on.icon;function De(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,a)}return t}function D(n){for(var e=1;e=0)continue;f[c]=o[c]}return f}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(n,t)&&(r[t]=n[t])}return r}var Pn,Re,X,ln,Sn,fn,Q,Te,Be,Ye,We,_e,He,Ue,un,Cn,va=typeof globalThis<"u"?globalThis:typeof window<"u"?window:ce!==void 0?ce:typeof self<"u"?self:{},kt={exports:{}};Pn=kt,Re=va,X=function(n,e,t){if(!Be(e)||We(e)||_e(e)||He(e)||Te(e))return e;var a,r=0,i=0;if(Ye(e))for(a=[],i=e.length;r1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof n=="string")return n;var a=(n.children||[]).map(function(f){return zt(f)}),r=Object.keys(n.attributes||{}).reduce(function(f,c){var m=n.attributes[c];switch(c){case"class":f.class=m.split(/\s+/).reduce(function(d,u){return d[u]=!0,d},{});break;case"style":f.style=m.split(";").map(function(d){return d.trim()}).filter(function(d){return d}).reduce(function(d,u){var h=u.indexOf(":"),g=xa.camelize(u.slice(0,h)),b=u.slice(h+1).trim();return d[g]=b,d},{});break;default:f.attrs[c]=m}return f},{attrs:{},class:{},style:{}});t.class;var i=t.style,o=i===void 0?{}:i,l=ya(t,wa);return Mt(n.tag,D(D(D({},e),{},{class:r.class,style:D(D({},r.style),o)},r.attrs),l),a)}var At=!1;try{At=!0}catch{}function jn(n,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?N({},n,e):{}}function qe(n){return n&&Qn(n)==="object"&&n.prefix&&n.iconName&&n.icon?n:Jn.icon?Jn.icon(n):n===null?null:Qn(n)==="object"&&n.prefix&&n.iconName?n:Array.isArray(n)&&n.length===2?{prefix:n[0],iconName:n[1]}:typeof n=="string"?{prefix:"fas",iconName:n}:void 0}var Aa=Lt({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(n){return[!0,!1,"horizontal","vertical","both"].indexOf(n)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(n){return["right","left"].indexOf(n)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(n){return[90,180,270].indexOf(Number.parseInt(n,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(n){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(n)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(n,e){var t=e.attrs,a=K(function(){return qe(n.icon)}),r=K(function(){return jn("classes",function(c){var m,d=(N(N(N(N(N(N(N(N(N(N(m={"fa-spin":c.spin,"fa-pulse":c.pulse,"fa-fw":c.fixedWidth,"fa-border":c.border,"fa-li":c.listItem,"fa-inverse":c.inverse,"fa-flip":c.flip===!0,"fa-flip-horizontal":c.flip==="horizontal"||c.flip==="both","fa-flip-vertical":c.flip==="vertical"||c.flip==="both"},"fa-".concat(c.size),c.size!==null),"fa-rotate-".concat(c.rotation),c.rotation!==null),"fa-pull-".concat(c.pull),c.pull!==null),"fa-swap-opacity",c.swapOpacity),"fa-bounce",c.bounce),"fa-shake",c.shake),"fa-beat",c.beat),"fa-fade",c.fade),"fa-beat-fade",c.beatFade),"fa-flash",c.flash),N(N(m,"fa-spin-pulse",c.spinPulse),"fa-spin-reverse",c.spinReverse));return Object.keys(d).map(function(u){return d[u]?u:null}).filter(function(u){return u})}(n))}),i=K(function(){return jn("transform",typeof n.transform=="string"?Jn.transform(n.transform):n.transform)}),o=K(function(){return jn("mask",qe(n.mask))}),l=K(function(){return ha(a.value,D(D(D(D({},r.value),i.value),o.value),{},{symbol:n.symbol,title:n.title,titleId:n.titleId,maskId:n.maskId}))});Ot(l,function(c){if(!c)return function(){var m;!At&&console&&typeof console.error=="function"&&(m=console).error.apply(m,arguments)}("Could not find one or more icon(s)",a.value,o.value)},{immediate:!0});var f=K(function(){return l.value?zt(l.value.abstract[0],{},t):null});return function(){return f.value}}});/*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. - */const La={prefix:"fas",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z"]},Oa={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"]},Ma={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"]},Na={prefix:"fas",iconName:"star",icon:[576,512,[11088,61446],"f005","M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"]},Pa={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},Sa={prefix:"fas",iconName:"car-battery",icon:[512,512,["battery-car"],"f5df","M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z"]},Ca={prefix:"fas",iconName:"plug-circle-bolt",icon:[576,512,[],"e55b","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z"]},ja={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384l217 0 0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64 217 0c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0L122.2 0zM260.9 64l118.2 0 10.4 104-139 0L260.9 64zM202.3 168l-100.8 0L122.2 64l90.4 0L202.3 168zM91.8 216l105.6 0L187.1 320 71 320 91.8 216zm153.9 0l148.6 0 10.4 104-169.4 0 10.4-104zm196.8 0l105.6 0L569 320l-116 0L442.5 216zm96-48l-100.8 0L427.3 64l90.4 0 31.4-6.3L517.8 64l20.8 104z"]},Ea={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"]},Ia={prefix:"fas",iconName:"wrench",icon:[512,512,[128295],"f0ad","M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},Fa={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Da={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},Ra={prefix:"fas",iconName:"plug-circle-check",icon:[576,512,[],"e55c","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z"]},Ta={prefix:"fas",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},Ba={prefix:"fas",iconName:"power-off",icon:[512,512,[9211],"f011","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z"]},Ya={prefix:"fas",iconName:"calculator",icon:[384,512,[128425],"f1ec","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM96 64l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"]},Wa={prefix:"fas",iconName:"delete-left",icon:[576,512,[9003,"backspace"],"f55a","M576 128c0-35.3-28.7-64-64-64L205.3 64c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7L512 448c35.3 0 64-28.7 64-64l0-256zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},Ha={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},_a={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L80 256z"]},Ua={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},qa={prefix:"fas",iconName:"car",icon:[512,512,[128664,"automobile"],"f1b9","M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]},Ka={prefix:"fas",iconName:"plug-circle-xmark",icon:[576,512,[],"e560","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"]},Xa={prefix:"fas",iconName:"eraser",icon:[576,512,[],"f12d","M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7L288 480l9.4 0L512 480c17.7 0 32-14.3 32-32s-14.3-32-32-32l-124.1 0L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416l-9.4 0-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z"]},Va={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Ga={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Za={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z"]},Ja={prefix:"fas",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},Qa={prefix:"far",iconName:"star",icon:[576,512,[11088,61446],"f005","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"]},$a={prefix:"far",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]};export{Ra as A,Ca as B,Da as C,Ba as D,Aa as F,Xa as a,Oa as b,Ea as c,Va as d,Sa as e,Wa as f,ja as g,Ha as h,Pa as i,Ya as j,Ia as k,za as l,qa as m,Ma as n,Ja as o,Ga as p,Fa as q,Na as r,Qa as s,Ta as t,$a as u,Ua as v,Za as w,_a as x,La as y,Ka as z}; + */const La={prefix:"fas",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z"]},Oa={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"]},Ma={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"]},Na={prefix:"fas",iconName:"star",icon:[576,512,[11088,61446],"f005","M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"]},Pa={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},Sa={prefix:"fas",iconName:"car-battery",icon:[512,512,["battery-car"],"f5df","M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z"]},Ca={prefix:"fas",iconName:"plug-circle-bolt",icon:[576,512,[],"e55b","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z"]},ja={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384l217 0 0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64 217 0c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0L122.2 0zM260.9 64l118.2 0 10.4 104-139 0L260.9 64zM202.3 168l-100.8 0L122.2 64l90.4 0L202.3 168zM91.8 216l105.6 0L187.1 320 71 320 91.8 216zm153.9 0l148.6 0 10.4 104-169.4 0 10.4-104zm196.8 0l105.6 0L569 320l-116 0L442.5 216zm96-48l-100.8 0L427.3 64l90.4 0 31.4-6.3L517.8 64l20.8 104z"]},Ea={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"]},Ia={prefix:"fas",iconName:"wrench",icon:[512,512,[128295],"f0ad","M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},Fa={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Da={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},Ra={prefix:"fas",iconName:"plug-circle-check",icon:[576,512,[],"e55c","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z"]},Ta={prefix:"fas",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},Ba={prefix:"fas",iconName:"power-off",icon:[512,512,[9211],"f011","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z"]},Ya={prefix:"fas",iconName:"calculator",icon:[384,512,[128425],"f1ec","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM96 64l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"]},Wa={prefix:"fas",iconName:"delete-left",icon:[576,512,[9003,"backspace"],"f55a","M576 128c0-35.3-28.7-64-64-64L205.3 64c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7L512 448c35.3 0 64-28.7 64-64l0-256zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},_a={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},Ha={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L80 256z"]},Ua={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},qa={prefix:"fas",iconName:"car",icon:[512,512,[128664,"automobile"],"f1b9","M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]},Ka={prefix:"fas",iconName:"plug-circle-xmark",icon:[576,512,[],"e560","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"]},Xa={prefix:"fas",iconName:"eraser",icon:[576,512,[],"f12d","M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7L288 480l9.4 0L512 480c17.7 0 32-14.3 32-32s-14.3-32-32-32l-124.1 0L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416l-9.4 0-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z"]},Va={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Ga={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Za={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z"]},Ja={prefix:"fas",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},Qa={prefix:"far",iconName:"star",icon:[576,512,[11088,61446],"f005","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"]},$a={prefix:"far",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]};export{Ra as A,Ca as B,Da as C,Ba as D,Aa as F,Xa as a,Oa as b,Ea as c,Va as d,Sa as e,Wa as f,ja as g,_a as h,Pa as i,Ya as j,Ia as k,za as l,qa as m,Ma as n,Ja as o,Ga as p,Fa as q,Na as r,Qa as s,Ta as t,$a as u,Ua as v,Za as w,Ha as x,La as y,Ka as z}; diff --git a/packages/modules/display_themes/cards/web/assets/vendor-inkline-CWAydWlY.js b/packages/modules/display_themes/cards/web/assets/vendor-inkline-CWAydWlY.js new file mode 100644 index 0000000000..8ee1d48b9b --- /dev/null +++ b/packages/modules/display_themes/cards/web/assets/vendor-inkline-CWAydWlY.js @@ -0,0 +1 @@ +import{h as nt,w as Bt,r as zt,d as c,a as At,b as $,v as x,o as l,e as o,f as d,i as f,j as m,m as h,k as P,l as V,n as y,p as Y,q as A,s as I,t as E,u as Q,T as L,x as _,y as z,z as G,F as j,A as X,c as se,B as Vt,C as Ot,D as Lt,E as Dt,G as Nt}from"./vendor-DIlzVmqi.js";const p=(e,t)=>{const i=e.__vccOpts||e;for(const[a,s]of t)i[a]=s;return i};function g(e){let t=e.color;return t||(t=e.$inkline.options.colorMode==="system"?typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.$inkline.options.colorMode),{[`-${t}`]:!0}}function lt(e,t){if(!e||!t)return!1;if(t.indexOf(" ")!==-1)throw new Error("Class name should not contain spaces.");return e.classList?e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1}function _e(e,t){if(!e)return;let i=e.className;const a=(t||"").split(" ");for(let s=0,r=a.length;s"-"+s.toLowerCase())}function rt(e,t){return["string","number"].indexOf(typeof t)>-1&&t!==""?`${He(e)}-${t}`:He(e)}function Re(e){return e.charAt(0).toUpperCase()+e.slice(1)}function U(e){if(Array.isArray(e)){const t=e.slice().map(U),i=Object.keys(t);return Object.keys(e).filter(a=>!i.includes(a)).forEach(a=>{t[a]=e[a]}),t}return typeof e=="object"?Object.keys(e).reduce((t,i)=>(t[i]=U(e[i]),t),{}):e}function Fe(e){if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return e.type!=="hidden"&&e.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}function Tt(e){if(!Fe(e))return!1;try{e.focus()}catch{}return typeof window<"u"&&document.activeElement===e}function ot(e){for(let t=0;t"u")return;if(e.currentStyle)return e.currentStyle[t];const i=window.getComputedStyle(e,null);return i.getPropertyValue?i.getPropertyValue(t):i[t]}const dt=e=>e instanceof Function,J={xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1/0]},je=["","xs","sm","md","lg","xl","xxl"],Pt={tab:["Tab",9],enter:["Enter",13],esc:["Escape",27],space:[" ","Space",32],left:["ArrowLeft","Left",37],up:["ArrowUp","Up",38],right:["ArrowRight","Right",39],down:["ArrowDown","Down",40]},Qe={pristine:!0,dirty:!1,untouched:!0,touched:!1,valid:!0,invalid:!1,errors:[]},Rt={value:"",validators:[]},ut=["value","validators","pristine","dirty","untouched","touched","valid","invalid","errors"],k=(e,t)=>{const i=t.key||t.keyIdentifier||t.keyCode;return Pt[e].indexOf(i)!==-1};function Et(e,t,i){e&&t&&e.removeEventListener(t,i,!1)}function Mt(e,t,i){e&&t&&e.detachEvent("on"+t,i)}const T=typeof window>"u"?()=>{}:window.document.removeEventListener?Et:Mt;function _t(e,t,i){e&&t&&i&&e.addEventListener(t,i,!1)}function Ft(e,t,i){e&&t&&i&&e.attachEvent("on"+t,i)}const O=typeof window>"u"?()=>{}:window.document.addEventListener?_t:Ft,ct=e=>e.map(t=>t.type==="element"?nt(t.name,t.attributes,ct(t.children)):t.value);function pt(e,t){if(!e||!t)return;const i=t.split(" ");let a=" "+e.className+" ";for(let s=0,r=i.length;si&&i[a],e)}function ne(e,t,i){return t&&t.split(".").reduce((a,s)=>(Object.keys(i).forEach(r=>{a[s][r]=i[r]}),a&&a[s]),e),Object.keys(i).forEach(a=>{e[a]=i[a]}),e}function S(e){return`${e?`${e}-`:""}${Math.random().toString(36).substr(2,9)}`}const D={"en-US":/^[A-Z]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ω]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},N={"en-US":/^[0-9A-Z]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/};["AU","GB","HK","IN","NZ","ZA","ZM"].forEach(e=>{D[`en-${e}`]=D["en-US"],N[`en-${e}`]=N["en-US"]}),["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"].forEach(e=>{D[`ar-${e}`]=D.ar,N[`ar-${e}`]=N.ar}),D["pt-BR"]=D["pt-PT"],N["pt-BR"]=N["pt-PT"],D["pl-Pl"]=D["pl-PL"],N["pl-Pl"]=N["pl-PL"];const Ye=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,jt={alpha:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>D[i].test(a(s))):D[i].test(a(e))},alphanumeric:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>N[i].test(a(s))):N[i].test(a(e))},custom:function(e,t={validator:()=>!0}){return e.constructor===Array?e.every(i=>t.validator(i)):t.validator(e)},number:function(e,t={allowNegative:!1,allowDecimal:!1}){let i="\\d+";t.allowNegative&&(i="[-]?"+i),t.allowDecimal&&(i+="([\\.\\,]\\d+)?");const a=new RegExp(`^${i}$`);return e.constructor===Array?e.every(s=>a.test(s)):a.test(e)},email:function(e){return e.constructor===Array?e.every(t=>!t||Ye.test(String(t))):!e||Ye.test(String(e))},max:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)<=t.value):i(e)<=t.value},maxLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length<=t.value:typeof e=="object"?Object.keys(e).length<=t.value:String(e).length<=t.value)},min:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)>=t.value):i(e)>=t.value},minLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length>=t.value:typeof e=="object"?Object.keys(e).length>=t.value:String(e).length>=t.value)},required:function(e,t={invalidateFalse:!1}){return e!=null&&(e.constructor===Array?!!e.length:typeof e=="boolean"?!t.invalidateFalse||e:!!String(e).trim().length)},sameAs:function(e,t={}){if(!t.target)return!1;const i=M(t.schema(),t.target);if(!i)throw new Error(`Could not find target with name '${t.target}' in 'sameAs' validator.`);return e===i.value}};function ht(e){const t=Object.keys(e).length===0||Array.isArray(e.validators)||e.hasOwnProperty("value")?{...Qe,...Rt}:Qe;return Object.entries(t).forEach(([i,a])=>{e.hasOwnProperty(i)||(e[i]=a)}),Object.keys(e).filter(i=>!ut.includes(i)).forEach(i=>{(typeof e[i]=="object"||Array.isArray(e[i]))&&(e[i]=ht(e[i]))}),e}const Ee={locale:"en",messages:{en:{validation:{alpha:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, spaces, and dashes";break;case e.allowSpaces:t="letters and spaces";break;case e.allowDashes:t="letters and dashes";break;default:t="letters"}return`Please enter ${t} only.`},alphanumeric:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, numbers, spaces, and dashes";break;case e.allowSpaces:t="letters, numbers, and spaces";break;case e.allowDashes:t="letters, numbers, and dashes";break;default:t="letters and numbers"}return`Please enter ${t} only.`},number:e=>{let t;switch(!0){case(e.allowNegative&&e.allowDecimal):t="positive or negative decimal numbers";break;case e.allowNegative:t="positive or negative numbers";break;case e.allowDecimal:t="decimal numbers";break;default:t="numbers"}return`Please enter ${t} only.`},email:()=>"Please enter a valid email address.",max:()=>"Please enter a maximum value of {value}.",maxLength:()=>"Please enter up to {value} characters.",min:()=>"Please enter a minimum value of {value}.",minLength:()=>"Please enter at least {value} characters.",required:()=>"Please enter a value for this field.",sameAs:()=>"Please make sure that the two values match.",custom:()=>"Please enter a correct value for this field."}}}};function Gt(e,t=""){const i=[];return e.valid=(e.validators||[]).reduce((a,s)=>{const r=typeof s=="string"?{name:s}:s,n=jt[r.name](e.value,r);if(!n){const{name:b,message:B,...F}=r,w={name:t.split(".").pop(),value:e.value,...F},xt=(B instanceof Function?B():B)||function(We,ie={}){const ae=M(Ee.messages[Ee.locale],We),Ct=dt(ae)?ae(ie):ae||We;return Object.keys(ie).reduce((St,Ue)=>St.replace(new RegExp(`{${Ue}}`,"g"),`${ie[Ue]}`),Ct)}(`validation.${b}`,w);i.push({name:b,message:xt,path:t})}return a&&n},!0),e.invalid=!e.valid,e.errors=i,e}function mt(e,t=""){return e.valid=Object.keys(e).filter(i=>!ut.includes(i)).reduce((i,a)=>(Object.keys(e[a]).length===0||e[a].validators||e[a].value?e[a]=Gt(e[a],`${t}`?`${t}.${a}`:a):e[a]=mt(e[a],`${t}`?`${t}.${a}`:a),i&&e[a].valid),!0),e.invalid=!e.valid,e}function le(e){return mt(e,"")}const Zt=Object.freeze(Object.defineProperty({__proto__:null,inkCaretDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"caret-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkCheck:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"check",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M23.625 3.5l-13.125 13.125-6.125-6.125-4.375 4.375 10.5 10.5 17.5-17.5z"},children:[]}]},inkChevronDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"chevron-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M26.297 12.625l-11.594 11.578c-0.391 0.391-1.016 0.391-1.406 0l-11.594-11.578c-0.391-0.391-0.391-1.031 0-1.422l2.594-2.578c0.391-0.391 1.016-0.391 1.406 0l8.297 8.297 8.297-8.297c0.391-0.391 1.016-0.391 1.406 0l2.594 2.578c0.391 0.391 0.391 1.031 0 1.422z"},children:[]}]},inkCircle:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"circle",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"},children:[]}]},inkDanger:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"danger",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.625c-3.038 0-5.895 1.183-8.043 3.332s-3.332 5.005-3.332 8.043c0 3.038 1.183 5.895 3.332 8.043s5.005 3.332 8.043 3.332c3.038 0 5.895-1.183 8.043-3.332s3.332-5.005 3.332-8.043c0-3.038-1.183-5.895-3.332-8.043s-5.005-3.332-8.043-3.332zM14 0v0c7.732 0 14 6.268 14 14s-6.268 14-14 14c-7.732 0-14-6.268-14-14s6.268-14 14-14zM12.25 19.25h3.5v3.5h-3.5zM12.25 5.25h3.5v10.5h-3.5z"},children:[]}]},inkInfo:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"info",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M12.25 8.313c0-0.722 0.591-1.313 1.313-1.313h0.875c0.722 0 1.313 0.591 1.313 1.313v0.875c0 0.722-0.591 1.313-1.313 1.313h-0.875c-0.722 0-1.313-0.591-1.313-1.313v-0.875z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M17.5 21h-7v-1.75h1.75v-5.25h-1.75v-1.75h5.25v7h1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 0c-7.732 0-14 6.268-14 14s6.268 14 14 14 14-6.268 14-14-6.268-14-14-14zM14 25.375c-6.282 0-11.375-5.093-11.375-11.375s5.093-11.375 11.375-11.375 11.375 5.093 11.375 11.375-5.093 11.375-11.375 11.375z"},children:[]}]},inkMinus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"minus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M0 11.375v5.25c0 0.483 0.392 0.875 0.875 0.875h26.25c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875h-26.25c-0.483 0-0.875 0.392-0.875 0.875z"},children:[]}]},inkPlus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"plus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.125 10.5h-9.625v-9.625c0-0.483-0.392-0.875-0.875-0.875h-5.25c-0.483 0-0.875 0.392-0.875 0.875v9.625h-9.625c-0.483 0-0.875 0.392-0.875 0.875v5.25c0 0.483 0.392 0.875 0.875 0.875h9.625v9.625c0 0.483 0.392 0.875 0.875 0.875h5.25c0.483 0 0.875-0.392 0.875-0.875v-9.625h9.625c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875z"},children:[]}]},inkSearch:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"search",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.132 23.827l-6.632-5.641c-0.686-0.617-1.419-0.9-2.011-0.873 1.566-1.834 2.511-4.213 2.511-6.813 0-5.799-4.701-10.5-10.5-10.5s-10.5 4.701-10.5 10.5 4.701 10.5 10.5 10.5c2.6 0 4.98-0.946 6.813-2.511-0.027 0.592 0.256 1.326 0.873 2.011l5.641 6.632c0.966 1.073 2.544 1.164 3.506 0.201s0.872-2.54-0.201-3.506zM10.5 17.5c-3.866 0-7-3.134-7-7s3.134-7 7-7 7 3.134 7 7-3.134 7-7 7z"},children:[]}]},inkSort:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1zM16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortAsc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-asc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortDesc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-desc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkTimes:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"times",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.745 22.495c-0-0-0-0-0-0l-8.494-8.494 8.494-8.494c0-0 0-0 0-0 0.091-0.091 0.158-0.198 0.2-0.312 0.116-0.311 0.050-0.675-0.2-0.925l-4.013-4.013c-0.25-0.25-0.614-0.316-0.925-0.2-0.114 0.042-0.221 0.109-0.312 0.2 0 0-0 0-0 0l-8.494 8.494-8.494-8.494c-0-0-0-0-0-0-0.091-0.091-0.198-0.158-0.312-0.2-0.311-0.116-0.675-0.050-0.925 0.2l-4.013 4.013c-0.25 0.25-0.316 0.614-0.2 0.925 0.042 0.114 0.109 0.221 0.2 0.312 0 0 0 0 0 0l8.494 8.494-8.494 8.494c-0 0-0 0-0 0-0.091 0.091-0.157 0.198-0.2 0.312-0.116 0.311-0.050 0.675 0.2 0.925l4.013 4.013c0.25 0.25 0.614 0.316 0.925 0.2 0.114-0.042 0.221-0.109 0.312-0.2 0-0 0-0 0-0l8.494-8.494 8.494 8.494c0 0 0 0 0 0 0.092 0.091 0.198 0.158 0.312 0.2 0.311 0.116 0.675 0.050 0.925-0.2l4.013-4.013c0.25-0.25 0.316-0.614 0.2-0.925-0.042-0.114-0.109-0.221-0.2-0.312z"},children:[]}]},inkWarning:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"warning",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.537l11.733 23.385h-23.467l11.733-23.385zM14 0c-0.603 0-1.207 0.407-1.665 1.221l-11.951 23.819c-0.916 1.628-0.137 2.96 1.731 2.96h23.77c1.868 0 2.647-1.332 1.731-2.96h0l-11.951-23.819c-0.458-0.814-1.061-1.221-1.665-1.221v0z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M15.75 22.75c0 0.966-0.784 1.75-1.75 1.75s-1.75-0.784-1.75-1.75c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 19.25c-0.966 0-1.75-0.784-1.75-1.75v-5.25c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75v5.25c0 0.966-0.784 1.75-1.75 1.75z"},children:[]}]}},Symbol.toStringTag,{value:"Module"})),Je="inkline-color-mode",re=e=>{let t;t=e==="system"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e,pt(document.body,"-light -dark"),_e(document.body,`-${t}`)},Kt={components:{},icons:{},colorMode:"system",locale:"en",validateOn:["input","blur"],color:"",size:"",routerComponent:"router-link",componentOptions:{}};function qt({icons:e,components:t,...i}){return{form:a=>ht(a),setLocale(a){(function(s){Ee.locale=s})(a)},options:zt(i)}}const W={prototype:void 0,icons:void 0},yn={install(e,t={}){const i={...Kt,...t};for(const r in i.components)e.component(i.components[r].name,i.components[r]);if(typeof window<"u"){const r=localStorage.getItem(Je);r&&(i.colorMode=r)}const a=qt(i);W.prototype=a,e.config.globalProperties.$inkline=a,e.provide("inkline",a);const s={...Zt,...i.icons};if(e.provide("inklineIcons",s),typeof window<"u"){Bt(()=>a.options.colorMode,b=>{re(b),localStorage.setItem(Je,b)});const r=()=>{a.options.colorMode==="system"&&re(a.options.colorMode)},n=matchMedia("(prefers-color-scheme: dark)");n.addEventListener?n.addEventListener("change",r):n.addListener(r),_e(document.body,"inkline"),re(i.colorMode)}}};function u(e,t,i=""){return()=>{var a;return W.prototype?(a=W.prototype.options.componentOptions[e])!=null&&a[t]?W.prototype.options.componentOptions[e][t]:W.prototype.options[t]:i}}function v(e){return["","xs","sm","md","lg","xl","xxl"].includes(e)}const ft=c({props:{collapse:{type:[String,Boolean],default:"md"},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{open:this.modelValue,windowWidth:typeof window<"u"?window.innerWidth:0}},computed:{collapsibleClasses(){return{"-open":this.open,"-collapsible":this.collapsible,[`-collapse-${this.collapse}`]:!!this.collapse}},collapsible(){return this.collapse===!0||this.collapse===!1?this.collapse:this.windowWidth<=J[this.collapse][1]}},watch:{modelValue(e){this.open=e}},created(){typeof window<"u"&&(O(window,"resize",this.onWindowResize),this.onWindowResize())},beforeUnmount(){typeof window<"u"&&T(window,"resize",this.onWindowResize)},methods:{setOpen(e){this.open=e,this.$emit("update:modelValue",this.open)},toggleOpen(){this.open=!this.open,this.$emit("update:modelValue",this.open)},onWindowResize(){if(this.collapse===!0||this.collapse===!1||typeof window>"u")return;const e=window.innerWidth;this.windowWidth<=J[this.collapse][1]&&e>J[this.collapse][1]&&this.setOpen(!1),this.windowWidth=window.innerWidth}}}),R=c({inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},computed:{isDisabled(){return this.disabled||this.form.isDisabled||this.formGroup.isDisabled},isReadonly(){return this.readonly||this.form.isReadonly||this.formGroup.isReadonly},parent(){return this.formGroup.$?this.formGroup:this.form},schema(){const e=this.parent.schema||{};return this.name!==""?M(e,`${this.name}`):e}}}),Z=c({props:{tag:{type:String,default:"a"}},computed:{isTag(){return this.$attrs.to?this.routerComponent:this.$attrs.href?"a":this.tag},isComponent(){return this.isTag===this.routerComponent},routerComponent(){return this.$inkline.options.routerComponent}}}),Wt=e=>({name:"offset",options:{offset:[0,e]}}),bt=({offset:e})=>[Wt(e),{name:"arrow",options:{padding:6}},{name:"preventOverflow",options:{padding:8}},{name:"computeStyles",options:{gpuAcceleration:!1,adaptive:!1}}],ee=c({props:{placement:{type:String,default:"auto"},offset:{type:Number,default:6},popperOptions:{type:Object,default:()=>({})}},data:()=>({popperInstance:void 0}),watch:{placement(e){this.popperInstance&&this.popperInstance.setOptions({placement:e})}},beforeUnmount(){this.destroyPopper()},methods:{createPopper(){if(typeof window>"u")return;const e=bt({offset:this.offset});this.popperInstance=At(this.$refs.wrapper,this.$refs.popup,{strategy:"fixed",placement:this.placement,modifiers:e,...this.popperOptions})},destroyPopper(){this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}}}),Ge=c({props:{disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:void 0},trigger:{type:Array,default:()=>["hover","click","focus"]},interactable:{type:Boolean,default:!0},hoverHideDelay:{type:Number,default:300}},emits:["update:modelValue","click-outside"],data(){return{visible:this.modelValue,triggerStack:0,hoverHideTransition:!1}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){if(!this.$slots.default)throw new Error("Popup components require one child element to be used as trigger.");this.addEventListeners()},beforeUnmount(){this.removeEventListeners()},methods:{show(){this.disabled||this.visible||(this.triggerStack+=1,this.visible=!0,this.createPopper(),this.$emit("update:modelValue",!0))},hide(){!this.disabled&&this.visible&&(this.triggerStack-=1,this.triggerStack<=0&&(this.triggerStack=0,this.visible=!1,this.$emit("update:modelValue",!1)))},hoverShow(){this.hoverHideTransition=!1,this.show()},hoverHide(){this.hoverHideTransition=!0,setTimeout(()=>{this.hoverHideTransition&&this.hide()},this.hoverHideDelay)},onClick(){this.visible?this.hide():this.show()},onClickOutside(e){this.visible&&this.$emit("click-outside",e),this.modelValue||this.hide()},addEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":O(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),O(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(O(this.$refs.popup,"mouseenter",this.hoverShow),O(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":O(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)O(t,"focus",this.show),O(t,"blur",this.hide)}})},removeEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":T(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),T(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(T(this.$refs.popup,"mouseenter",this.hoverShow),T(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":T(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)T(t,"focus",this.show),T(t,"blur",this.hide)}})},focusTrigger(){for(const e of this.$refs.trigger.children)if(ot(e)){e.focus();break}}}}),oe="IAlert",Ut=c({name:oe,inheritAttrs:!1,props:{size:{type:String,default:u(oe,"size"),validator:v},color:{type:String,default:u(oe,"color")},modelValue:{type:Boolean,default:!0},dismissible:{type:Boolean,default:!1},dismissAriaLabel:{type:String,default:"Dismiss"}},emits:["update:modelValue"],data:()=>({dismissed:!1}),computed:{classes(){return{[`-${this.color}`]:!!this.color,[`-${this.size}`]:!!this.size,"-dismissible":this.dismissible,"-with-icon":!!this.$slots.icon}}},watch:{modelValue(e){this.dismissed=!e}},methods:{dismiss(){this.dismissed=!0,this.$emit("update:modelValue",!1)}}}),Ht={key:0,class:"icon",role:"img","aria-hidden":"true"},Qt={class:"content"},Yt=["aria-label"],Jt=p(Ut,[["render",function(e,t,i,a,s,r){return $((l(),o("div",h({class:["alert",e.classes],role:"alert"},e.$attrs),[e.$slots.icon?(l(),o("span",Ht,[d(e.$slots,"icon")])):f("",!0),m("div",Qt,[d(e.$slots,"default")]),e.dismissible?(l(),o("span",{key:1,class:"dismiss",role:"button","aria-label":e.dismissAriaLabel,onClick:t[0]||(t[0]=(...n)=>e.dismiss&&e.dismiss(...n))},[d(e.$slots,"dismiss",{},()=>[t[1]||(t[1]=P("×"))])],8,Yt)):f("",!0)],16)),[[x,!e.dismissed]])}]]),de="IBadge",Xt=p(c({name:de,inheritAttrs:!1,props:{color:{type:String,default:u(de,"color")},size:{type:String,default:u(de,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["badge",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),ue="IBreadcrumb",ei=c({name:ue,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Breadcrumbs"},color:{type:String,default:u(ue,"color")},size:{type:String,default:u(ue,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ti=["aria-label"],ii=p(ei,[["render",function(e,t,i,a,s,r){return l(),o("nav",h({class:["breadcrumb",e.classes],"aria-label":e.ariaLabel},e.$attrs),[m("ol",null,[d(e.$slots,"default")])],16,ti)}]]),ai=c({name:"IBreadcrumbItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:""},to:{type:[String,Object],default:""},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled}},tabIndex(){return this.disabled||this.active?-1:this.tabindex}}}),si=["is","href","to","tabindex","aria-current"],ni=p(ai,[["render",function(e,t,i,a,s,r){return l(),o("li",h({class:["breadcrumb-item",e.classes]},e.$attrs),[m("a",{is:e.isTag,href:e.href,to:e.to,tabindex:e.tabIndex,"aria-current":e.active?"location":null},[d(e.$slots,"default",{},void 0,!0)],8,si)],16)}],["__scopeId","data-v-28fa6b16"]]),ce="ILoader",li=c({name:ce,inheritAttrs:!1,props:{color:{type:String,default:u(ce,"color")},size:{type:String,default:u(ce,"size")}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ri={key:0,class:"loader-text"},yt=p(li,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["loader",e.classes],role:"img","aria-hidden":"true"}),[e.$slots.default?(l(),o("span",ri,[d(e.$slots,"default")])):f("",!0),t[0]||(t[0]=m("svg",{viewBox:"25 25 50 50"},[m("circle",{cx:"50",cy:"50",r:"20",fill:"none","stroke-width":"4","stroke-miterlimit":"10"})],-1))],16)}]]),pe="IButton",vt=p(c({name:pe,components:{ILoader:yt},mixins:[Z],inject:{buttonGroup:{default:()=>({})},form:{default:()=>({})},formGroup:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},block:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},color:{type:String,default:u(pe,"color")},disabled:{type:Boolean,default:!1},link:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},tag:{type:String,default:"button"},tabindex:{type:[Number,String],default:0},size:{type:String,default:u(pe,"size"),validator:v}},computed:{ariaBusy(){return this.role!=="button"?null:this.loading?"true":"false"},ariaDisabled(){return this.role!=="button"?null:this.disabled?"true":"false"},ariaPressed(){return this.role!=="button"?null:this.active?"true":"false"},classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-active":this.active,"-block":this.block,"-circle":this.circle,"-disabled":this.isDisabled,"-link":this.link,"-outline":this.outline}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled},role(){return this.$attrs.to||this.$attrs.href?"link":"button"},tabIndex(){return this.isDisabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){const n=A("i-loader");return l(),V(Y(e.isTag),h(e.$attrs,{class:["button",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.isDisabled||e.loading,"aria-disabled":e.ariaDisabled,"aria-pressed":e.ariaPressed,"aria-busy":e.ariaBusy,"aria-live":"polite"}),{default:y(()=>[e.loading?d(e.$slots,"loading",{key:0},()=>[I(n)]):f("",!0),e.loading?f("",!0):d(e.$slots,"default",{key:1})]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled","aria-pressed","aria-busy"])}]]),oi=c({name:"IButtonGroup",inject:{form:{default:()=>({})},buttonGroup:{default:()=>({})},formGroup:{default:()=>({})}},provide(){return{buttonGroup:this}},inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical,"-block":this.block,"-disabled":this.isDisabled}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled}}}),di=["aria-disabled"],ui=p(oi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["button-group",e.classes],role:"group","aria-disabled":e.isDisabled},e.$attrs),[d(e.$slots,"default")],16,di)}]]),H={};for(const e of je){e!==""&&(H[e]={type:[String,Boolean,Number],default:!1});for(const t of["first","last"])H[`${t}${Re(e)}`]={type:Boolean,default:!1};for(const t of["offset","push","pull"])H[`${t}${Re(e)}`]={type:[String,Number],default:""}}const Ze=p(c({name:"IColumn",inheritAttrs:!1,props:H,computed:{classes(){return Object.keys(H).reduce((e,t)=>(this[t]&&(e[rt(`-${t}`,this[t])]=!0),e),{})}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["column",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),Ke=p(c({name:"IContainer",inheritAttrs:!1,props:{fluid:{type:Boolean,default:!1}},computed:{classes(){return{"-fluid":this.fluid}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["container",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),he="ICard",ci=c({name:he,inheritAttrs:!1,props:{color:{type:String,default:u(he,"color")},size:{type:String,default:u(he,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),pi={key:0,class:"card-header"},hi={key:1,class:"card-body"},mi={key:2,class:"card-footer"},fi=p(ci,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["card",e.classes]},e.$attrs),[e.$slots.header?(l(),o("header",pi,[d(e.$slots,"header")])):f("",!0),d(e.$slots,"image"),e.$slots.default?(l(),o("div",hi,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("footer",mi,[d(e.$slots,"footer")])):f("",!0)],16)}]]),me="ICheckbox",bi=c({name:me,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(me,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("checkbox")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(me,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked?this.formGroup.checked.includes(this.value):this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),yi=["aria-checked"],vi=["checked","name","disabled","readonly",".indeterminate"],gi=["aria-checked","aria-disabled","aria-readonly","tabindex"],ki=p(bi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["checkbox",e.classes],"aria-checked":e.checked?"true":"false",role:"checkbox"},e.$attrs),[m("input",{ref:"input",type:"checkbox",checked:e.checked,tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,"aria-hidden":"true",onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,vi),m("label",{class:"checkbox-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,gi)],16,yi)}]]),fe="ICheckboxGroup",$i=c({name:fe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(fe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},modelValue:{default:()=>[]},name:{type:[String,Number],default:()=>S("checkbox-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(fe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var a,s;const t=[...this.modelValue],i=t.findIndex(r=>r===e);i!==-1?t.splice(i,1):t.push(e),(s=(a=this.parent).onInput)==null||s.call(a,this.name,t),this.$emit("update:modelValue",t)}}}),wi=["name"],Ii=p($i,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["form-group checkbox-group",e.classes],name:e.name,role:"checkboxgroup"},e.$attrs),[d(e.$slots,"default",{},void 0,!0)],16,wi)}],["__scopeId","data-v-4043b2ce"]]),be="ICollapsible",xi=c({name:be,provide(){return{collapsible:this}},inheritAttrs:!1,props:{accordion:{type:Boolean,default:!1},color:{type:String,default:u(be,"color")},size:{type:String,default:u(be,"size"),validator:v},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{activeItems:[].concat(this.modelValue)}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){this.activeItems=[].concat(e)}},methods:{onItemClick(e){if(this.accordion)return this.activeItems=this.activeItems.indexOf(e.name)>-1?[]:[e.name],this.activeItems;const t=this.activeItems.indexOf(e.name);t>-1?this.activeItems.splice(t,1):this.activeItems.push(e.name),this.$emit("update:modelValue",this.activeItems)}}}),Ci=p(xi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["collapsible",e.classes],role:"tablist","aria-multiselectable":"true"},e.$attrs),[d(e.$slots,"default")],16)}]]),gt=p(c({name:"IExpandTransition",methods:{onEnter(e){const t=q(e,"width");e.style.width=t,e.style.position="absolute",e.style.visibility="hidden",e.style.height="auto";const i=q(e,"height");e.style.width=null,e.style.position=null,e.style.visibility=null,e.style.height=0,q(e,"height"),setTimeout(()=>{e.style.height=i})},onAfterEnter(e){e.style.height="auto"},onLeave(e){e.style.height=q(e,"height"),q(e,"height"),setTimeout(()=>{e.style.height=0})}}}),[["render",function(e,t,i,a,s,r){return l(),V(L,{name:"expand",onEnter:e.onEnter,onAfterEnter:e.onAfterEnter,onLeave:e.onLeave},{default:y(()=>[d(e.$slots,"default",{},void 0,!0)]),_:3},8,["onEnter","onAfterEnter","onLeave"])}],["__scopeId","data-v-1e395af5"]]),Si=c({name:"ICollapsibleItem",components:{IExpandTransition:gt},inject:{collapsible:{default:()=>({activeItems:[]})}},inheritAttrs:!1,props:{name:{type:String,default:()=>S("collapsible-item")},title:{type:String,default:""}},computed:{active(){return this.collapsible.activeItems.indexOf(this.name)>-1},classes(){return{"-active":this.active}}},methods:{onClick(){this.collapsible.onItemClick(this)}}}),Bi=["name"],zi=["id","aria-expanded","aria-controls","aria-describedby"],Ai=["id","aria-hidden","aria-labelledby"],Vi={class:"content"},Oi=p(Si,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),o("div",h({class:["collapsible-item",e.classes],name:e.name},e.$attrs),[m("a",{class:"collapsible-header",role:"tab",id:`collapsible-item-heading-${e.name}`,"aria-expanded":e.active?"true":"false","aria-controls":`collapsible-item-content-${e.name}`,"aria-describedby":`collapsible-item-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...b)=>e.onClick&&e.onClick(...b)),onKeydown:[t[1]||(t[1]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["space"])),t[2]||(t[2]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["enter"]))]},[d(e.$slots,"header",{},()=>[P(_(e.title),1)]),t[3]||(t[3]=m("i",{class:"icon"},null,-1))],40,zi),I(n,null,{default:y(()=>[$(m("div",{class:"collapsible-body",role:"tabpanel",id:`collapsible-item-content-${e.name}`,"aria-hidden":e.active?"false":"true","aria-labelledby":`collapsible-item-heading-${e.name}`},[m("div",Vi,[d(e.$slots,"default")])],8,Ai),[[x,e.active]])]),_:3})],16,Bi)}]]),Li=(e,t)=>i=>{(function(a){return!!a&&!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)})(e)&&i.target&&(e===i.target||e.contains(i.target)||t.value(i))},K={beforeMount(e,t){typeof window<"u"&&O(window.document,"mousedown",Li(e,t))}},ye="IDropdown",Di=c({name:ye,directives:{ClickOutside:K},mixins:[ee,Ge],provide(){return{dropdown:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{animationDuration:{type:Number,default:300},color:{type:String,default:u(ye,"color")},disabled:{type:Boolean,default:!1},hideOnItemClick:{type:Boolean,default:!0},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},modelValue:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},placement:{type:String,default:"bottom"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!0},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ye,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},mounted(){for(const e of this.$refs.trigger.children)O(e,"keydown",this.onTriggerKeyDown);O(this.$refs.popup,"keydown",this.onItemKeyDown)},beforeUnmount(){for(const e of this.$refs.trigger.children)T(e,"keydown",this.onTriggerKeyDown);T(this.$refs.popup,"keydown",this.onItemKeyDown)},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)},getFocusableItems(){const e=[];for(const t of this.$refs.body.children)Fe(t)&&e.push(t);return e},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):case(k("space",e)&&this.keydownTrigger.includes("space")):this.onClick(),this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{e.onItemClick()})}}}),Ni={class:"dropdown-trigger",ref:"trigger"},Ti=["aria-hidden"],Pi={key:0,"data-popper-arrow":""},Ri={key:1,class:"dropdown-header"},Ei={key:2,class:"dropdown-body",ref:"body"},Mi={key:3,class:"dropdown-footer"},_i=p(Di,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h({class:"dropdown-wrapper",ref:"wrapper","aria-haspopup":"true",onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))},e.$attrs),[m("div",Ni,[d(e.$slots,"default")],512),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["dropdown",e.classes]),role:"menu",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Pi)):f("",!0),e.$slots.header?(l(),o("div",Ri,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",Ei,[d(e.$slots,"body")],512)):f("",!0),e.$slots.footer?(l(),o("div",Mi,[d(e.$slots,"footer")])):f("",!0)],10,Ti),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16)),[[n,e.onClickOutside]])}]]),Fi=p(c({name:"IDropdownDivider",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:"dropdown-divider",role:"separator"},e.$attrs),null,16)}]]),ji=p(c({name:"IDropdownItem",mixins:[Z],inject:{dropdown:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},plaintext:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled,"-plaintext":this.plaintext}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){var t,i;(i=(t=this.dropdown).onItemClick)==null||i.call(t,this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["dropdown-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.disabled,"aria-pressed":e.active,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["class","role","tag","tabindex","disabled","aria-disabled","aria-pressed","onClick"])}]]),Xe="IForm",Gi=c({name:Xe,mixins:[R],provide(){return{form:this}},inheritAttrs:!1,props:{color:{type:String,default:""},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},name:{type:String,default:()=>S("form")},modelValue:{type:Object,default:()=>null},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Xe,"size"),validator:v}},emits:["update:modelValue","submit"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},schema(){return this.modelValue?this.modelValue:M(this.formGroup.schema||this.form.schema||{},this.name)}},methods:{onBlur(e,t){var i,a;if((a=(i=this.parent).onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=ne(s,e,{untouched:!1,touched:!0}),this.shouldValidate(e,"blur")&&(s=le(s)),this.$emit("update:modelValue",s)}},onInput(e,t){var i,a;if((a=(i=this.parent).onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=function(r,n,b,B){return M(r,n)[b]=B,r}(s,e,"value",t),s=ne(s,e,{pristine:!1,dirty:!0}),this.shouldValidate(e,"input")&&(s=le(s)),this.$emit("update:modelValue",s)}},onSubmit(e){if(e.preventDefault(),this.modelValue){let t=U(this.modelValue);if(t=ne(le(t),"",{untouched:!1,touched:!0}),this.$emit("update:modelValue",t),t.invalid)return}this.$emit("submit",e)},shouldValidate(e,t){const i=M(this.modelValue,e);return(i.validateOn?[].concat(i.validateOn):this.$inkline.options.validateOn).includes(t)}}}),Zi=["name","readonly","disabled"],Ki=p(Gi,[["render",function(e,t,i,a,s,r){return l(),o("form",h(e.$attrs,{class:["form",e.classes],role:"form",name:e.name,readonly:e.isReadonly,disabled:e.isDisabled,onSubmit:t[0]||(t[0]=(...n)=>e.onSubmit&&e.onSubmit(...n))}),[d(e.$slots,"default",{},void 0,!0)],16,Zi)}],["__scopeId","data-v-575ccba7"]]),ve="IFormGroup",qi=c({name:ve,mixins:[R],provide(){return{formGroup:this}},props:{color:{type:String,default:u(ve,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},name:{type:String,default:""},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:u(ve,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline,"-required":this.required}}},methods:{onBlur(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)},onInput(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)}}}),Wi=["name"],Ui=p(qi,[["render",function(e,t,i,a,s,r){return l(),o("fieldset",{class:z(["form-group",e.classes]),name:e.name,role:"group"},[d(e.$slots,"default")],10,Wi)}]]),Hi=c({name:"IFormError",inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},props:{for:{type:String,default:""},visible:{type:[Array,String],default:()=>["touched","dirty","invalid"]}},computed:{parent(){return this.formGroup.$?this.formGroup:this.form},schema(){return this.for!==""?M(this.parent.schema||{},`${this.for}`):this.parent.schema||{}},errors(){return this.schema.errors||[]},isVisible(){let e=!0;return this.schema&&this.visible&&[].concat(this.visible).forEach(t=>{e=e&&this.schema[t]}),e}}}),Qi={key:0,class:"form-error","aria-live":"polite"},Yi=p(Hi,[["render",function(e,t,i,a,s,r){return e.schema?$((l(),V(L,{key:0,name:"fade-in-transition"},{default:y(()=>[e.errors.length>0?(l(),o("ul",Qi,[(l(!0),o(j,null,X(e.errors,n=>(l(),o("li",null,_(n.message),1))),256))])):f("",!0)]),_:1},512)),[[x,e.isVisible]]):f("",!0)}]]),et="IFormLabel",Ji=c({name:et,mixins:[R],props:{for:{type:String,default:""},placement:{type:String,default:""},size:{type:String,default:u(et,"size"),validator:v}},computed:{classes(){return{[`-${this.size}`]:!!this.size,[`-${this.placement}`]:!!this.placement}},forAttr(){return this.for}},methods:{getNextSibling(){return this.$el.nextSibling.querySelector("input, textarea")},onClick(){var e;this.for||((e=this.getNextSibling())==null||e.focus())}}}),Xi=["for"],ea=p(Ji,[["render",function(e,t,i,a,s,r){return l(),o("label",h(e.$attrs,{class:["form-label",e.classes],for:e.forAttr,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default")],16,Xi)}]]),tt="IHamburgerMenu",kt=p(c({name:tt,inheritAttrs:!1,props:{animation:{type:String,default:"close"},color:{type:String,default:u(tt,"color")},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],computed:{classes(){return{...g(this),"-active":this.modelValue,[`-${this.animation}`]:!0}}},methods:{onClick(){this.$emit("update:modelValue",!this.modelValue)}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["hamburger-menu",e.classes],onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),t[1]||(t[1]=[m("span",{class:"hamburger-menu-bars"},null,-1)]),16)}]]),Me={};for(const e of je)for(const t of["start","center","end","top","middle","bottom","around","between","reverse"])Me[`${t}${Re(e)}`]={type:Boolean,default:!1};const qe=p(c({name:"IRow",inheritAttrs:!1,props:{noGutter:{type:Boolean,default:!1},noCollapse:{type:Boolean,default:!1},...Me},computed:{classes(){const e=Object.keys(Me).reduce((t,i)=>(this[i]&&(t[rt(`-${i}`,this[i])]=!0),t),{});return{"-no-gutter":this.noGutter,"-no-collapse":this.noCollapse,...e}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["row",e.classes]}),[d(e.$slots,"default")],16)}]]),ge="IHeader",ta=p(c({name:ge,components:{IContainer:Ke,IRow:qe,IColumn:Ze},inheritAttrs:!1,props:{color:{type:String,default:u(ge,"color")},cover:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},size:{type:String,default:u(ge,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-cover":this.cover,"-fullscreen":this.fullscreen}}}}),[["render",function(e,t,i,a,s,r){const n=A("i-column"),b=A("i-row"),B=A("i-container");return l(),o("header",h(e.$attrs,{class:["header",e.classes]}),[I(B,{fluid:e.fluid},{default:y(()=>[I(b,null,{default:y(()=>[I(n,null,{default:y(()=>[d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)}]]),it="IIcon",$t=p(c({name:it,inheritAttrs:!1,props:{name:{type:String,default:""},size:{type:String,default:u(it,"size"),validator:v}},setup(e){const t=Ot("inklineIcons"),i=se(()=>function(r,n="dash"){const b=n==="dash"?/-([a-z0-9])/g:/_([a-z0-9])/g;return r.replace(b,(B,F)=>F.toUpperCase())}(e.name)),a=se(()=>t[i.value]),s=se(()=>({"inkline-icon":!0,[`-${e.size}`]:!!e.size}));return Vt(()=>{i.value&&t[i.value]}),()=>{var r,n;return nt("svg",{class:s.value,...(r=a.value)==null?void 0:r.attributes},ct(((n=a.value)==null?void 0:n.children)||[]))}}}),[["render",function(e,t,i,a,s,r){const n=A("icon");return l(),V(n,h(e.$attrs,{size:e.size}),null,16,["size"])}]]),ke="IInput",ia=c({name:ke,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(ke,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},error:{type:[Array,Boolean],default:()=>["touched","dirty","invalid"]},id:{type:String,default:void 0},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},plaintext:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(ke,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},clearAriaLabel:{type:String,default:"Clear"}},emits:["update:modelValue","clear"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-error":this.hasError,"-readonly":this.isReadonly,"-prefixed":!!this.$slots.prefix,"-suffixed":!!this.$slots.suffix,"-prepended":!!this.$slots.prepend,"-appended":!!this.$slots.append}},hasError(){if(typeof this.error=="boolean")return this.error;if(this.schema&&this.error){let e=!0;return[].concat(this.error).forEach(t=>{e=e&&this.schema[t]}),e}return!1},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.clearable&&!this.isDisabled&&!this.isReadonly&&this.value!==""},value(){return this.schema?this.schema.value:this.modelValue}},methods:{onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onInput(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.value),this.$emit("update:modelValue",e.target.value)},onClear(e){this.$emit("update:modelValue",""),this.$emit("clear",e)},focus(){this.$refs.input.focus()}}}),aa={key:0,class:"input-prepend"},sa={class:"input"},na={key:0,class:"input-prefix"},la=["value","name","id","type","tabindex","disabled","aria-disabled","readonly","aria-readonly"],ra={key:1,class:"input-suffix"},oa=["aria-label","aria-hidden"],da={key:1,class:"input-append"},te=p(ia,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",aa,[d(e.$slots,"prepend")])):f("",!0),m("div",sa,[e.$slots.prefix?(l(),o("span",na,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:e.type,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly||e.plaintext,"aria-readonly":!(!e.isReadonly&&!e.plaintext)&&"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,la),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",ra,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,8,oa)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",da,[d(e.$slots,"append")])):f("",!0)],2)}]]),$e="INumberInput",ua=c({name:$e,components:{IButton:vt},extends:te,inheritAttrs:!1,props:{color:{type:String,default:u($e,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},readonly:{type:Boolean,default:!1},size:{type:String,default:u($e,"size"),validator:v},tabindex:{type:[Number,String],default:0},min:{type:[Number,String],default:-1/0},max:{type:[Number,String],default:1/0},precision:{type:Number,default:0},step:{type:Number,default:1}},emits:["update:modelValue"],watch:{modelValue:{immediate:!0,handler(e){var i,a;let t=(e||"").toString().replace(/^[^0-9-]/,"").replace(/^(-)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+)[^0-9${this.precision>0?".":""}]`),"$1");this.precision>0&&(t=t.replace(/^(-?[0-9]+\.)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+\\.[0-9]{0,${this.precision}}).*`),"$1")),parseFloat(t)>=parseFloat(this.max)&&(t=this.max.toString()),parseFloat(t)<=parseFloat(this.min)&&(t=this.min.toString()),(a=(i=this.parent).onInput)==null||a.call(i,this.name,t),this.$emit("update:modelValue",t)}}},methods:{decrease(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)-this.step).toString()))},increase(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)+this.step).toString()))},formatPrecision(e){const t=e.split(".");let i=t[1]||"";for(let a=i.length;a0?`${t[0]}.${i}`:t[0]},onBlurFormatPrecision(e){var t,i;this.$emit("update:modelValue",this.formatPrecision(Number(this.modelValue).toString())),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),ca={class:"input-prepend"},pa={class:"input"},ha={key:0,class:"input-prefix"},ma=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],fa={key:1,class:"input-suffix"},ba=["aria-label","aria-hidden"],ya={class:"input-append"},va=p(ua,[["render",function(e,t,i,a,s,r){const n=A("i-button");return l(),o("div",{class:z(["input-wrapper -prepended -appended",e.classes])},[m("div",ca,[d(e.$slots,"prepend"),I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-decrease",onClick:e.decrease},{default:y(()=>t[3]||(t[3]=[P(" - ")])),_:1},8,["color","size","disabled","onClick"])]),m("div",pa,[e.$slots.prefix?(l(),o("span",ha,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:"text",tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true",onInput:t[0]||(t[0]=(...b)=>e.onInput&&e.onInput(...b)),onBlur:t[1]||(t[1]=(...b)=>e.onBlur&&e.onBlur(...b))}),null,16,ma),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",fa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...b)=>e.onClear&&e.onClear(...b))},null,8,ba)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),m("div",ya,[I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-increase",onClick:e.increase},{default:y(()=>t[4]||(t[4]=[P(" + ")])),_:1},8,["color","size","disabled","onClick"]),d(e.$slots,"append")])],2)}]]),we="ITextarea",ga=c({name:we,extends:te,inheritAttrs:!1,props:{color:{type:String,default:u(we,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:String,default:""},name:{type:[String,Number],default:()=>S("textarea")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(we,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"]}),ka={key:0,class:"input-prepend"},$a={class:"input"},wa={key:0,class:"input-prefix"},Ia=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],xa={key:1,class:"input-suffix"},Ca={key:1,class:"input-append"},Sa=p(ga,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",ka,[d(e.$slots,"prepend")])):f("",!0),m("div",$a,[e.$slots.prefix?(l(),o("span",wa,[d(e.$slots,"prefix")])):f("",!0),m("textarea",h(e.$attrs,{value:e.value,ref:"input",role:"textbox",name:e.name,id:e.id,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true","aria-multiline":"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,Ia),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",xa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[$(m("i",{class:"input-clear","aria-label":"Clear",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,512),[[x,e.isClearable]])]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",Ca,[d(e.$slots,"append")])):f("",!0)],2)}]]),Ba=p(c({name:"ILayout",inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical}}}}),[["render",function(e,t,i,a,s,r){return l(),o("main",h(e.$attrs,{class:["layout",e.classes]}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-9a9f03c1"]]),za=c({name:"ILayoutAside",inheritAttrs:!1}),Aa={class:"layout-aside-children"},Va=p(za,[["render",function(e,t,i,a,s,r){return l(),o("aside",h(e.$attrs,{class:"layout-aside"}),[m("div",Aa,[d(e.$slots,"default",{},void 0,!0)])],16)}],["__scopeId","data-v-6e13c28d"]]),Oa=p(c({name:"ILayoutContent",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("section",h(e.$attrs,{class:"layout-content"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-5b197a5d"]]),La=p(c({name:"ILayoutFooter",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("footer",h(e.$attrs,{class:"layout-footer"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-31bd8dbc"]]),Da=p(c({name:"ILayoutHeader",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("header",h(e.$attrs,{class:"layout-header"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-ece9ef9b"]]),Ie="IListGroup",Na=p(c({name:Ie,inheritAttrs:!1,props:{border:{type:Boolean,default:!0},color:{type:String,default:u(Ie,"color")},size:{type:String,default:u(Ie,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-border":this.border}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["list-group",e.classes],role:"list"}),[d(e.$slots,"default")],16)}]]),Ta=p(c({name:"IListGroupItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"listitem"},tabIndex(){return this.disabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["list-group-item",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled"])}]]),Pa=function(e){const t={};return(...i)=>{const a=JSON.stringify(i);return a in t||(t[a]=e(...i)),t[a]}}(function(e,t){if(!t)return[{text:e}];const i=[],a=e.toLowerCase(),s=t.toLowerCase();let r=0,n=0;for(;n=0;n=B?b:e.length,n&&(i.push({text:e.substring(r,n)}),r=n),B&&(n+=t.length,i.push({text:e.substring(r,n),marked:!0}),r=n)}return i}),Ra=c({name:"IMark",inheritAttrs:!1,props:{text:{type:String,default:""},query:{type:String,default:""}},computed:{parts(){return Pa(this.text,this.query)}}}),Ea={key:0},wt=p(Ra,[["render",function(e,t,i,a,s,r){return l(),o("span",Lt(Dt(e.$attrs)),[(l(!0),o(j,null,X(e.parts,({text:n,marked:b})=>(l(),o(j,null,[b?(l(),o("mark",Ea,_(n),1)):(l(),o(j,{key:1},[P(_(n),1)],64))],64))),256))],16)}]]),Ma=c({name:"IMedia",inheritAttrs:!1}),_a={class:"media-body"},Fa=p(Ma,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:"media"}),[d(e.$slots,"image"),m("div",_a,[d(e.$slots,"default")])],16)}]]),C={instances:{},stack:[],zIndex:1050,register(e){e&&e.name&&(C.instances[e.name]=e)},unregister(e){e&&e.name&&(C.instances[e.name]=null,delete C.instances[e.name])},open(e){typeof window<"u"&&(C.stack.push(e),C.instances[e].$el.style.zIndex=C.zIndex++)},close(e){typeof window<"u"&&C.stack.splice(C.stack.indexOf(e),1)},getTopOverlay(){const e=C.stack.slice(-1)[0]||"";return C.instances[e]},onPressEscape(){const e=C.getTopOverlay();e&&e.closeOnPressEscape&&e.hide()}};typeof window<"u"&&window.addEventListener("keydown",e=>{k("esc",e)&&C.onPressEscape()});const xe="IModal",ja=c({name:xe,directives:{ClickOutside:K},inheritAttrs:!1,props:{closeOnPressEscape:{type:Boolean,default:!0},closeAriaLabel:{type:String,default:"Close"},color:{type:String,default:u(xe,"color")},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},name:{type:String,default:()=>S("modal")},showClose:{type:Boolean,default:!0},size:{type:String,default:u(xe,"size"),validator:v},modelValue:{type:Boolean,default:!1},transition:{type:String,default:"zoom-in-center-transition"}},emits:["update:modelValue"],data(){return{visible:this.modelValue}},computed:{classes(){return{"-disabled":this.disabled,...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){C.register(this)},unmounted(){C.unregister(this)},methods:{show(){this.disabled||(this.visible=!0,this.$emit("update:modelValue",!0),C.open(this.name),typeof window<"u"&&_e(window.document.body,"-modal"))},hide(){this.disabled||(this.visible=!1,this.$emit("update:modelValue",!1),C.close(this.name),typeof window<"u"&&pt(window.document.body,"-modal"))},onClickOutside(){this.hideOnClickOutside&&this.hide()}}}),Ga=["aria-hidden","id","name","aria-labelledby"],Za={class:"modal"},Ka=["id"],qa=["aria-label"],Wa={key:1,class:"modal-body"},Ua={key:2,class:"modal-footer"},Ha=p(ja,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return l(),V(L,{name:"fade-in-transition"},{default:y(()=>[$(m("div",h(e.$attrs,{class:["modal-wrapper",e.classes],role:"dialog","aria-modal":"true","aria-hidden":e.visible?"false":"true",id:e.name,name:e.name,"aria-labelledby":`${e.name}-header`}),[I(L,{name:e.transition},{default:y(()=>[$((l(),o("div",Za,[e.$slots.header?(l(),o("div",{key:0,class:"modal-header",id:`${e.name}-header`},[d(e.$slots,"header"),e.showClose?(l(),o("button",{key:0,class:"close","aria-hidden":"true","aria-label":e.closeAriaLabel,onClick:t[0]||(t[0]=(...b)=>e.hide&&e.hide(...b))},[d(e.$slots,"close",{},()=>[t[1]||(t[1]=m("i",{class:"icon"},null,-1))])],8,qa)):f("",!0)],8,Ka)):f("",!0),e.$slots.default?(l(),o("div",Wa,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("div",Ua,[d(e.$slots,"footer")])):f("",!0)])),[[n,e.onClickOutside],[x,e.visible]])]),_:3},8,["name"])],16,Ga),[[x,e.visible]])]),_:3})}]]),Ce="INav",Qa=p(c({name:Ce,provide(){return{nav:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{color:{type:String,default:u(Ce,"color")},size:{type:String,default:u(Ce,"size"),validator:v},vertical:{type:Boolean,default:!1}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-vertical":this.vertical}}},methods:{onItemClick(){[this.navbar,this.sidebar].forEach(e=>{e.onItemClick()})}}}),[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["nav",e.classes],role:"menubar"}),[d(e.$slots,"default")],16)}]]),Ya=p(c({name:"INavItem",mixins:[Z],inject:{nav:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},stopPropagation:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){this.stopPropagation||this.nav.onItemClick(this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["nav-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["role","tag","tabindex","class","disabled","aria-disabled","onClick"])}]]),Se="INavbar",Ja=p(c({name:Se,components:{IContainer:Ke,IRow:qe,IColumn:Ze,IHamburgerMenu:kt},directives:{ClickOutside:K},mixins:[ft],provide(){return{navbar:this}},inheritAttrs:!1,props:{collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},color:{type:String,default:u(Se,"color")},fluid:{type:Boolean,default:!1},size:{type:String,default:u(Se,"size"),validator:v},menuAnimation:{type:String,default:"close"}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size}}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onClickOutside(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),[["render",function(e,t,i,a,s,r){const n=A("i-hamburger-menu"),b=A("i-column"),B=A("i-row"),F=A("i-container"),w=G("click-outside");return $((l(),o("nav",h(e.$attrs,{class:["navbar",e.classes]}),[I(F,{fluid:e.fluid},{default:y(()=>[I(B,null,{default:y(()=>[I(b,null,{default:y(()=>[I(n,{class:"collapse-toggle",animation:e.menuAnimation,color:e.color,modelValue:e.open,"onUpdate:modelValue":e.toggleOpen},null,8,["animation","color","modelValue","onUpdate:modelValue"]),d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)),[[w,e.onClickOutside]])}]]),Xa=p(c({name:"INavbarBrand",mixins:[Z],inheritAttrs:!1,props:{tag:{type:String,default:"div"}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:"navbar-brand",tag:e.tag,translate:"no"}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag"])}]]),es=c({name:"INavbarCollapsible",components:{IExpandTransition:gt},inject:{navbar:{default:()=>({})}},inheritAttrs:!1,computed:{visible(){const e=typeof window>"u";return this.navbar.open||!this.navbar.collapsible||e}}}),ts=["aria-hidden","aria-expanded"],is=p(es,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),V(n,null,{default:y(()=>[$(m("div",h(e.$attrs,{class:"navbar-collapsible","aria-hidden":e.visible?"false":"true","aria-expanded":e.visible?"true":"false"}),[d(e.$slots,"default")],16,ts),[[x,e.visible]])]),_:3})}]]),Be="IPagination",as=c({name:Be,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Pagination"},color:{type:String,default:u(Be,"color")},itemsPerPage:{type:Number,default:20},itemsTotal:{type:Number,default:0},limit:{type:[Number,Object],default:()=>({xs:3,sm:5})},quickLink:{type:Boolean,default:!1},modelValue:{type:Number,default:1},size:{type:String,default:u(Be,"size"),validator:v}},emits:["update:modelValue"],data:()=>({pageLimit:5}),computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}},pageCount(){return Math.ceil(this.itemsTotal/this.itemsPerPage)},showQuickPrevious(){return this.pageCount>this.pageLimit&&this.modelValue>this.pageLimit-(this.pageLimit-1)/2},showQuickNext(){return this.pageCount>this.pageLimit&&this.modelValuee.apply(s,a),t)}}(this.onWindowResize,250),typeof window<"u"&&(window.addEventListener("resize",this.debouncedOnWindowResize),this.onWindowResize())},unmounted(){typeof window<"u"&&window.removeEventListener("resize",this.debouncedOnWindowResize)},methods:{next(){this.modelValue!==this.pageCount&&this.onClick(this.modelValue+1)},quickNext(){if(!this.quickLink)return;const e=this.modelValue+(this.pageLimit-2);this.onClick(e>this.pageCount?this.pageCount:e)},previous(){this.modelValue!==1&&this.onClick(this.modelValue-1)},quickPrevious(){if(!this.quickLink)return;const e=this.modelValue-(this.pageLimit-2);this.onClick(e<1?1:e)},onClick(e){this.$emit("update:modelValue",e)},onWindowResize(){if(typeof this.limit=="number")return this.pageLimit=this.limit,this.pageLimit;for(const e of je.slice().reverse())if(this.limit.hasOwnProperty(e)&&typeof window<"u"&&window.innerWidth>=J[e][0])return this.pageLimit=this.limit[e],this.pageLimit}}}),ss=["aria-label"],ns={class:"pagination-items"},ls={"aria-hidden":"true"},rs=["aria-current","onClick"],os={"aria-hidden":"true"},ds=p(as,[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["pagination",e.classes],role:"navigation","aria-label":e.ariaLabel}),[m("ul",ns,[e.pageCount>0?(l(),o("li",{key:0,class:z(["pagination-item -previous",{"-disabled":e.modelValue===1}]),onClick:t[0]||(t[0]=(...n)=>e.previous&&e.previous(...n))},[m("span",ls,[d(e.$slots,"previous",{},()=>[t[6]||(t[6]=P("<"))])])],2)):f("",!0),e.pageCount>0?(l(),o("li",{key:1,class:z(["pagination-item -first",{"-active":e.modelValue===1}]),onClick:t[1]||(t[1]=n=>e.onClick(1))}," 1 ",2)):f("",!0),e.showQuickPrevious?(l(),o("li",{key:2,class:z(["pagination-item -quick-previous",{"-disabled":!e.quickLink}]),onClick:t[2]||(t[2]=(...n)=>e.quickPrevious&&e.quickPrevious(...n))}," … ",2)):f("",!0),(l(!0),o(j,null,X(e.pages,n=>(l(),o("li",{class:z(["pagination-item",{"-active":e.modelValue===n}]),"aria-current":e.modelValue===n&&"page",onClick:b=>e.onClick(n)},_(n),11,rs))),256)),e.showQuickNext?(l(),o("li",{key:3,class:z(["pagination-item -quick-next",{"-disabled":!e.quickLink}]),onClick:t[3]||(t[3]=(...n)=>e.quickNext&&e.quickNext(...n))}," … ",2)):f("",!0),e.pageCount>1?(l(),o("li",{key:4,class:z(["pagination-item -last",{"-active":e.modelValue===e.pageCount}]),onClick:t[4]||(t[4]=n=>e.onClick(e.pageCount))},_(e.pageCount),3)):f("",!0),e.pageCount>0?(l(),o("li",{key:5,class:z(["pagination-item -next",{"-disabled":e.modelValue===e.pageCount}]),onClick:t[5]||(t[5]=(...n)=>e.next&&e.next(...n))},[m("span",os,[d(e.$slots,"next",{},()=>[t[7]||(t[7]=P(">"))])])],2)):f("",!0)])],16,ss)}]]),ze="IPopover",us=c({name:ze,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(ze,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("popover")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ze,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cs=["id"],ps=["aria-describedby","aria-disabled","aria-expanded"],hs=["id","aria-hidden"],ms={key:0,"data-popper-arrow":""},fs={key:1,class:"popover-header"},bs={key:2,class:"popover-body"},ys={key:3,class:"popover-footer"},vs=p(us,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["popover-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"popover-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,ps),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"popover",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",ms)):f("",!0),e.$slots.header?(l(),o("div",fs,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",bs,[d(e.$slots,"body")])):f("",!0),e.$slots.footer?(l(),o("div",ys,[d(e.$slots,"footer")])):f("",!0)],8,hs),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cs)),[[n,e.onClickOutside]])}]]),Ae="IProgress",gs=p(c({name:Ae,provide(){return{progress:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ae,"color")},min:{type:[String,Number],default:0},max:{type:[String,Number],default:100},size:{type:String,default:u(Ae,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress",e.classes]}),[d(e.$slots,"default")],16)}]]),at="IProgressBar",ks=c({name:at,inject:{progress:{default:()=>({min:0,max:100})}},inheritAttrs:!1,props:{color:{type:String,default:u(at,"color","primary")},value:{type:[String,Number],default:0}},computed:{computedValue(){const e=typeof this.min=="string"?parseFloat(this.min):this.min;return 100*((typeof this.value=="string"?parseFloat(this.value.replace("%","")):this.value)-e)/((typeof this.max=="string"?parseFloat(this.max):this.max)-e)},min(){return this.progress.min},max(){return this.progress.max},style(){return{width:`${this.computedValue}%`}},classes(){return{...g(this)}}}}),$s=["aria-valuemin","aria-valuemax","aria-valuenow"],ws=p(ks,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress-bar",e.classes],style:e.style,role:"progressbar","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.computedValue}),[d(e.$slots,"default")],16,$s)}]]),Ve="IRadio",Is=c({name:Ve,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Ve,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:""},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("radio")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Ve,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked===this.value},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),xs=["checked","name","disabled","readonly",".indeterminate"],Cs=["aria-checked","aria-disabled","aria-readonly","tabindex"],Ss=p(Is,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["radio",e.classes],role:"radio"}),[m("input",{checked:e.checked,ref:"input",type:"radio",tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,xs),m("label",{class:"radio-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,Cs)],16)}]]),Oe="IRadioGroup",Bs=c({name:Oe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Oe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},modelValue:{default:""},name:{type:[String,Number],default:()=>S("radio-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Oe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e),this.$emit("update:modelValue",e)}}}),zs=["name"],As=p(Bs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["form-group radio-group",e.classes],name:e.name,role:"radiogroup"}),[d(e.$slots,"default",{},void 0,!0)],16,zs)}],["__scopeId","data-v-fa4fe77a"]]),Vs=c({name:"ISelectOption",inject:{select:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},label:{type:String,default:""},tabindex:{type:[Number,String],default:0},value:{type:[Object,String,Number],default:()=>({})}},computed:{ariaDisabled(){return this.disabled?"true":"false"},ariaSelected(){return this.active?"true":"false"},isActive(){return this.active||this.value===this.select.modelValue},classes(){return{"-active":this.isActive,"-disabled":this.disabled}},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(){this.disabled||this.select.onInput(this.value,this.label)}}}),Os=["tabindex","aria-disabled","aria-selected"],It=p(Vs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["select-option",e.classes],role:"option",tabindex:e.tabIndex,"aria-disabled":e.ariaDisabled,"aria-selected":e.ariaSelected,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default",{},()=>[P(_(e.label),1)])],16,Os)}]]),Le="ISelect",Ls=c({name:Le,directives:{ClickOutside:K},components:{IInput:te,IIcon:$t,ISelectOption:It,IMark:wt},mixins:[R,ee],provide(){return{select:this}},props:{animationDuration:{type:Number,default:300},autocomplete:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},color:{type:String,default:u(Le,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},idField:{type:String,default:"id"},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},label:{type:[String,Function],default:"label"},loading:{type:Boolean,default:!1},modelValue:{type:[Object,String,Number],default:null},minLength:{type:Number,default:0},name:{type:[String,Number],default:()=>S("select")},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},offset:{type:Number,default:6},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({modifiers:[...bt({offset:8}),{name:"sameWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect({state:e}){e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`}}]})},readonly:{type:Boolean,default:!1},scrollTolerance:{type:Number,default:160},selectFirstOptionOnEnter:{type:Boolean,default:!0},size:{type:String,default:u(Le,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},total:{type:Number,default:void 0}},emits:["update:modelValue","search","pagination"],data(){return{animating:!1,visible:!1,inputValue:this.computeLabel(this.modelValue)||""}},computed:{wrapperClasses(){return{...g(this),[`-${this.size}`]:!!this.size}},popupClasses(){return{"-disabled":this.isDisabled,"-readonly":this.isReadonly}},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.value&&this.clearable&&!this.isDisabled&&!this.isReadonly},value(){return this.schema?this.schema.value:this.modelValue},inputPlaceholder(){return this.value?this.computeLabel(this.value):this.placeholder}},watch:{value(e){this.inputValue=this.computeLabel(e)},inputValue(e){const t=this.inputMatchesLength(e),i=this.inputMatchesLabel(e);!t||i||this.animating||this.show(),this.$emit("search",this.inputValue)},options(){this.visible&&this.createPopper()}},methods:{onInput(e,t){var i,a;e.disabled||(this.hide(),t&&(this.inputValue=t),(a=(i=this.parent).onInput)==null||a.call(i,this.name,e),this.$emit("update:modelValue",e))},onClear(){this.animating=!0,this.$emit("update:modelValue",null),this.$nextTick(()=>{this.animating=!1})},onFocus(e){!this.value&&this.options.length===0||(this.autocomplete&&(this.inputValue=""),(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&this.inputShouldShowSelect(this.inputValue)&&this.show())},onBlur(e){var t,i;(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&(this.hide(),this.inputValue=this.computeLabel(this.value)),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onClick(){this.autocomplete&&(this.inputValue=""),this.inputShouldShowSelect(this.inputValue)&&this.show()},onClickOutside(){this.hide()},onClickCaret(e){this.visible?this.onBlur(e):(this.focus(),this.onFocus(e)),e.preventDefault(),e.stopPropagation()},onScroll(){if(isNaN(this.total))return;const e=this.$refs.body.scrollTop+parseInt(getComputedStyle(this.$refs.body).height,10)>parseInt(getComputedStyle(this.$refs.options).height,10)-this.scrollTolerance,t=this.options.length>=this.total;e&&!t&&this.options.length>0&&!this.loading&&this.$emit("pagination")},onWindowResize(){this.onScroll(),this.visible&&this.$nextTick().then(()=>this.createPopper())},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):if(!this.selectFirstOptionOnEnter||this.value&&this.inputMatchesLabel(this.inputValue))this.onClick();else{const s=this.options.find(r=>!r.disabled);s&&(this.onInput(s),this.focus())}this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{this.animating=!1},this.animationDuration))},focus(){this.$refs.trigger.focus()},getFocusableItems(){const e=[];for(const t of this.$refs.options.children)Fe(t)&&e.push(t);return e},getElementHeight(e){const t=getComputedStyle(e);return t.height?Math.ceil(parseFloat(t.height)):NaN},inputMatchesLabel(e){return this.value&&e===this.computeLabel(this.value)},inputMatchesLength(e){return this.minLength===0||e&&e.length>=this.minLength},inputShouldShowSelect(e){return!this.autocomplete||this.inputMatchesLength(e)&&!this.inputMatchesLabel(e)},computeLabel(e){return typeof e!="object"?this.inputValue:dt(this.label)?this.label(e):M(e,this.label)}}}),Ds=["id","name","aria-owns","aria-expanded"],Ns=["id","aria-hidden"],Ts={key:0,"data-popper-arrow":""},Ps={key:1,class:"select-header"},Rs={key:0,class:"select-no-results"},Es={class:"select-options",ref:"options"},Ms={key:2,class:"select-footer"},_s=p(Ls,[["render",function(e,t,i,a,s,r){const n=A("i-input"),b=A("i-mark"),B=A("i-select-option"),F=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["select-wrapper",e.wrapperClasses],id:e.name,name:e.name,ref:"wrapper",role:"combobox","aria-haspopup":"listbox","aria-owns":`${e.name}-options`,"aria-expanded":e.visible?"true":"false",onKeyup:t[3]||(t[3]=E((...w)=>e.onEscape&&e.onEscape(...w),["esc"]))}),[I(n,{modelValue:e.inputValue,"onUpdate:modelValue":t[1]||(t[1]=w=>e.inputValue=w),ref:"trigger",autocomplete:"off","aria-autocomplete":"both","aria-controls":`${e.name}-options`,disabled:e.isDisabled,readonly:e.isReadonly,tabindex:e.tabIndex,plaintext:!e.autocomplete,placeholder:e.inputPlaceholder,clearable:e.isClearable,color:e.color,size:e.size,name:`${e.name}-input`,onClick:e.onClick,onFocus:e.onFocus,onBlur:e.onBlur,onClear:e.onClear,onKeydown:e.onTriggerKeyDown},Nt({suffix:y(()=>[d(e.$slots,"suffix"),m("button",{class:"select-caret","aria-hidden":"true",role:"button",onClick:t[0]||(t[0]=(...w)=>e.onClickCaret&&e.onClickCaret(...w))})]),_:2},[e.$slots.prepend?{name:"prepend",fn:y(()=>[d(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.prefix?{name:"prefix",fn:y(()=>[d(e.$slots,"prefix")]),key:"1"}:void 0,e.$slots.append?{name:"append",fn:y(()=>[d(e.$slots,"append")]),key:"2"}:void 0]),1032,["modelValue","aria-controls","disabled","readonly","tabindex","plaintext","placeholder","clearable","color","size","name","onClick","onFocus","onBlur","onClear","onKeydown"]),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["select",e.popupClasses]),id:`${e.name}-options`,role:"listbox",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Ts)):f("",!0),e.$slots.header?(l(),o("div",Ps,[d(e.$slots,"header")])):f("",!0),m("div",{class:"select-body",ref:"body",onScroll:t[2]||(t[2]=(...w)=>e.onScroll&&e.onScroll(...w))},[e.$slots.default||e.options.length!==0?f("",!0):(l(),o("div",Rs,[d(e.$slots,"no-results",{},()=>[t[4]||(t[4]=P(" There are no results for your query. "))])])),m("div",Es,[d(e.$slots,"default"),(l(!0),o(j,null,X(e.options,w=>(l(),V(B,{key:w[e.idField],active:e.value&&e.value[e.idField]===w[e.idField],disabled:w.disabled,value:w,onKeydown:e.onItemKeyDown},{default:y(()=>[d(e.$slots,"option",{option:w},()=>[e.autocomplete&&e.inputValue!==e.computeLabel(w)?(l(),V(b,{key:0,text:e.computeLabel(w),query:e.inputValue},null,8,["text","query"])):(l(),o(j,{key:1},[P(_(e.computeLabel(w)),1)],64))])]),_:2},1032,["active","disabled","value","onKeydown"]))),128))],512)],544),e.$slots.footer?(l(),o("div",Ms,[d(e.$slots,"footer")])):f("",!0)],10,Ns),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,Ds)),[[F,e.onClickOutside]])}]]),De="ISidebar",Fs=c({name:De,mixins:[ft],provide(){return{sidebar:this}},inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Sidebar"},collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},collapsePosition:{type:String,default:"absolute"},color:{type:String,default:u(De,"color")},placement:{type:String,default:"left"},size:{type:String,default:u(De,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size,[`-collapse-${this.collapsePosition}`]:!0,[`-placement-${this.placement}`]:!0}},sidebarWrapperTransition(){return this.collapsePosition!=="relative"?"sidebar-wrapper-none-transition":"sidebar-wrapper-transition"},sidebarTransition(){return this.collapsePosition!=="relative"?"sidebar-transition":"sidebar-none-transition"}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onOverlayClick(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),js=["aria-label"],Gs={class:"sidebar"},Zs={class:"sidebar-content"},Ks=p(Fs,[["render",function(e,t,i,a,s,r){return l(),V(L,{name:e.sidebarWrapperTransition},{default:y(()=>[$(m("aside",h(e.$attrs,{role:"complementary",class:["sidebar-wrapper",e.classes],"aria-label":e.ariaLabel,ref:"wrapper"}),[I(L,{name:e.sidebarTransition},{default:y(()=>[$(m("div",Gs,[m("div",Zs,[d(e.$slots,"default")])],512),[[x,e.collapsePosition==="relative"||e.open||!e.collapsible]])]),_:3},8,["name"]),I(L,{name:"sidebar-overlay-transition"},{default:y(()=>[e.collapsePosition!=="relative"?$((l(),o("div",{key:0,class:"sidebar-overlay",onClick:t[0]||(t[0]=(...n)=>e.onOverlayClick&&e.onOverlayClick(...n))},null,512)),[[x,e.open]]):f("",!0)]),_:1})],16,js),[[x,e.open||!e.collapsible]])]),_:3},8,["name"])}]]),st="ITable",qs=c({name:st,inheritAttrs:!1,props:{border:{type:Boolean,default:!1},condensed:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},responsive:{type:[Boolean,String],default:!0},nowrap:{type:Boolean,default:!1},color:{type:String,default:u(st,"color")}},computed:{classes(){return{...g(this),"-border":this.border,"-condensed":this.condensed,"-striped":this.striped,"-hover":this.hover,"-nowrap":this.nowrap,["-responsive"+(typeof this.responsive=="boolean"?"":`-${this.responsive}`)]:!!this.responsive}}}}),Ws={class:"table"},Us=p(qs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["table-wrapper",e.classes]}),[m("table",Ws,[d(e.$slots,"default")])],16)}]]),Ne="ITabs",Hs=c({name:Ne,provide(){return{tabs:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ne,"color")},modelValue:{type:String,default:""},size:{type:String,default:u(Ne,"size"),validator:v},stretch:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{active:this.modelValue,tabs:[]}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-stretch":this.stretch}}},watch:{modelValue(e){this.active=e}},methods:{setActive(e){this.active=e,this.$emit("update:modelValue",this.active)}}}),Qs={class:"tabs-header"},Ys=p(Hs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["tabs",e.classes],role:"tablist","aria-multiselectable":"true"}),[m("div",Qs,[d(e.$slots,"header")]),d(e.$slots,"default")],16)}]]),Js=c({name:"ITab",inject:{tabs:{default:()=>({})}},props:{title:{type:String,default:""},name:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.name},classes(){return{"-active":this.active}}}}),Xs=["name","aria-hidden","aria-labelledby"],en={class:"tab-body"},tn=p(Js,[["render",function(e,t,i,a,s,r){return $((l(),o("div",{class:z(["tab",e.classes]),role:"tabpanel",name:e.name,"aria-hidden":!e.active,"aria-labelledby":`tab-heading-${e.name}`},[m("div",en,[d(e.$slots,"default")])],10,Xs)),[[x,e.active]])}]]),an=c({name:"ITabTitle",inject:{tabs:{default:()=>({})}},props:{for:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.for},classes(){return{"-active":this.active}},name(){return this.for}},methods:{onClick(){this.tabs.setActive(this.for)}}}),sn=["for","active","aria-expanded","aria-controls","aria-describedby"],nn=p(an,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["tab-title",e.classes]),role:"tab",for:e.name,active:e.active,"aria-expanded":e.active,"aria-controls":`tab-content-${e.name}`,"aria-describedby":`tab-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},[d(e.$slots,"default")],10,sn)}]]),Te="IToggle",ln=c({name:Te,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Te,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("toggle")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Te,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly}},checked(){return this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),rn=["checked","disabled","readonly","aria-checked","aria-disabled","aria-readonly","name"],on=["aria-checked","aria-disabled","aria-readonly","tabindex"],dn=p(ln,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["toggle",e.classes]}),[m("input",{ref:"input",type:"checkbox",checked:e.checked,disabled:e.isDisabled,readonly:e.isReadonly,"aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,name:e.name,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,rn),m("label",{class:"toggle-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onClick:t[1]||(t[1]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onBlur:t[2]||(t[2]=(...n)=>e.onBlur&&e.onBlur(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,on)],16)}]]),Pe="ITooltip",un=c({name:Pe,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(Pe,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("tooltip")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["hover","focus"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(Pe,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cn=["id"],pn=["aria-describedby","aria-disabled","aria-expanded"],hn=["id","aria-hidden"],mn={key:0,"data-popper-arrow":""},fn=p(un,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["tooltip-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"tooltip-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,pn),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"tooltip",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",mn)):f("",!0),d(e.$slots,"body")],8,hn),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cn)),[[n,e.onClickOutside]])}]]),vn=Object.freeze(Object.defineProperty({__proto__:null,IAlert:Jt,IBadge:Xt,IBreadcrumb:ii,IBreadcrumbItem:ni,IButton:vt,IButtonGroup:ui,ICard:fi,ICheckbox:ki,ICheckboxGroup:Ii,ICollapsible:Ci,ICollapsibleItem:Oi,IColumn:Ze,IContainer:Ke,IDropdown:_i,IDropdownDivider:Fi,IDropdownItem:ji,IForm:Ki,IFormError:Yi,IFormGroup:Ui,IFormLabel:ea,IHamburgerMenu:kt,IHeader:ta,IIcon:$t,IInput:te,ILayout:Ba,ILayoutAside:Va,ILayoutContent:Oa,ILayoutFooter:La,ILayoutHeader:Da,IListGroup:Na,IListGroupItem:Ta,ILoader:yt,IMark:wt,IMedia:Fa,IModal:Ha,INav:Qa,INavItem:Ya,INavbar:Ja,INavbarBrand:Xa,INavbarCollapsible:is,INumberInput:va,IPagination:ds,IPopover:vs,IProgress:gs,IProgressBar:ws,IRadio:Ss,IRadioGroup:As,IRow:qe,ISelect:_s,ISelectOption:It,ISidebar:Ks,ITab:tn,ITabTitle:nn,ITable:Us,ITabs:Ys,ITextarea:Sa,IToggle:dn,ITooltip:fn},Symbol.toStringTag,{value:"Module"}));export{yn as I,p as _,vn as c}; diff --git a/packages/modules/display_themes/cards/web/assets/vendor-inkline-C_NPDnDu.js b/packages/modules/display_themes/cards/web/assets/vendor-inkline-C_NPDnDu.js deleted file mode 100644 index e6d1e8e5bc..0000000000 --- a/packages/modules/display_themes/cards/web/assets/vendor-inkline-C_NPDnDu.js +++ /dev/null @@ -1 +0,0 @@ -import{h as nt,w as Bt,r as zt,d as c,a as At,b as $,v as x,e as o,f,i as m,j as d,m as h,o as l,k as P,l as V,n as Y,p as A,q as y,s as I,t as E,u as Q,T as L,x as _,y as G,z,F as j,A as X,c as se,B as Vt,C as Ot,D as Lt,E as Dt,G as Nt}from"./vendor-BMrK3KHF.js";const p=(e,t)=>{const i=e.__vccOpts||e;for(const[a,s]of t)i[a]=s;return i};function g(e){let t=e.color;return t||(t=e.$inkline.options.colorMode==="system"?typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.$inkline.options.colorMode),{[`-${t}`]:!0}}function lt(e,t){if(!e||!t)return!1;if(t.indexOf(" ")!==-1)throw new Error("Class name should not contain spaces.");return e.classList?e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1}function _e(e,t){if(!e)return;let i=e.className;const a=(t||"").split(" ");for(let s=0,r=a.length;s"-"+s.toLowerCase())}function rt(e,t){return["string","number"].indexOf(typeof t)>-1&&t!==""?`${He(e)}-${t}`:He(e)}function Re(e){return e.charAt(0).toUpperCase()+e.slice(1)}function U(e){if(Array.isArray(e)){const t=e.slice().map(U),i=Object.keys(t);return Object.keys(e).filter(a=>!i.includes(a)).forEach(a=>{t[a]=e[a]}),t}return typeof e=="object"?Object.keys(e).reduce((t,i)=>(t[i]=U(e[i]),t),{}):e}function Fe(e){if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return e.type!=="hidden"&&e.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}function Tt(e){if(!Fe(e))return!1;try{e.focus()}catch{}return typeof window<"u"&&document.activeElement===e}function ot(e){for(let t=0;t"u")return;if(e.currentStyle)return e.currentStyle[t];const i=window.getComputedStyle(e,null);return i.getPropertyValue?i.getPropertyValue(t):i[t]}const dt=e=>e instanceof Function,J={xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1/0]},je=["","xs","sm","md","lg","xl","xxl"],Pt={tab:["Tab",9],enter:["Enter",13],esc:["Escape",27],space:[" ","Space",32],left:["ArrowLeft","Left",37],up:["ArrowUp","Up",38],right:["ArrowRight","Right",39],down:["ArrowDown","Down",40]},Qe={pristine:!0,dirty:!1,untouched:!0,touched:!1,valid:!0,invalid:!1,errors:[]},Rt={value:"",validators:[]},ut=["value","validators","pristine","dirty","untouched","touched","valid","invalid","errors"],k=(e,t)=>{const i=t.key||t.keyIdentifier||t.keyCode;return Pt[e].indexOf(i)!==-1};function Et(e,t,i){e&&t&&e.removeEventListener(t,i,!1)}function Mt(e,t,i){e&&t&&e.detachEvent("on"+t,i)}const T=typeof window>"u"?()=>{}:window.document.removeEventListener?Et:Mt;function _t(e,t,i){e&&t&&i&&e.addEventListener(t,i,!1)}function Ft(e,t,i){e&&t&&i&&e.attachEvent("on"+t,i)}const O=typeof window>"u"?()=>{}:window.document.addEventListener?_t:Ft,ct=e=>e.map(t=>t.type==="element"?nt(t.name,t.attributes,ct(t.children)):t.value);function pt(e,t){if(!e||!t)return;const i=t.split(" ");let a=" "+e.className+" ";for(let s=0,r=i.length;si&&i[a],e)}function ne(e,t,i){return t&&t.split(".").reduce((a,s)=>(Object.keys(i).forEach(r=>{a[s][r]=i[r]}),a&&a[s]),e),Object.keys(i).forEach(a=>{e[a]=i[a]}),e}function S(e){return`${e?`${e}-`:""}${Math.random().toString(36).substr(2,9)}`}const D={"en-US":/^[A-Z]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ω]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},N={"en-US":/^[0-9A-Z]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/};["AU","GB","HK","IN","NZ","ZA","ZM"].forEach(e=>{D[`en-${e}`]=D["en-US"],N[`en-${e}`]=N["en-US"]}),["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"].forEach(e=>{D[`ar-${e}`]=D.ar,N[`ar-${e}`]=N.ar}),D["pt-BR"]=D["pt-PT"],N["pt-BR"]=N["pt-PT"],D["pl-Pl"]=D["pl-PL"],N["pl-Pl"]=N["pl-PL"];const Ye=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,jt={alpha:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>D[i].test(a(s))):D[i].test(a(e))},alphanumeric:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>N[i].test(a(s))):N[i].test(a(e))},custom:function(e,t={validator:()=>!0}){return e.constructor===Array?e.every(i=>t.validator(i)):t.validator(e)},number:function(e,t={allowNegative:!1,allowDecimal:!1}){let i="\\d+";t.allowNegative&&(i="[-]?"+i),t.allowDecimal&&(i+="([\\.\\,]\\d+)?");const a=new RegExp(`^${i}$`);return e.constructor===Array?e.every(s=>a.test(s)):a.test(e)},email:function(e){return e.constructor===Array?e.every(t=>!t||Ye.test(String(t))):!e||Ye.test(String(e))},max:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)<=t.value):i(e)<=t.value},maxLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length<=t.value:typeof e=="object"?Object.keys(e).length<=t.value:String(e).length<=t.value)},min:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)>=t.value):i(e)>=t.value},minLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length>=t.value:typeof e=="object"?Object.keys(e).length>=t.value:String(e).length>=t.value)},required:function(e,t={invalidateFalse:!1}){return e!=null&&(e.constructor===Array?!!e.length:typeof e=="boolean"?!t.invalidateFalse||e:!!String(e).trim().length)},sameAs:function(e,t={}){if(!t.target)return!1;const i=M(t.schema(),t.target);if(!i)throw new Error(`Could not find target with name '${t.target}' in 'sameAs' validator.`);return e===i.value}};function ht(e){const t=Object.keys(e).length===0||Array.isArray(e.validators)||e.hasOwnProperty("value")?{...Qe,...Rt}:Qe;return Object.entries(t).forEach(([i,a])=>{e.hasOwnProperty(i)||(e[i]=a)}),Object.keys(e).filter(i=>!ut.includes(i)).forEach(i=>{(typeof e[i]=="object"||Array.isArray(e[i]))&&(e[i]=ht(e[i]))}),e}const Ee={locale:"en",messages:{en:{validation:{alpha:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, spaces, and dashes";break;case e.allowSpaces:t="letters and spaces";break;case e.allowDashes:t="letters and dashes";break;default:t="letters"}return`Please enter ${t} only.`},alphanumeric:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, numbers, spaces, and dashes";break;case e.allowSpaces:t="letters, numbers, and spaces";break;case e.allowDashes:t="letters, numbers, and dashes";break;default:t="letters and numbers"}return`Please enter ${t} only.`},number:e=>{let t;switch(!0){case(e.allowNegative&&e.allowDecimal):t="positive or negative decimal numbers";break;case e.allowNegative:t="positive or negative numbers";break;case e.allowDecimal:t="decimal numbers";break;default:t="numbers"}return`Please enter ${t} only.`},email:()=>"Please enter a valid email address.",max:()=>"Please enter a maximum value of {value}.",maxLength:()=>"Please enter up to {value} characters.",min:()=>"Please enter a minimum value of {value}.",minLength:()=>"Please enter at least {value} characters.",required:()=>"Please enter a value for this field.",sameAs:()=>"Please make sure that the two values match.",custom:()=>"Please enter a correct value for this field."}}}};function Gt(e,t=""){const i=[];return e.valid=(e.validators||[]).reduce((a,s)=>{const r=typeof s=="string"?{name:s}:s,n=jt[r.name](e.value,r);if(!n){const{name:b,message:B,...F}=r,w={name:t.split(".").pop(),value:e.value,...F},xt=(B instanceof Function?B():B)||function(We,ie={}){const ae=M(Ee.messages[Ee.locale],We),Ct=dt(ae)?ae(ie):ae||We;return Object.keys(ie).reduce((St,Ue)=>St.replace(new RegExp(`{${Ue}}`,"g"),`${ie[Ue]}`),Ct)}(`validation.${b}`,w);i.push({name:b,message:xt,path:t})}return a&&n},!0),e.invalid=!e.valid,e.errors=i,e}function mt(e,t=""){return e.valid=Object.keys(e).filter(i=>!ut.includes(i)).reduce((i,a)=>(Object.keys(e[a]).length===0||e[a].validators||e[a].value?e[a]=Gt(e[a],`${t}`?`${t}.${a}`:a):e[a]=mt(e[a],`${t}`?`${t}.${a}`:a),i&&e[a].valid),!0),e.invalid=!e.valid,e}function le(e){return mt(e,"")}const Zt=Object.freeze(Object.defineProperty({__proto__:null,inkCaretDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"caret-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkCheck:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"check",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M23.625 3.5l-13.125 13.125-6.125-6.125-4.375 4.375 10.5 10.5 17.5-17.5z"},children:[]}]},inkChevronDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"chevron-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M26.297 12.625l-11.594 11.578c-0.391 0.391-1.016 0.391-1.406 0l-11.594-11.578c-0.391-0.391-0.391-1.031 0-1.422l2.594-2.578c0.391-0.391 1.016-0.391 1.406 0l8.297 8.297 8.297-8.297c0.391-0.391 1.016-0.391 1.406 0l2.594 2.578c0.391 0.391 0.391 1.031 0 1.422z"},children:[]}]},inkCircle:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"circle",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"},children:[]}]},inkDanger:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"danger",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.625c-3.038 0-5.895 1.183-8.043 3.332s-3.332 5.005-3.332 8.043c0 3.038 1.183 5.895 3.332 8.043s5.005 3.332 8.043 3.332c3.038 0 5.895-1.183 8.043-3.332s3.332-5.005 3.332-8.043c0-3.038-1.183-5.895-3.332-8.043s-5.005-3.332-8.043-3.332zM14 0v0c7.732 0 14 6.268 14 14s-6.268 14-14 14c-7.732 0-14-6.268-14-14s6.268-14 14-14zM12.25 19.25h3.5v3.5h-3.5zM12.25 5.25h3.5v10.5h-3.5z"},children:[]}]},inkInfo:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"info",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M12.25 8.313c0-0.722 0.591-1.313 1.313-1.313h0.875c0.722 0 1.313 0.591 1.313 1.313v0.875c0 0.722-0.591 1.313-1.313 1.313h-0.875c-0.722 0-1.313-0.591-1.313-1.313v-0.875z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M17.5 21h-7v-1.75h1.75v-5.25h-1.75v-1.75h5.25v7h1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 0c-7.732 0-14 6.268-14 14s6.268 14 14 14 14-6.268 14-14-6.268-14-14-14zM14 25.375c-6.282 0-11.375-5.093-11.375-11.375s5.093-11.375 11.375-11.375 11.375 5.093 11.375 11.375-5.093 11.375-11.375 11.375z"},children:[]}]},inkMinus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"minus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M0 11.375v5.25c0 0.483 0.392 0.875 0.875 0.875h26.25c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875h-26.25c-0.483 0-0.875 0.392-0.875 0.875z"},children:[]}]},inkPlus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"plus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.125 10.5h-9.625v-9.625c0-0.483-0.392-0.875-0.875-0.875h-5.25c-0.483 0-0.875 0.392-0.875 0.875v9.625h-9.625c-0.483 0-0.875 0.392-0.875 0.875v5.25c0 0.483 0.392 0.875 0.875 0.875h9.625v9.625c0 0.483 0.392 0.875 0.875 0.875h5.25c0.483 0 0.875-0.392 0.875-0.875v-9.625h9.625c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875z"},children:[]}]},inkSearch:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"search",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.132 23.827l-6.632-5.641c-0.686-0.617-1.419-0.9-2.011-0.873 1.566-1.834 2.511-4.213 2.511-6.813 0-5.799-4.701-10.5-10.5-10.5s-10.5 4.701-10.5 10.5 4.701 10.5 10.5 10.5c2.6 0 4.98-0.946 6.813-2.511-0.027 0.592 0.256 1.326 0.873 2.011l5.641 6.632c0.966 1.073 2.544 1.164 3.506 0.201s0.872-2.54-0.201-3.506zM10.5 17.5c-3.866 0-7-3.134-7-7s3.134-7 7-7 7 3.134 7 7-3.134 7-7 7z"},children:[]}]},inkSort:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1zM16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortAsc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-asc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortDesc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-desc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkTimes:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"times",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.745 22.495c-0-0-0-0-0-0l-8.494-8.494 8.494-8.494c0-0 0-0 0-0 0.091-0.091 0.158-0.198 0.2-0.312 0.116-0.311 0.050-0.675-0.2-0.925l-4.013-4.013c-0.25-0.25-0.614-0.316-0.925-0.2-0.114 0.042-0.221 0.109-0.312 0.2 0 0-0 0-0 0l-8.494 8.494-8.494-8.494c-0-0-0-0-0-0-0.091-0.091-0.198-0.158-0.312-0.2-0.311-0.116-0.675-0.050-0.925 0.2l-4.013 4.013c-0.25 0.25-0.316 0.614-0.2 0.925 0.042 0.114 0.109 0.221 0.2 0.312 0 0 0 0 0 0l8.494 8.494-8.494 8.494c-0 0-0 0-0 0-0.091 0.091-0.157 0.198-0.2 0.312-0.116 0.311-0.050 0.675 0.2 0.925l4.013 4.013c0.25 0.25 0.614 0.316 0.925 0.2 0.114-0.042 0.221-0.109 0.312-0.2 0-0 0-0 0-0l8.494-8.494 8.494 8.494c0 0 0 0 0 0 0.092 0.091 0.198 0.158 0.312 0.2 0.311 0.116 0.675 0.050 0.925-0.2l4.013-4.013c0.25-0.25 0.316-0.614 0.2-0.925-0.042-0.114-0.109-0.221-0.2-0.312z"},children:[]}]},inkWarning:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"warning",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.537l11.733 23.385h-23.467l11.733-23.385zM14 0c-0.603 0-1.207 0.407-1.665 1.221l-11.951 23.819c-0.916 1.628-0.137 2.96 1.731 2.96h23.77c1.868 0 2.647-1.332 1.731-2.96h0l-11.951-23.819c-0.458-0.814-1.061-1.221-1.665-1.221v0z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M15.75 22.75c0 0.966-0.784 1.75-1.75 1.75s-1.75-0.784-1.75-1.75c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 19.25c-0.966 0-1.75-0.784-1.75-1.75v-5.25c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75v5.25c0 0.966-0.784 1.75-1.75 1.75z"},children:[]}]}},Symbol.toStringTag,{value:"Module"})),Je="inkline-color-mode",re=e=>{let t;t=e==="system"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e,pt(document.body,"-light -dark"),_e(document.body,`-${t}`)},Kt={components:{},icons:{},colorMode:"system",locale:"en",validateOn:["input","blur"],color:"",size:"",routerComponent:"router-link",componentOptions:{}};function qt({icons:e,components:t,...i}){return{form:a=>ht(a),setLocale(a){(function(s){Ee.locale=s})(a)},options:zt(i)}}const W={prototype:void 0},yn={install(e,t={}){const i={...Kt,...t};for(const r in i.components)e.component(i.components[r].name,i.components[r]);if(typeof window<"u"){const r=localStorage.getItem(Je);r&&(i.colorMode=r)}const a=qt(i);W.prototype=a,e.config.globalProperties.$inkline=a,e.provide("inkline",a);const s={...Zt,...i.icons};if(e.provide("inklineIcons",s),typeof window<"u"){Bt(()=>a.options.colorMode,b=>{re(b),localStorage.setItem(Je,b)});const r=()=>{a.options.colorMode==="system"&&re(a.options.colorMode)},n=matchMedia("(prefers-color-scheme: dark)");n.addEventListener?n.addEventListener("change",r):n.addListener(r),_e(document.body,"inkline"),re(i.colorMode)}}};function u(e,t,i=""){return()=>{var a;return W.prototype?(a=W.prototype.options.componentOptions[e])!=null&&a[t]?W.prototype.options.componentOptions[e][t]:W.prototype.options[t]:i}}function v(e){return["","xs","sm","md","lg","xl","xxl"].includes(e)}const ft=c({props:{collapse:{type:[String,Boolean],default:"md"},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{open:this.modelValue,windowWidth:typeof window<"u"?window.innerWidth:0}},computed:{collapsibleClasses(){return{"-open":this.open,"-collapsible":this.collapsible,[`-collapse-${this.collapse}`]:!!this.collapse}},collapsible(){return this.collapse===!0||this.collapse===!1?this.collapse:this.windowWidth<=J[this.collapse][1]}},watch:{modelValue(e){this.open=e}},created(){typeof window<"u"&&(O(window,"resize",this.onWindowResize),this.onWindowResize())},beforeUnmount(){typeof window<"u"&&T(window,"resize",this.onWindowResize)},methods:{setOpen(e){this.open=e,this.$emit("update:modelValue",this.open)},toggleOpen(){this.open=!this.open,this.$emit("update:modelValue",this.open)},onWindowResize(){if(this.collapse===!0||this.collapse===!1||typeof window>"u")return;const e=window.innerWidth;this.windowWidth<=J[this.collapse][1]&&e>J[this.collapse][1]&&this.setOpen(!1),this.windowWidth=window.innerWidth}}}),R=c({inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},computed:{isDisabled(){return this.disabled||this.form.isDisabled||this.formGroup.isDisabled},isReadonly(){return this.readonly||this.form.isReadonly||this.formGroup.isReadonly},parent(){return this.formGroup.$?this.formGroup:this.form},schema(){const e=this.parent.schema||{};return this.name!==""?M(e,`${this.name}`):e}}}),Z=c({props:{tag:{type:String,default:"a"}},computed:{isTag(){return this.$attrs.to?this.routerComponent:this.$attrs.href?"a":this.tag},isComponent(){return this.isTag===this.routerComponent},routerComponent(){return this.$inkline.options.routerComponent}}}),Wt=e=>({name:"offset",options:{offset:[0,e]}}),bt=({offset:e})=>[Wt(e),{name:"arrow",options:{padding:6}},{name:"preventOverflow",options:{padding:8}},{name:"computeStyles",options:{gpuAcceleration:!1,adaptive:!1}}],ee=c({props:{placement:{type:String,default:"auto"},offset:{type:Number,default:6},popperOptions:{type:Object,default:()=>({})}},data:()=>({popperInstance:void 0}),watch:{placement(e){this.popperInstance&&this.popperInstance.setOptions({placement:e})}},beforeUnmount(){this.destroyPopper()},methods:{createPopper(){if(typeof window>"u")return;const e=bt({offset:this.offset});this.popperInstance=At(this.$refs.wrapper,this.$refs.popup,{strategy:"fixed",placement:this.placement,modifiers:e,...this.popperOptions})},destroyPopper(){this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}}}),Ge=c({props:{disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:void 0},trigger:{type:Array,default:()=>["hover","click","focus"]},interactable:{type:Boolean,default:!0},hoverHideDelay:{type:Number,default:300}},emits:["update:modelValue","click-outside"],data(){return{visible:this.modelValue,triggerStack:0,hoverHideTransition:!1}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){if(!this.$slots.default)throw new Error("Popup components require one child element to be used as trigger.");this.addEventListeners()},beforeUnmount(){this.removeEventListeners()},methods:{show(){this.disabled||this.visible||(this.triggerStack+=1,this.visible=!0,this.createPopper(),this.$emit("update:modelValue",!0))},hide(){!this.disabled&&this.visible&&(this.triggerStack-=1,this.triggerStack<=0&&(this.triggerStack=0,this.visible=!1,this.$emit("update:modelValue",!1)))},hoverShow(){this.hoverHideTransition=!1,this.show()},hoverHide(){this.hoverHideTransition=!0,setTimeout(()=>{this.hoverHideTransition&&this.hide()},this.hoverHideDelay)},onClick(){this.visible?this.hide():this.show()},onClickOutside(e){this.visible&&this.$emit("click-outside",e),this.modelValue||this.hide()},addEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":O(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),O(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(O(this.$refs.popup,"mouseenter",this.hoverShow),O(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":O(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)O(t,"focus",this.show),O(t,"blur",this.hide)}})},removeEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":T(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),T(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(T(this.$refs.popup,"mouseenter",this.hoverShow),T(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":T(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)T(t,"focus",this.show),T(t,"blur",this.hide)}})},focusTrigger(){for(const e of this.$refs.trigger.children)if(ot(e)){e.focus();break}}}}),oe="IAlert",Ut=c({name:oe,inheritAttrs:!1,props:{size:{type:String,default:u(oe,"size"),validator:v},color:{type:String,default:u(oe,"color")},modelValue:{type:Boolean,default:!0},dismissible:{type:Boolean,default:!1},dismissAriaLabel:{type:String,default:"Dismiss"}},emits:["update:modelValue"],data:()=>({dismissed:!1}),computed:{classes(){return{[`-${this.color}`]:!!this.color,[`-${this.size}`]:!!this.size,"-dismissible":this.dismissible,"-with-icon":!!this.$slots.icon}}},watch:{modelValue(e){this.dismissed=!e}},methods:{dismiss(){this.dismissed=!0,this.$emit("update:modelValue",!1)}}}),Ht={key:0,class:"icon",role:"img","aria-hidden":"true"},Qt={class:"content"},Yt=["aria-label"],Jt=p(Ut,[["render",function(e,t,i,a,s,r){return $((l(),o("div",h({class:["alert",e.classes],role:"alert"},e.$attrs),[e.$slots.icon?(l(),o("span",Ht,[d(e.$slots,"icon")])):f("",!0),m("div",Qt,[d(e.$slots,"default")]),e.dismissible?(l(),o("span",{key:1,class:"dismiss",role:"button","aria-label":e.dismissAriaLabel,onClick:t[0]||(t[0]=(...n)=>e.dismiss&&e.dismiss(...n))},[d(e.$slots,"dismiss",{},()=>[t[1]||(t[1]=P("×"))])],8,Yt)):f("",!0)],16)),[[x,!e.dismissed]])}]]),de="IBadge",Xt=p(c({name:de,inheritAttrs:!1,props:{color:{type:String,default:u(de,"color")},size:{type:String,default:u(de,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["badge",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),ue="IBreadcrumb",ei=c({name:ue,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Breadcrumbs"},color:{type:String,default:u(ue,"color")},size:{type:String,default:u(ue,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ti=["aria-label"],ii=p(ei,[["render",function(e,t,i,a,s,r){return l(),o("nav",h({class:["breadcrumb",e.classes],"aria-label":e.ariaLabel},e.$attrs),[m("ol",null,[d(e.$slots,"default")])],16,ti)}]]),ai=c({name:"IBreadcrumbItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:""},to:{type:[String,Object],default:""},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled}},tabIndex(){return this.disabled||this.active?-1:this.tabindex}}}),si=["is","href","to","tabindex","aria-current"],ni=p(ai,[["render",function(e,t,i,a,s,r){return l(),o("li",h({class:["breadcrumb-item",e.classes]},e.$attrs),[m("a",{is:e.isTag,href:e.href,to:e.to,tabindex:e.tabIndex,"aria-current":e.active?"location":null},[d(e.$slots,"default",{},void 0,!0)],8,si)],16)}],["__scopeId","data-v-28fa6b16"]]),ce="ILoader",li=c({name:ce,inheritAttrs:!1,props:{color:{type:String,default:u(ce,"color")},size:{type:String,default:u(ce,"size")}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ri={key:0,class:"loader-text"},yt=p(li,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["loader",e.classes],role:"img","aria-hidden":"true"}),[e.$slots.default?(l(),o("span",ri,[d(e.$slots,"default")])):f("",!0),t[0]||(t[0]=m("svg",{viewBox:"25 25 50 50"},[m("circle",{cx:"50",cy:"50",r:"20",fill:"none","stroke-width":"4","stroke-miterlimit":"10"})],-1))],16)}]]),pe="IButton",vt=p(c({name:pe,components:{ILoader:yt},mixins:[Z],inject:{buttonGroup:{default:()=>({})},form:{default:()=>({})},formGroup:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},block:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},color:{type:String,default:u(pe,"color")},disabled:{type:Boolean,default:!1},link:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},tag:{type:String,default:"button"},tabindex:{type:[Number,String],default:0},size:{type:String,default:u(pe,"size"),validator:v}},computed:{ariaBusy(){return this.role!=="button"?null:this.loading?"true":"false"},ariaDisabled(){return this.role!=="button"?null:this.disabled?"true":"false"},ariaPressed(){return this.role!=="button"?null:this.active?"true":"false"},classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-active":this.active,"-block":this.block,"-circle":this.circle,"-disabled":this.isDisabled,"-link":this.link,"-outline":this.outline}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled},role(){return this.$attrs.to||this.$attrs.href?"link":"button"},tabIndex(){return this.isDisabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){const n=A("i-loader");return l(),V(Y(e.isTag),h(e.$attrs,{class:["button",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.isDisabled||e.loading,"aria-disabled":e.ariaDisabled,"aria-pressed":e.ariaPressed,"aria-busy":e.ariaBusy,"aria-live":"polite"}),{default:y(()=>[e.loading?d(e.$slots,"loading",{key:0},()=>[I(n)]):f("",!0),e.loading?f("",!0):d(e.$slots,"default",{key:1})]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled","aria-pressed","aria-busy"])}]]),oi=c({name:"IButtonGroup",inject:{form:{default:()=>({})},buttonGroup:{default:()=>({})},formGroup:{default:()=>({})}},provide(){return{buttonGroup:this}},inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical,"-block":this.block,"-disabled":this.isDisabled}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled}}}),di=["aria-disabled"],ui=p(oi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["button-group",e.classes],role:"group","aria-disabled":e.isDisabled},e.$attrs),[d(e.$slots,"default")],16,di)}]]),H={};for(const e of je){e!==""&&(H[e]={type:[String,Boolean,Number],default:!1});for(const t of["first","last"])H[`${t}${Re(e)}`]={type:Boolean,default:!1};for(const t of["offset","push","pull"])H[`${t}${Re(e)}`]={type:[String,Number],default:""}}const Ze=p(c({name:"IColumn",inheritAttrs:!1,props:H,computed:{classes(){return Object.keys(H).reduce((e,t)=>(this[t]&&(e[rt(`-${t}`,this[t])]=!0),e),{})}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["column",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),Ke=p(c({name:"IContainer",inheritAttrs:!1,props:{fluid:{type:Boolean,default:!1}},computed:{classes(){return{"-fluid":this.fluid}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["container",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),he="ICard",ci=c({name:he,inheritAttrs:!1,props:{color:{type:String,default:u(he,"color")},size:{type:String,default:u(he,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),pi={key:0,class:"card-header"},hi={key:1,class:"card-body"},mi={key:2,class:"card-footer"},fi=p(ci,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["card",e.classes]},e.$attrs),[e.$slots.header?(l(),o("header",pi,[d(e.$slots,"header")])):f("",!0),d(e.$slots,"image"),e.$slots.default?(l(),o("div",hi,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("footer",mi,[d(e.$slots,"footer")])):f("",!0)],16)}]]),me="ICheckbox",bi=c({name:me,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(me,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("checkbox")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(me,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked?this.formGroup.checked.includes(this.value):this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),yi=["aria-checked"],vi=["checked","name","disabled","readonly",".indeterminate"],gi=["aria-checked","aria-disabled","aria-readonly","tabindex"],ki=p(bi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["checkbox",e.classes],"aria-checked":e.checked?"true":"false",role:"checkbox"},e.$attrs),[m("input",{ref:"input",type:"checkbox",checked:e.checked,tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,"aria-hidden":"true",onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,vi),m("label",{class:"checkbox-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,gi)],16,yi)}]]),fe="ICheckboxGroup",$i=c({name:fe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(fe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},modelValue:{default:()=>[]},name:{type:[String,Number],default:()=>S("checkbox-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(fe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var a,s;const t=[...this.modelValue],i=t.findIndex(r=>r===e);i!==-1?t.splice(i,1):t.push(e),(s=(a=this.parent).onInput)==null||s.call(a,this.name,t),this.$emit("update:modelValue",t)}}}),wi=["name"],Ii=p($i,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["form-group checkbox-group",e.classes],name:e.name,role:"checkboxgroup"},e.$attrs),[d(e.$slots,"default",{},void 0,!0)],16,wi)}],["__scopeId","data-v-4043b2ce"]]),be="ICollapsible",xi=c({name:be,provide(){return{collapsible:this}},inheritAttrs:!1,props:{accordion:{type:Boolean,default:!1},color:{type:String,default:u(be,"color")},size:{type:String,default:u(be,"size"),validator:v},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{activeItems:[].concat(this.modelValue)}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){this.activeItems=[].concat(e)}},methods:{onItemClick(e){if(this.accordion)return this.activeItems=this.activeItems.indexOf(e.name)>-1?[]:[e.name],this.activeItems;const t=this.activeItems.indexOf(e.name);t>-1?this.activeItems.splice(t,1):this.activeItems.push(e.name),this.$emit("update:modelValue",this.activeItems)}}}),Ci=p(xi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["collapsible",e.classes],role:"tablist","aria-multiselectable":"true"},e.$attrs),[d(e.$slots,"default")],16)}]]),gt=p(c({name:"IExpandTransition",methods:{onEnter(e){const t=q(e,"width");e.style.width=t,e.style.position="absolute",e.style.visibility="hidden",e.style.height="auto";const i=q(e,"height");e.style.width=null,e.style.position=null,e.style.visibility=null,e.style.height=0,q(e,"height"),setTimeout(()=>{e.style.height=i})},onAfterEnter(e){e.style.height="auto"},onLeave(e){e.style.height=q(e,"height"),q(e,"height"),setTimeout(()=>{e.style.height=0})}}}),[["render",function(e,t,i,a,s,r){return l(),V(L,{name:"expand",onEnter:e.onEnter,onAfterEnter:e.onAfterEnter,onLeave:e.onLeave},{default:y(()=>[d(e.$slots,"default",{},void 0,!0)]),_:3},8,["onEnter","onAfterEnter","onLeave"])}],["__scopeId","data-v-1e395af5"]]),Si=c({name:"ICollapsibleItem",components:{IExpandTransition:gt},inject:{collapsible:{default:()=>({activeItems:[]})}},inheritAttrs:!1,props:{name:{type:String,default:()=>S("collapsible-item")},title:{type:String,default:""}},computed:{active(){return this.collapsible.activeItems.indexOf(this.name)>-1},classes(){return{"-active":this.active}}},methods:{onClick(){this.collapsible.onItemClick(this)}}}),Bi=["name"],zi=["id","aria-expanded","aria-controls","aria-describedby"],Ai=["id","aria-hidden","aria-labelledby"],Vi={class:"content"},Oi=p(Si,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),o("div",h({class:["collapsible-item",e.classes],name:e.name},e.$attrs),[m("a",{class:"collapsible-header",role:"tab",id:`collapsible-item-heading-${e.name}`,"aria-expanded":e.active?"true":"false","aria-controls":`collapsible-item-content-${e.name}`,"aria-describedby":`collapsible-item-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...b)=>e.onClick&&e.onClick(...b)),onKeydown:[t[1]||(t[1]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["space"])),t[2]||(t[2]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["enter"]))]},[d(e.$slots,"header",{},()=>[P(_(e.title),1)]),t[3]||(t[3]=m("i",{class:"icon"},null,-1))],40,zi),I(n,null,{default:y(()=>[$(m("div",{class:"collapsible-body",role:"tabpanel",id:`collapsible-item-content-${e.name}`,"aria-hidden":e.active?"false":"true","aria-labelledby":`collapsible-item-heading-${e.name}`},[m("div",Vi,[d(e.$slots,"default")])],8,Ai),[[x,e.active]])]),_:3})],16,Bi)}]]),Li=(e,t)=>i=>{(function(a){return!!a&&!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)})(e)&&i.target&&(e===i.target||e.contains(i.target)||t.value(i))},K={beforeMount(e,t){typeof window<"u"&&O(window.document,"mousedown",Li(e,t))}},ye="IDropdown",Di=c({name:ye,directives:{ClickOutside:K},mixins:[ee,Ge],provide(){return{dropdown:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{animationDuration:{type:Number,default:300},color:{type:String,default:u(ye,"color")},disabled:{type:Boolean,default:!1},hideOnItemClick:{type:Boolean,default:!0},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},modelValue:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},placement:{type:String,default:"bottom"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!0},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ye,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},mounted(){for(const e of this.$refs.trigger.children)O(e,"keydown",this.onTriggerKeyDown);O(this.$refs.popup,"keydown",this.onItemKeyDown)},beforeUnmount(){for(const e of this.$refs.trigger.children)T(e,"keydown",this.onTriggerKeyDown);T(this.$refs.popup,"keydown",this.onItemKeyDown)},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)},getFocusableItems(){const e=[];for(const t of this.$refs.body.children)Fe(t)&&e.push(t);return e},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):case(k("space",e)&&this.keydownTrigger.includes("space")):this.onClick(),this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{e.onItemClick()})}}}),Ni={class:"dropdown-trigger",ref:"trigger"},Ti=["aria-hidden"],Pi={key:0,"data-popper-arrow":""},Ri={key:1,class:"dropdown-header"},Ei={key:2,class:"dropdown-body",ref:"body"},Mi={key:3,class:"dropdown-footer"},_i=p(Di,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h({class:"dropdown-wrapper",ref:"wrapper","aria-haspopup":"true",onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))},e.$attrs),[m("div",Ni,[d(e.$slots,"default")],512),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["dropdown",e.classes]),role:"menu",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Pi)):f("",!0),e.$slots.header?(l(),o("div",Ri,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",Ei,[d(e.$slots,"body")],512)):f("",!0),e.$slots.footer?(l(),o("div",Mi,[d(e.$slots,"footer")])):f("",!0)],10,Ti),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16)),[[n,e.onClickOutside]])}]]),Fi=p(c({name:"IDropdownDivider",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:"dropdown-divider",role:"separator"},e.$attrs),null,16)}]]),ji=p(c({name:"IDropdownItem",mixins:[Z],inject:{dropdown:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},plaintext:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled,"-plaintext":this.plaintext}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){var t,i;(i=(t=this.dropdown).onItemClick)==null||i.call(t,this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["dropdown-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.disabled,"aria-pressed":e.active,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["class","role","tag","tabindex","disabled","aria-disabled","aria-pressed","onClick"])}]]),Xe="IForm",Gi=c({name:Xe,mixins:[R],provide(){return{form:this}},inheritAttrs:!1,props:{color:{type:String,default:""},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},name:{type:String,default:()=>S("form")},modelValue:{type:Object,default:()=>null},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Xe,"size"),validator:v}},emits:["update:modelValue","submit"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},schema(){return this.modelValue?this.modelValue:M(this.formGroup.schema||this.form.schema||{},this.name)}},methods:{onBlur(e,t){var i,a;if((a=(i=this.parent).onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=ne(s,e,{untouched:!1,touched:!0}),this.shouldValidate(e,"blur")&&(s=le(s)),this.$emit("update:modelValue",s)}},onInput(e,t){var i,a;if((a=(i=this.parent).onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=function(r,n,b,B){return M(r,n)[b]=B,r}(s,e,"value",t),s=ne(s,e,{pristine:!1,dirty:!0}),this.shouldValidate(e,"input")&&(s=le(s)),this.$emit("update:modelValue",s)}},onSubmit(e){if(e.preventDefault(),this.modelValue){let t=U(this.modelValue);if(t=ne(le(t),"",{untouched:!1,touched:!0}),this.$emit("update:modelValue",t),t.invalid)return}this.$emit("submit",e)},shouldValidate(e,t){const i=M(this.modelValue,e);return(i.validateOn?[].concat(i.validateOn):this.$inkline.options.validateOn).includes(t)}}}),Zi=["name","readonly","disabled"],Ki=p(Gi,[["render",function(e,t,i,a,s,r){return l(),o("form",h(e.$attrs,{class:["form",e.classes],role:"form",name:e.name,readonly:e.isReadonly,disabled:e.isDisabled,onSubmit:t[0]||(t[0]=(...n)=>e.onSubmit&&e.onSubmit(...n))}),[d(e.$slots,"default",{},void 0,!0)],16,Zi)}],["__scopeId","data-v-575ccba7"]]),ve="IFormGroup",qi=c({name:ve,mixins:[R],provide(){return{formGroup:this}},props:{color:{type:String,default:u(ve,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},name:{type:String,default:""},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:u(ve,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline,"-required":this.required}}},methods:{onBlur(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)},onInput(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)}}}),Wi=["name"],Ui=p(qi,[["render",function(e,t,i,a,s,r){return l(),o("fieldset",{class:z(["form-group",e.classes]),name:e.name,role:"group"},[d(e.$slots,"default")],10,Wi)}]]),Hi=c({name:"IFormError",inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},props:{for:{type:String,default:""},visible:{type:[Array,String],default:()=>["touched","dirty","invalid"]}},computed:{parent(){return this.formGroup.$?this.formGroup:this.form},schema(){return this.for!==""?M(this.parent.schema||{},`${this.for}`):this.parent.schema||{}},errors(){return this.schema.errors||[]},isVisible(){let e=!0;return this.schema&&this.visible&&[].concat(this.visible).forEach(t=>{e=e&&this.schema[t]}),e}}}),Qi={key:0,class:"form-error","aria-live":"polite"},Yi=p(Hi,[["render",function(e,t,i,a,s,r){return e.schema?$((l(),V(L,{key:0,name:"fade-in-transition"},{default:y(()=>[e.errors.length>0?(l(),o("ul",Qi,[(l(!0),o(j,null,X(e.errors,n=>(l(),o("li",null,_(n.message),1))),256))])):f("",!0)]),_:1},512)),[[x,e.isVisible]]):f("",!0)}]]),et="IFormLabel",Ji=c({name:et,mixins:[R],props:{for:{type:String,default:""},placement:{type:String,default:""},size:{type:String,default:u(et,"size"),validator:v}},computed:{classes(){return{[`-${this.size}`]:!!this.size,[`-${this.placement}`]:!!this.placement}},forAttr(){return this.for}},methods:{getNextSibling(){return this.$el.nextSibling.querySelector("input, textarea")},onClick(){var e;this.for||((e=this.getNextSibling())==null||e.focus())}}}),Xi=["for"],ea=p(Ji,[["render",function(e,t,i,a,s,r){return l(),o("label",h(e.$attrs,{class:["form-label",e.classes],for:e.forAttr,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default")],16,Xi)}]]),tt="IHamburgerMenu",kt=p(c({name:tt,inheritAttrs:!1,props:{animation:{type:String,default:"close"},color:{type:String,default:u(tt,"color")},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],computed:{classes(){return{...g(this),"-active":this.modelValue,[`-${this.animation}`]:!0}}},methods:{onClick(){this.$emit("update:modelValue",!this.modelValue)}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["hamburger-menu",e.classes],onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),t[1]||(t[1]=[m("span",{class:"hamburger-menu-bars"},null,-1)]),16)}]]),Me={};for(const e of je)for(const t of["start","center","end","top","middle","bottom","around","between","reverse"])Me[`${t}${Re(e)}`]={type:Boolean,default:!1};const qe=p(c({name:"IRow",inheritAttrs:!1,props:{noGutter:{type:Boolean,default:!1},noCollapse:{type:Boolean,default:!1},...Me},computed:{classes(){const e=Object.keys(Me).reduce((t,i)=>(this[i]&&(t[rt(`-${i}`,this[i])]=!0),t),{});return{"-no-gutter":this.noGutter,"-no-collapse":this.noCollapse,...e}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["row",e.classes]}),[d(e.$slots,"default")],16)}]]),ge="IHeader",ta=p(c({name:ge,components:{IContainer:Ke,IRow:qe,IColumn:Ze},inheritAttrs:!1,props:{color:{type:String,default:u(ge,"color")},cover:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},size:{type:String,default:u(ge,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-cover":this.cover,"-fullscreen":this.fullscreen}}}}),[["render",function(e,t,i,a,s,r){const n=A("i-column"),b=A("i-row"),B=A("i-container");return l(),o("header",h(e.$attrs,{class:["header",e.classes]}),[I(B,{fluid:e.fluid},{default:y(()=>[I(b,null,{default:y(()=>[I(n,null,{default:y(()=>[d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)}]]),it="IIcon",$t=p(c({name:it,inheritAttrs:!1,props:{name:{type:String,default:""},size:{type:String,default:u(it,"size"),validator:v}},setup(e){const t=Vt("inklineIcons"),i=se(()=>function(r,n="dash"){const b=n==="dash"?/-([a-z0-9])/g:/_([a-z0-9])/g;return r.replace(b,(B,F)=>F.toUpperCase())}(e.name)),a=se(()=>t[i.value]),s=se(()=>({"inkline-icon":!0,[`-${e.size}`]:!!e.size}));return Ot(()=>{i.value&&t[i.value]}),()=>{var r,n;return nt("svg",{class:s.value,...(r=a.value)==null?void 0:r.attributes},ct(((n=a.value)==null?void 0:n.children)||[]))}}}),[["render",function(e,t,i,a,s,r){const n=A("icon");return l(),V(n,h(e.$attrs,{size:e.size}),null,16,["size"])}]]),ke="IInput",ia=c({name:ke,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(ke,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},error:{type:[Array,Boolean],default:()=>["touched","dirty","invalid"]},id:{type:String,default:void 0},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},plaintext:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(ke,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},clearAriaLabel:{type:String,default:"Clear"}},emits:["update:modelValue","clear"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-error":this.hasError,"-readonly":this.isReadonly,"-prefixed":!!this.$slots.prefix,"-suffixed":!!this.$slots.suffix,"-prepended":!!this.$slots.prepend,"-appended":!!this.$slots.append}},hasError(){if(typeof this.error=="boolean")return this.error;if(this.schema&&this.error){let e=!0;return[].concat(this.error).forEach(t=>{e=e&&this.schema[t]}),e}return!1},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.clearable&&!this.isDisabled&&!this.isReadonly&&this.value!==""},value(){return this.schema?this.schema.value:this.modelValue}},methods:{onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onInput(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.value),this.$emit("update:modelValue",e.target.value)},onClear(e){this.$emit("update:modelValue",""),this.$emit("clear",e)},focus(){this.$refs.input.focus()}}}),aa={key:0,class:"input-prepend"},sa={class:"input"},na={key:0,class:"input-prefix"},la=["value","name","id","type","tabindex","disabled","aria-disabled","readonly","aria-readonly"],ra={key:1,class:"input-suffix"},oa=["aria-label","aria-hidden"],da={key:1,class:"input-append"},te=p(ia,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",aa,[d(e.$slots,"prepend")])):f("",!0),m("div",sa,[e.$slots.prefix?(l(),o("span",na,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:e.type,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly||e.plaintext,"aria-readonly":!(!e.isReadonly&&!e.plaintext)&&"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,la),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",ra,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,8,oa)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",da,[d(e.$slots,"append")])):f("",!0)],2)}]]),$e="INumberInput",ua=c({name:$e,components:{IButton:vt},extends:te,inheritAttrs:!1,props:{color:{type:String,default:u($e,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},readonly:{type:Boolean,default:!1},size:{type:String,default:u($e,"size"),validator:v},tabindex:{type:[Number,String],default:0},min:{type:[Number,String],default:-1/0},max:{type:[Number,String],default:1/0},precision:{type:Number,default:0},step:{type:Number,default:1}},emits:["update:modelValue"],watch:{modelValue:{immediate:!0,handler(e){var i,a;let t=(e||"").toString().replace(/^[^0-9-]/,"").replace(/^(-)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+)[^0-9${this.precision>0?".":""}]`),"$1");this.precision>0&&(t=t.replace(/^(-?[0-9]+\.)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+\\.[0-9]{0,${this.precision}}).*`),"$1")),parseFloat(t)>=parseFloat(this.max)&&(t=this.max.toString()),parseFloat(t)<=parseFloat(this.min)&&(t=this.min.toString()),(a=(i=this.parent).onInput)==null||a.call(i,this.name,t),this.$emit("update:modelValue",t)}}},methods:{decrease(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)-this.step).toString()))},increase(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)+this.step).toString()))},formatPrecision(e){const t=e.split(".");let i=t[1]||"";for(let a=i.length;a0?`${t[0]}.${i}`:t[0]},onBlurFormatPrecision(e){var t,i;this.$emit("update:modelValue",this.formatPrecision(Number(this.modelValue).toString())),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),ca={class:"input-prepend"},pa={class:"input"},ha={key:0,class:"input-prefix"},ma=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],fa={key:1,class:"input-suffix"},ba=["aria-label","aria-hidden"],ya={class:"input-append"},va=p(ua,[["render",function(e,t,i,a,s,r){const n=A("i-button");return l(),o("div",{class:z(["input-wrapper -prepended -appended",e.classes])},[m("div",ca,[d(e.$slots,"prepend"),I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-decrease",onClick:e.decrease},{default:y(()=>t[3]||(t[3]=[P(" - ")])),_:1},8,["color","size","disabled","onClick"])]),m("div",pa,[e.$slots.prefix?(l(),o("span",ha,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:"text",tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true",onInput:t[0]||(t[0]=(...b)=>e.onInput&&e.onInput(...b)),onBlur:t[1]||(t[1]=(...b)=>e.onBlur&&e.onBlur(...b))}),null,16,ma),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",fa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...b)=>e.onClear&&e.onClear(...b))},null,8,ba)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),m("div",ya,[I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-increase",onClick:e.increase},{default:y(()=>t[4]||(t[4]=[P(" + ")])),_:1},8,["color","size","disabled","onClick"]),d(e.$slots,"append")])],2)}]]),we="ITextarea",ga=c({name:we,extends:te,inheritAttrs:!1,props:{color:{type:String,default:u(we,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:String,default:""},name:{type:[String,Number],default:()=>S("textarea")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(we,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"]}),ka={key:0,class:"input-prepend"},$a={class:"input"},wa={key:0,class:"input-prefix"},Ia=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],xa={key:1,class:"input-suffix"},Ca={key:1,class:"input-append"},Sa=p(ga,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",ka,[d(e.$slots,"prepend")])):f("",!0),m("div",$a,[e.$slots.prefix?(l(),o("span",wa,[d(e.$slots,"prefix")])):f("",!0),m("textarea",h(e.$attrs,{value:e.value,ref:"input",role:"textbox",name:e.name,id:e.id,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true","aria-multiline":"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,Ia),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",xa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[$(m("i",{class:"input-clear","aria-label":"Clear",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,512),[[x,e.isClearable]])]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",Ca,[d(e.$slots,"append")])):f("",!0)],2)}]]),Ba=p(c({name:"ILayout",inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical}}}}),[["render",function(e,t,i,a,s,r){return l(),o("main",h(e.$attrs,{class:["layout",e.classes]}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-9a9f03c1"]]),za=c({name:"ILayoutAside",inheritAttrs:!1}),Aa={class:"layout-aside-children"},Va=p(za,[["render",function(e,t,i,a,s,r){return l(),o("aside",h(e.$attrs,{class:"layout-aside"}),[m("div",Aa,[d(e.$slots,"default",{},void 0,!0)])],16)}],["__scopeId","data-v-6e13c28d"]]),Oa=p(c({name:"ILayoutContent",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("section",h(e.$attrs,{class:"layout-content"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-5b197a5d"]]),La=p(c({name:"ILayoutFooter",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("footer",h(e.$attrs,{class:"layout-footer"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-31bd8dbc"]]),Da=p(c({name:"ILayoutHeader",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("header",h(e.$attrs,{class:"layout-header"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-ece9ef9b"]]),Ie="IListGroup",Na=p(c({name:Ie,inheritAttrs:!1,props:{border:{type:Boolean,default:!0},color:{type:String,default:u(Ie,"color")},size:{type:String,default:u(Ie,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-border":this.border}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["list-group",e.classes],role:"list"}),[d(e.$slots,"default")],16)}]]),Ta=p(c({name:"IListGroupItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"listitem"},tabIndex(){return this.disabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["list-group-item",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled"])}]]),Pa=function(e){const t={};return(...i)=>{const a=JSON.stringify(i);return a in t||(t[a]=e(...i)),t[a]}}(function(e,t){if(!t)return[{text:e}];const i=[],a=e.toLowerCase(),s=t.toLowerCase();let r=0,n=0;for(;n=0;n=B?b:e.length,n&&(i.push({text:e.substring(r,n)}),r=n),B&&(n+=t.length,i.push({text:e.substring(r,n),marked:!0}),r=n)}return i}),Ra=c({name:"IMark",inheritAttrs:!1,props:{text:{type:String,default:""},query:{type:String,default:""}},computed:{parts(){return Pa(this.text,this.query)}}}),Ea={key:0},wt=p(Ra,[["render",function(e,t,i,a,s,r){return l(),o("span",Lt(Dt(e.$attrs)),[(l(!0),o(j,null,X(e.parts,({text:n,marked:b})=>(l(),o(j,null,[b?(l(),o("mark",Ea,_(n),1)):(l(),o(j,{key:1},[P(_(n),1)],64))],64))),256))],16)}]]),Ma=c({name:"IMedia",inheritAttrs:!1}),_a={class:"media-body"},Fa=p(Ma,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:"media"}),[d(e.$slots,"image"),m("div",_a,[d(e.$slots,"default")])],16)}]]),C={instances:{},stack:[],zIndex:1050,register(e){e&&e.name&&(C.instances[e.name]=e)},unregister(e){e&&e.name&&(C.instances[e.name]=null,delete C.instances[e.name])},open(e){typeof window<"u"&&(C.stack.push(e),C.instances[e].$el.style.zIndex=C.zIndex++)},close(e){typeof window<"u"&&C.stack.splice(C.stack.indexOf(e),1)},getTopOverlay(){const e=C.stack.slice(-1)[0]||"";return C.instances[e]},onPressEscape(){const e=C.getTopOverlay();e&&e.closeOnPressEscape&&e.hide()}};typeof window<"u"&&window.addEventListener("keydown",e=>{k("esc",e)&&C.onPressEscape()});const xe="IModal",ja=c({name:xe,directives:{ClickOutside:K},inheritAttrs:!1,props:{closeOnPressEscape:{type:Boolean,default:!0},closeAriaLabel:{type:String,default:"Close"},color:{type:String,default:u(xe,"color")},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},name:{type:String,default:()=>S("modal")},showClose:{type:Boolean,default:!0},size:{type:String,default:u(xe,"size"),validator:v},modelValue:{type:Boolean,default:!1},transition:{type:String,default:"zoom-in-center-transition"}},emits:["update:modelValue"],data(){return{visible:this.modelValue}},computed:{classes(){return{"-disabled":this.disabled,...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){C.register(this)},unmounted(){C.unregister(this)},methods:{show(){this.disabled||(this.visible=!0,this.$emit("update:modelValue",!0),C.open(this.name),typeof window<"u"&&_e(window.document.body,"-modal"))},hide(){this.disabled||(this.visible=!1,this.$emit("update:modelValue",!1),C.close(this.name),typeof window<"u"&&pt(window.document.body,"-modal"))},onClickOutside(){this.hideOnClickOutside&&this.hide()}}}),Ga=["aria-hidden","id","name","aria-labelledby"],Za={class:"modal"},Ka=["id"],qa=["aria-label"],Wa={key:1,class:"modal-body"},Ua={key:2,class:"modal-footer"},Ha=p(ja,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return l(),V(L,{name:"fade-in-transition"},{default:y(()=>[$(m("div",h(e.$attrs,{class:["modal-wrapper",e.classes],role:"dialog","aria-modal":"true","aria-hidden":e.visible?"false":"true",id:e.name,name:e.name,"aria-labelledby":`${e.name}-header`}),[I(L,{name:e.transition},{default:y(()=>[$((l(),o("div",Za,[e.$slots.header?(l(),o("div",{key:0,class:"modal-header",id:`${e.name}-header`},[d(e.$slots,"header"),e.showClose?(l(),o("button",{key:0,class:"close","aria-hidden":"true","aria-label":e.closeAriaLabel,onClick:t[0]||(t[0]=(...b)=>e.hide&&e.hide(...b))},[d(e.$slots,"close",{},()=>[t[1]||(t[1]=m("i",{class:"icon"},null,-1))])],8,qa)):f("",!0)],8,Ka)):f("",!0),e.$slots.default?(l(),o("div",Wa,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("div",Ua,[d(e.$slots,"footer")])):f("",!0)])),[[n,e.onClickOutside],[x,e.visible]])]),_:3},8,["name"])],16,Ga),[[x,e.visible]])]),_:3})}]]),Ce="INav",Qa=p(c({name:Ce,provide(){return{nav:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{color:{type:String,default:u(Ce,"color")},size:{type:String,default:u(Ce,"size"),validator:v},vertical:{type:Boolean,default:!1}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-vertical":this.vertical}}},methods:{onItemClick(){[this.navbar,this.sidebar].forEach(e=>{e.onItemClick()})}}}),[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["nav",e.classes],role:"menubar"}),[d(e.$slots,"default")],16)}]]),Ya=p(c({name:"INavItem",mixins:[Z],inject:{nav:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},stopPropagation:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){this.stopPropagation||this.nav.onItemClick(this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["nav-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["role","tag","tabindex","class","disabled","aria-disabled","onClick"])}]]),Se="INavbar",Ja=p(c({name:Se,components:{IContainer:Ke,IRow:qe,IColumn:Ze,IHamburgerMenu:kt},directives:{ClickOutside:K},mixins:[ft],provide(){return{navbar:this}},inheritAttrs:!1,props:{collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},color:{type:String,default:u(Se,"color")},fluid:{type:Boolean,default:!1},size:{type:String,default:u(Se,"size"),validator:v},menuAnimation:{type:String,default:"close"}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size}}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onClickOutside(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),[["render",function(e,t,i,a,s,r){const n=A("i-hamburger-menu"),b=A("i-column"),B=A("i-row"),F=A("i-container"),w=G("click-outside");return $((l(),o("nav",h(e.$attrs,{class:["navbar",e.classes]}),[I(F,{fluid:e.fluid},{default:y(()=>[I(B,null,{default:y(()=>[I(b,null,{default:y(()=>[I(n,{class:"collapse-toggle",animation:e.menuAnimation,color:e.color,modelValue:e.open,"onUpdate:modelValue":e.toggleOpen},null,8,["animation","color","modelValue","onUpdate:modelValue"]),d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)),[[w,e.onClickOutside]])}]]),Xa=p(c({name:"INavbarBrand",mixins:[Z],inheritAttrs:!1,props:{tag:{type:String,default:"div"}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:"navbar-brand",tag:e.tag,translate:"no"}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag"])}]]),es=c({name:"INavbarCollapsible",components:{IExpandTransition:gt},inject:{navbar:{default:()=>({})}},inheritAttrs:!1,computed:{visible(){const e=typeof window>"u";return this.navbar.open||!this.navbar.collapsible||e}}}),ts=["aria-hidden","aria-expanded"],is=p(es,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),V(n,null,{default:y(()=>[$(m("div",h(e.$attrs,{class:"navbar-collapsible","aria-hidden":e.visible?"false":"true","aria-expanded":e.visible?"true":"false"}),[d(e.$slots,"default")],16,ts),[[x,e.visible]])]),_:3})}]]),Be="IPagination",as=c({name:Be,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Pagination"},color:{type:String,default:u(Be,"color")},itemsPerPage:{type:Number,default:20},itemsTotal:{type:Number,default:0},limit:{type:[Number,Object],default:()=>({xs:3,sm:5})},quickLink:{type:Boolean,default:!1},modelValue:{type:Number,default:1},size:{type:String,default:u(Be,"size"),validator:v}},emits:["update:modelValue"],data:()=>({pageLimit:5}),computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}},pageCount(){return Math.ceil(this.itemsTotal/this.itemsPerPage)},showQuickPrevious(){return this.pageCount>this.pageLimit&&this.modelValue>this.pageLimit-(this.pageLimit-1)/2},showQuickNext(){return this.pageCount>this.pageLimit&&this.modelValuee.apply(s,a),t)}}(this.onWindowResize,250),typeof window<"u"&&(window.addEventListener("resize",this.debouncedOnWindowResize),this.onWindowResize())},unmounted(){typeof window<"u"&&window.removeEventListener("resize",this.debouncedOnWindowResize)},methods:{next(){this.modelValue!==this.pageCount&&this.onClick(this.modelValue+1)},quickNext(){if(!this.quickLink)return;const e=this.modelValue+(this.pageLimit-2);this.onClick(e>this.pageCount?this.pageCount:e)},previous(){this.modelValue!==1&&this.onClick(this.modelValue-1)},quickPrevious(){if(!this.quickLink)return;const e=this.modelValue-(this.pageLimit-2);this.onClick(e<1?1:e)},onClick(e){this.$emit("update:modelValue",e)},onWindowResize(){if(typeof this.limit=="number")return this.pageLimit=this.limit,this.pageLimit;for(const e of je.slice().reverse())if(this.limit.hasOwnProperty(e)&&typeof window<"u"&&window.innerWidth>=J[e][0])return this.pageLimit=this.limit[e],this.pageLimit}}}),ss=["aria-label"],ns={class:"pagination-items"},ls={"aria-hidden":"true"},rs=["aria-current","onClick"],os={"aria-hidden":"true"},ds=p(as,[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["pagination",e.classes],role:"navigation","aria-label":e.ariaLabel}),[m("ul",ns,[e.pageCount>0?(l(),o("li",{key:0,class:z(["pagination-item -previous",{"-disabled":e.modelValue===1}]),onClick:t[0]||(t[0]=(...n)=>e.previous&&e.previous(...n))},[m("span",ls,[d(e.$slots,"previous",{},()=>[t[6]||(t[6]=P("<"))])])],2)):f("",!0),e.pageCount>0?(l(),o("li",{key:1,class:z(["pagination-item -first",{"-active":e.modelValue===1}]),onClick:t[1]||(t[1]=n=>e.onClick(1))}," 1 ",2)):f("",!0),e.showQuickPrevious?(l(),o("li",{key:2,class:z(["pagination-item -quick-previous",{"-disabled":!e.quickLink}]),onClick:t[2]||(t[2]=(...n)=>e.quickPrevious&&e.quickPrevious(...n))}," … ",2)):f("",!0),(l(!0),o(j,null,X(e.pages,n=>(l(),o("li",{class:z(["pagination-item",{"-active":e.modelValue===n}]),"aria-current":e.modelValue===n&&"page",onClick:b=>e.onClick(n)},_(n),11,rs))),256)),e.showQuickNext?(l(),o("li",{key:3,class:z(["pagination-item -quick-next",{"-disabled":!e.quickLink}]),onClick:t[3]||(t[3]=(...n)=>e.quickNext&&e.quickNext(...n))}," … ",2)):f("",!0),e.pageCount>1?(l(),o("li",{key:4,class:z(["pagination-item -last",{"-active":e.modelValue===e.pageCount}]),onClick:t[4]||(t[4]=n=>e.onClick(e.pageCount))},_(e.pageCount),3)):f("",!0),e.pageCount>0?(l(),o("li",{key:5,class:z(["pagination-item -next",{"-disabled":e.modelValue===e.pageCount}]),onClick:t[5]||(t[5]=(...n)=>e.next&&e.next(...n))},[m("span",os,[d(e.$slots,"next",{},()=>[t[7]||(t[7]=P(">"))])])],2)):f("",!0)])],16,ss)}]]),ze="IPopover",us=c({name:ze,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(ze,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("popover")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ze,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cs=["id"],ps=["aria-describedby","aria-disabled","aria-expanded"],hs=["id","aria-hidden"],ms={key:0,"data-popper-arrow":""},fs={key:1,class:"popover-header"},bs={key:2,class:"popover-body"},ys={key:3,class:"popover-footer"},vs=p(us,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["popover-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"popover-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,ps),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"popover",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",ms)):f("",!0),e.$slots.header?(l(),o("div",fs,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",bs,[d(e.$slots,"body")])):f("",!0),e.$slots.footer?(l(),o("div",ys,[d(e.$slots,"footer")])):f("",!0)],8,hs),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cs)),[[n,e.onClickOutside]])}]]),Ae="IProgress",gs=p(c({name:Ae,provide(){return{progress:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ae,"color")},min:{type:[String,Number],default:0},max:{type:[String,Number],default:100},size:{type:String,default:u(Ae,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress",e.classes]}),[d(e.$slots,"default")],16)}]]),at="IProgressBar",ks=c({name:at,inject:{progress:{default:()=>({min:0,max:100})}},inheritAttrs:!1,props:{color:{type:String,default:u(at,"color","primary")},value:{type:[String,Number],default:0}},computed:{computedValue(){const e=typeof this.min=="string"?parseFloat(this.min):this.min;return 100*((typeof this.value=="string"?parseFloat(this.value.replace("%","")):this.value)-e)/((typeof this.max=="string"?parseFloat(this.max):this.max)-e)},min(){return this.progress.min},max(){return this.progress.max},style(){return{width:`${this.computedValue}%`}},classes(){return{...g(this)}}}}),$s=["aria-valuemin","aria-valuemax","aria-valuenow"],ws=p(ks,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress-bar",e.classes],style:e.style,role:"progressbar","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.computedValue}),[d(e.$slots,"default")],16,$s)}]]),Ve="IRadio",Is=c({name:Ve,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Ve,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:""},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("radio")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Ve,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked===this.value},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),xs=["checked","name","disabled","readonly",".indeterminate"],Cs=["aria-checked","aria-disabled","aria-readonly","tabindex"],Ss=p(Is,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["radio",e.classes],role:"radio"}),[m("input",{checked:e.checked,ref:"input",type:"radio",tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,xs),m("label",{class:"radio-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,Cs)],16)}]]),Oe="IRadioGroup",Bs=c({name:Oe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Oe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},modelValue:{default:""},name:{type:[String,Number],default:()=>S("radio-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Oe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e),this.$emit("update:modelValue",e)}}}),zs=["name"],As=p(Bs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["form-group radio-group",e.classes],name:e.name,role:"radiogroup"}),[d(e.$slots,"default",{},void 0,!0)],16,zs)}],["__scopeId","data-v-fa4fe77a"]]),Vs=c({name:"ISelectOption",inject:{select:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},label:{type:String,default:""},tabindex:{type:[Number,String],default:0},value:{type:[Object,String,Number],default:()=>({})}},computed:{ariaDisabled(){return this.disabled?"true":"false"},ariaSelected(){return this.active?"true":"false"},isActive(){return this.active||this.value===this.select.modelValue},classes(){return{"-active":this.isActive,"-disabled":this.disabled}},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(){this.disabled||this.select.onInput(this.value,this.label)}}}),Os=["tabindex","aria-disabled","aria-selected"],It=p(Vs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["select-option",e.classes],role:"option",tabindex:e.tabIndex,"aria-disabled":e.ariaDisabled,"aria-selected":e.ariaSelected,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default",{},()=>[P(_(e.label),1)])],16,Os)}]]),Le="ISelect",Ls=c({name:Le,directives:{ClickOutside:K},components:{IInput:te,IIcon:$t,ISelectOption:It,IMark:wt},mixins:[R,ee],provide(){return{select:this}},props:{animationDuration:{type:Number,default:300},autocomplete:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},color:{type:String,default:u(Le,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},idField:{type:String,default:"id"},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},label:{type:[String,Function],default:"label"},loading:{type:Boolean,default:!1},modelValue:{type:[Object,String,Number],default:null},minLength:{type:Number,default:0},name:{type:[String,Number],default:()=>S("select")},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},offset:{type:Number,default:6},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({modifiers:[...bt({offset:8}),{name:"sameWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect({state:e}){e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`}}]})},readonly:{type:Boolean,default:!1},scrollTolerance:{type:Number,default:160},selectFirstOptionOnEnter:{type:Boolean,default:!0},size:{type:String,default:u(Le,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},total:{type:Number,default:void 0}},emits:["update:modelValue","search","pagination"],data(){return{animating:!1,visible:!1,inputValue:this.computeLabel(this.modelValue)||""}},computed:{wrapperClasses(){return{...g(this),[`-${this.size}`]:!!this.size}},popupClasses(){return{"-disabled":this.isDisabled,"-readonly":this.isReadonly}},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.value&&this.clearable&&!this.isDisabled&&!this.isReadonly},value(){return this.schema?this.schema.value:this.modelValue},inputPlaceholder(){return this.value?this.computeLabel(this.value):this.placeholder}},watch:{value(e){this.inputValue=this.computeLabel(e)},inputValue(e){const t=this.inputMatchesLength(e),i=this.inputMatchesLabel(e);!t||i||this.animating||this.show(),this.$emit("search",this.inputValue)},options(){this.visible&&this.createPopper()}},methods:{onInput(e,t){var i,a;e.disabled||(this.hide(),t&&(this.inputValue=t),(a=(i=this.parent).onInput)==null||a.call(i,this.name,e),this.$emit("update:modelValue",e))},onClear(){this.animating=!0,this.$emit("update:modelValue",null),this.$nextTick(()=>{this.animating=!1})},onFocus(e){!this.value&&this.options.length===0||(this.autocomplete&&(this.inputValue=""),(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&this.inputShouldShowSelect(this.inputValue)&&this.show())},onBlur(e){var t,i;(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&(this.hide(),this.inputValue=this.computeLabel(this.value)),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onClick(){this.autocomplete&&(this.inputValue=""),this.inputShouldShowSelect(this.inputValue)&&this.show()},onClickOutside(){this.hide()},onClickCaret(e){this.visible?this.onBlur(e):(this.focus(),this.onFocus(e)),e.preventDefault(),e.stopPropagation()},onScroll(){if(isNaN(this.total))return;const e=this.$refs.body.scrollTop+parseInt(getComputedStyle(this.$refs.body).height,10)>parseInt(getComputedStyle(this.$refs.options).height,10)-this.scrollTolerance,t=this.options.length>=this.total;e&&!t&&this.options.length>0&&!this.loading&&this.$emit("pagination")},onWindowResize(){this.onScroll(),this.visible&&this.$nextTick().then(()=>this.createPopper())},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):if(!this.selectFirstOptionOnEnter||this.value&&this.inputMatchesLabel(this.inputValue))this.onClick();else{const s=this.options.find(r=>!r.disabled);s&&(this.onInput(s),this.focus())}this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{this.animating=!1},this.animationDuration))},focus(){this.$refs.trigger.focus()},getFocusableItems(){const e=[];for(const t of this.$refs.options.children)Fe(t)&&e.push(t);return e},getElementHeight(e){const t=getComputedStyle(e);return t.height?Math.ceil(parseFloat(t.height)):NaN},inputMatchesLabel(e){return this.value&&e===this.computeLabel(this.value)},inputMatchesLength(e){return this.minLength===0||e&&e.length>=this.minLength},inputShouldShowSelect(e){return!this.autocomplete||this.inputMatchesLength(e)&&!this.inputMatchesLabel(e)},computeLabel(e){return typeof e!="object"?this.inputValue:dt(this.label)?this.label(e):M(e,this.label)}}}),Ds=["id","name","aria-owns","aria-expanded"],Ns=["id","aria-hidden"],Ts={key:0,"data-popper-arrow":""},Ps={key:1,class:"select-header"},Rs={key:0,class:"select-no-results"},Es={class:"select-options",ref:"options"},Ms={key:2,class:"select-footer"},_s=p(Ls,[["render",function(e,t,i,a,s,r){const n=A("i-input"),b=A("i-mark"),B=A("i-select-option"),F=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["select-wrapper",e.wrapperClasses],id:e.name,name:e.name,ref:"wrapper",role:"combobox","aria-haspopup":"listbox","aria-owns":`${e.name}-options`,"aria-expanded":e.visible?"true":"false",onKeyup:t[3]||(t[3]=E((...w)=>e.onEscape&&e.onEscape(...w),["esc"]))}),[I(n,{modelValue:e.inputValue,"onUpdate:modelValue":t[1]||(t[1]=w=>e.inputValue=w),ref:"trigger",autocomplete:"off","aria-autocomplete":"both","aria-controls":`${e.name}-options`,disabled:e.isDisabled,readonly:e.isReadonly,tabindex:e.tabIndex,plaintext:!e.autocomplete,placeholder:e.inputPlaceholder,clearable:e.isClearable,color:e.color,size:e.size,name:`${e.name}-input`,onClick:e.onClick,onFocus:e.onFocus,onBlur:e.onBlur,onClear:e.onClear,onKeydown:e.onTriggerKeyDown},Nt({suffix:y(()=>[d(e.$slots,"suffix"),m("button",{class:"select-caret","aria-hidden":"true",role:"button",onClick:t[0]||(t[0]=(...w)=>e.onClickCaret&&e.onClickCaret(...w))})]),_:2},[e.$slots.prepend?{name:"prepend",fn:y(()=>[d(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.prefix?{name:"prefix",fn:y(()=>[d(e.$slots,"prefix")]),key:"1"}:void 0,e.$slots.append?{name:"append",fn:y(()=>[d(e.$slots,"append")]),key:"2"}:void 0]),1032,["modelValue","aria-controls","disabled","readonly","tabindex","plaintext","placeholder","clearable","color","size","name","onClick","onFocus","onBlur","onClear","onKeydown"]),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["select",e.popupClasses]),id:`${e.name}-options`,role:"listbox",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Ts)):f("",!0),e.$slots.header?(l(),o("div",Ps,[d(e.$slots,"header")])):f("",!0),m("div",{class:"select-body",ref:"body",onScroll:t[2]||(t[2]=(...w)=>e.onScroll&&e.onScroll(...w))},[e.$slots.default||e.options.length!==0?f("",!0):(l(),o("div",Rs,[d(e.$slots,"no-results",{},()=>[t[4]||(t[4]=P(" There are no results for your query. "))])])),m("div",Es,[d(e.$slots,"default"),(l(!0),o(j,null,X(e.options,w=>(l(),V(B,{key:w[e.idField],active:e.value&&e.value[e.idField]===w[e.idField],disabled:w.disabled,value:w,onKeydown:e.onItemKeyDown},{default:y(()=>[d(e.$slots,"option",{option:w},()=>[e.autocomplete&&e.inputValue!==e.computeLabel(w)?(l(),V(b,{key:0,text:e.computeLabel(w),query:e.inputValue},null,8,["text","query"])):(l(),o(j,{key:1},[P(_(e.computeLabel(w)),1)],64))])]),_:2},1032,["active","disabled","value","onKeydown"]))),128))],512)],544),e.$slots.footer?(l(),o("div",Ms,[d(e.$slots,"footer")])):f("",!0)],10,Ns),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,Ds)),[[F,e.onClickOutside]])}]]),De="ISidebar",Fs=c({name:De,mixins:[ft],provide(){return{sidebar:this}},inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Sidebar"},collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},collapsePosition:{type:String,default:"absolute"},color:{type:String,default:u(De,"color")},placement:{type:String,default:"left"},size:{type:String,default:u(De,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size,[`-collapse-${this.collapsePosition}`]:!0,[`-placement-${this.placement}`]:!0}},sidebarWrapperTransition(){return this.collapsePosition!=="relative"?"sidebar-wrapper-none-transition":"sidebar-wrapper-transition"},sidebarTransition(){return this.collapsePosition!=="relative"?"sidebar-transition":"sidebar-none-transition"}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onOverlayClick(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),js=["aria-label"],Gs={class:"sidebar"},Zs={class:"sidebar-content"},Ks=p(Fs,[["render",function(e,t,i,a,s,r){return l(),V(L,{name:e.sidebarWrapperTransition},{default:y(()=>[$(m("aside",h(e.$attrs,{role:"complementary",class:["sidebar-wrapper",e.classes],"aria-label":e.ariaLabel,ref:"wrapper"}),[I(L,{name:e.sidebarTransition},{default:y(()=>[$(m("div",Gs,[m("div",Zs,[d(e.$slots,"default")])],512),[[x,e.collapsePosition==="relative"||e.open||!e.collapsible]])]),_:3},8,["name"]),I(L,{name:"sidebar-overlay-transition"},{default:y(()=>[e.collapsePosition!=="relative"?$((l(),o("div",{key:0,class:"sidebar-overlay",onClick:t[0]||(t[0]=(...n)=>e.onOverlayClick&&e.onOverlayClick(...n))},null,512)),[[x,e.open]]):f("",!0)]),_:1})],16,js),[[x,e.open||!e.collapsible]])]),_:3},8,["name"])}]]),st="ITable",qs=c({name:st,inheritAttrs:!1,props:{border:{type:Boolean,default:!1},condensed:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},responsive:{type:[Boolean,String],default:!0},nowrap:{type:Boolean,default:!1},color:{type:String,default:u(st,"color")}},computed:{classes(){return{...g(this),"-border":this.border,"-condensed":this.condensed,"-striped":this.striped,"-hover":this.hover,"-nowrap":this.nowrap,["-responsive"+(typeof this.responsive=="boolean"?"":`-${this.responsive}`)]:!!this.responsive}}}}),Ws={class:"table"},Us=p(qs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["table-wrapper",e.classes]}),[m("table",Ws,[d(e.$slots,"default")])],16)}]]),Ne="ITabs",Hs=c({name:Ne,provide(){return{tabs:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ne,"color")},modelValue:{type:String,default:""},size:{type:String,default:u(Ne,"size"),validator:v},stretch:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{active:this.modelValue,tabs:[]}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-stretch":this.stretch}}},watch:{modelValue(e){this.active=e}},methods:{setActive(e){this.active=e,this.$emit("update:modelValue",this.active)}}}),Qs={class:"tabs-header"},Ys=p(Hs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["tabs",e.classes],role:"tablist","aria-multiselectable":"true"}),[m("div",Qs,[d(e.$slots,"header")]),d(e.$slots,"default")],16)}]]),Js=c({name:"ITab",inject:{tabs:{default:()=>({})}},props:{title:{type:String,default:""},name:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.name},classes(){return{"-active":this.active}}}}),Xs=["name","aria-hidden","aria-labelledby"],en={class:"tab-body"},tn=p(Js,[["render",function(e,t,i,a,s,r){return $((l(),o("div",{class:z(["tab",e.classes]),role:"tabpanel",name:e.name,"aria-hidden":!e.active,"aria-labelledby":`tab-heading-${e.name}`},[m("div",en,[d(e.$slots,"default")])],10,Xs)),[[x,e.active]])}]]),an=c({name:"ITabTitle",inject:{tabs:{default:()=>({})}},props:{for:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.for},classes(){return{"-active":this.active}},name(){return this.for}},methods:{onClick(){this.tabs.setActive(this.for)}}}),sn=["for","active","aria-expanded","aria-controls","aria-describedby"],nn=p(an,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["tab-title",e.classes]),role:"tab",for:e.name,active:e.active,"aria-expanded":e.active,"aria-controls":`tab-content-${e.name}`,"aria-describedby":`tab-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},[d(e.$slots,"default")],10,sn)}]]),Te="IToggle",ln=c({name:Te,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Te,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("toggle")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Te,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly}},checked(){return this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),rn=["checked","disabled","readonly","aria-checked","aria-disabled","aria-readonly","name"],on=["aria-checked","aria-disabled","aria-readonly","tabindex"],dn=p(ln,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["toggle",e.classes]}),[m("input",{ref:"input",type:"checkbox",checked:e.checked,disabled:e.isDisabled,readonly:e.isReadonly,"aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,name:e.name,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,rn),m("label",{class:"toggle-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onClick:t[1]||(t[1]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onBlur:t[2]||(t[2]=(...n)=>e.onBlur&&e.onBlur(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,on)],16)}]]),Pe="ITooltip",un=c({name:Pe,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(Pe,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("tooltip")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["hover","focus"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(Pe,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cn=["id"],pn=["aria-describedby","aria-disabled","aria-expanded"],hn=["id","aria-hidden"],mn={key:0,"data-popper-arrow":""},fn=p(un,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["tooltip-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"tooltip-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,pn),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"tooltip",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",mn)):f("",!0),d(e.$slots,"body")],8,hn),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cn)),[[n,e.onClickOutside]])}]]),vn=Object.freeze(Object.defineProperty({__proto__:null,IAlert:Jt,IBadge:Xt,IBreadcrumb:ii,IBreadcrumbItem:ni,IButton:vt,IButtonGroup:ui,ICard:fi,ICheckbox:ki,ICheckboxGroup:Ii,ICollapsible:Ci,ICollapsibleItem:Oi,IColumn:Ze,IContainer:Ke,IDropdown:_i,IDropdownDivider:Fi,IDropdownItem:ji,IForm:Ki,IFormError:Yi,IFormGroup:Ui,IFormLabel:ea,IHamburgerMenu:kt,IHeader:ta,IIcon:$t,IInput:te,ILayout:Ba,ILayoutAside:Va,ILayoutContent:Oa,ILayoutFooter:La,ILayoutHeader:Da,IListGroup:Na,IListGroupItem:Ta,ILoader:yt,IMark:wt,IMedia:Fa,IModal:Ha,INav:Qa,INavItem:Ya,INavbar:Ja,INavbarBrand:Xa,INavbarCollapsible:is,INumberInput:va,IPagination:ds,IPopover:vs,IProgress:gs,IProgressBar:ws,IRadio:Ss,IRadioGroup:As,IRow:qe,ISelect:_s,ISelectOption:It,ISidebar:Ks,ITab:tn,ITabTitle:nn,ITable:Us,ITabs:Ys,ITextarea:Sa,IToggle:dn,ITooltip:fn},Symbol.toStringTag,{value:"Module"}));export{yn as I,p as _,vn as c}; diff --git a/packages/modules/display_themes/cards/web/index.html b/packages/modules/display_themes/cards/web/index.html index 8815664696..5ce676590f 100644 --- a/packages/modules/display_themes/cards/web/index.html +++ b/packages/modules/display_themes/cards/web/index.html @@ -6,10 +6,10 @@ openWB Display - Cards - - - - + + + + diff --git a/packages/modules/display_themes/colors/source/index.html b/packages/modules/display_themes/colors/source/index.html index d08e43190d..94b6cc3ee9 100644 --- a/packages/modules/display_themes/colors/source/index.html +++ b/packages/modules/display_themes/colors/source/index.html @@ -1,5 +1,5 @@ - + diff --git a/packages/modules/display_themes/colors/source/package-lock.json b/packages/modules/display_themes/colors/source/package-lock.json index c1571b9440..2a47deb3b6 100644 --- a/packages/modules/display_themes/colors/source/package-lock.json +++ b/packages/modules/display_themes/colors/source/package-lock.json @@ -1,12 +1,12 @@ { "name": "colordisplaytheme2", - "version": "2.1.0", + "version": "0.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "colordisplaytheme2", - "version": "2.1.0", + "version": "0.9.0", "license": "MIT", "dependencies": { "bootstrap": "^5.3.3", @@ -16,29 +16,29 @@ "vue": "^3.5.10" }, "devDependencies": { - "@babel/types": "^7.26.8", + "@babel/types": "^7.26.5", "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@esbuild-plugins/node-modules-polyfill": "^0.2.2", - "@eslint/compat": "^1.2.6", + "@eslint/compat": "^1.2.5", "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", "@rushstack/eslint-patch": "^1.10.5", - "@tsconfig/node22": "^22.0.0", + "@tsconfig/node20": "^20.1.4", "@types/bootstrap": "^5.2.10", "@types/d3": "^7.4.3", - "@types/node": "^22.13.1", + "@types/node": "^20.17.14", "@vitejs/plugin-vue": "^5.2.1", "@vue/eslint-config-prettier": "^10.2.0", "@vue/eslint-config-typescript": "^14.3.0", "@vue/tsconfig": "^0.7.0", "esbuild": "^0.24.2", - "eslint": "^9.20.0", + "eslint": "^9.18.0", "eslint-plugin-vue": "^9.32.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", - "rollup": "^4.34.6", + "rollup": "^4.31.0", "typescript": "^5.7.3", - "vite": "^6.1.0", + "vite": "^6.0.7", "vue-tsc": "^2.2.0" } }, @@ -46,7 +46,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -55,18 +54,16 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", - "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "dependencies": { - "@babel/types": "^7.26.8" + "@babel/types": "^7.26.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -76,10 +73,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", - "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -88,10 +84,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", - "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -105,7 +100,6 @@ "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz", "integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==", "dev": true, - "license": "ISC", "peerDependencies": { "esbuild": "*" } @@ -115,7 +109,6 @@ "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz", "integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==", "dev": true, - "license": "ISC", "dependencies": { "escape-string-regexp": "^4.0.0", "rollup-plugin-node-polyfills": "^0.2.1" @@ -132,7 +125,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -149,7 +141,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -166,7 +157,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -183,7 +173,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -200,7 +189,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -217,7 +205,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -234,7 +221,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -251,7 +237,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -268,7 +253,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -285,7 +269,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -302,7 +285,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -319,7 +301,6 @@ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -336,7 +317,6 @@ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -353,7 +333,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -370,7 +349,6 @@ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -387,7 +365,6 @@ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -404,7 +381,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -421,7 +397,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -438,7 +413,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -455,7 +429,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -472,7 +445,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -489,7 +461,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -506,7 +477,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -523,7 +493,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -540,7 +509,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -554,7 +522,6 @@ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" }, @@ -573,17 +540,15 @@ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/compat": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.6.tgz", - "integrity": "sha512-k7HNCqApoDHM6XzT30zGoETj+D+uUcZUb+IVAJmar3u6bvHf7hhHJcWx09QHj4/a2qrKZMWU0E16tvkiAdv06Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.5.tgz", + "integrity": "sha512-5iuG/StT+7OfvhoBHPlmxkPA9om6aDUFgmD4+mWKAGsYt4vCe8rypneG03AuseyRHBmcCLXQtIH5S26tIoggLg==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -597,13 +562,12 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.6", + "@eslint/object-schema": "^2.1.5", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -612,11 +576,10 @@ } }, "node_modules/@eslint/core": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", - "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, @@ -629,7 +592,6 @@ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -649,21 +611,19 @@ } }, "node_modules/@eslint/js": { - "version": "9.20.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", - "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", + "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -673,7 +633,6 @@ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@eslint/core": "^0.10.0", "levn": "^0.4.1" @@ -682,25 +641,11 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", - "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=18.18.0" } @@ -710,7 +655,6 @@ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" @@ -724,7 +668,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -738,7 +681,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -752,7 +694,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -764,15 +705,13 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "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==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -786,7 +725,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } @@ -796,7 +734,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -810,7 +747,6 @@ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, @@ -822,7 +758,6 @@ "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" @@ -832,7 +767,6 @@ "version": "5.0.5", "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", @@ -853,14 +787,12 @@ "node_modules/@rollup/plugin-inject/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@rollup/plugin-inject/node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } @@ -869,7 +801,6 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -890,14 +821,12 @@ "node_modules/@rollup/pluginutils/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@rollup/pluginutils/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "license": "MIT", "engines": { "node": ">=12" }, @@ -906,247 +835,228 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.6.tgz", - "integrity": "sha512-+GcCXtOQoWuC7hhX1P00LqjjIiS/iOouHXhMdiDSnq/1DGTox4SpUvO52Xm+div6+106r+TcvOeo/cxvyEyTgg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz", + "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==", "cpu": [ "arm" ], - "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.6.tgz", - "integrity": "sha512-E8+2qCIjciYUnCa1AiVF1BkRgqIGW9KzJeesQqVfyRITGQN+dFuoivO0hnro1DjT74wXLRZ7QF8MIbz+luGaJA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz", + "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.6.tgz", - "integrity": "sha512-z9Ib+OzqN3DZEjX7PDQMHEhtF+t6Mi2z/ueChQPLS/qUMKY7Ybn5A2ggFoKRNRh1q1T03YTQfBTQCJZiepESAg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz", + "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.6.tgz", - "integrity": "sha512-PShKVY4u0FDAR7jskyFIYVyHEPCPnIQY8s5OcXkdU8mz3Y7eXDJPdyM/ZWjkYdR2m0izD9HHWA8sGcXn+Qrsyg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz", + "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.6.tgz", - "integrity": "sha512-YSwyOqlDAdKqs0iKuqvRHLN4SrD2TiswfoLfvYXseKbL47ht1grQpq46MSiQAx6rQEN8o8URtpXARCpqabqxGQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz", + "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.6.tgz", - "integrity": "sha512-HEP4CgPAY1RxXwwL5sPFv6BBM3tVeLnshF03HMhJYCNc6kvSqBgTMmsEjb72RkZBAWIqiPUyF1JpEBv5XT9wKQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz", + "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.6.tgz", - "integrity": "sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz", + "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==", "cpu": [ "arm" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.6.tgz", - "integrity": "sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz", + "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==", "cpu": [ "arm" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.6.tgz", - "integrity": "sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz", + "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.6.tgz", - "integrity": "sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz", + "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.6.tgz", - "integrity": "sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz", + "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==", "cpu": [ "loong64" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.6.tgz", - "integrity": "sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz", + "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==", "cpu": [ "ppc64" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.6.tgz", - "integrity": "sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz", + "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==", "cpu": [ "riscv64" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.6.tgz", - "integrity": "sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz", + "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==", "cpu": [ "s390x" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.6.tgz", - "integrity": "sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz", + "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.6.tgz", - "integrity": "sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz", + "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.6.tgz", - "integrity": "sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz", + "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.6.tgz", - "integrity": "sha512-oLHxuyywc6efdKVTxvc0135zPrRdtYVjtVD5GUm55I3ODxhU/PwkQFD97z16Xzxa1Fz0AEe4W/2hzRtd+IfpOA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz", + "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==", "cpu": [ "ia32" ], - "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.6.tgz", - "integrity": "sha512-0PVwmgzZ8+TZ9oGBmdZoQVXflbvuwzN/HRclujpl4N/q3i+y0lqLw8n1bXA8ru3sApDjlmONaNAuYr38y1Kr9w==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz", + "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "win32" @@ -1156,22 +1066,19 @@ "version": "1.10.5", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.5.tgz", "integrity": "sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==", - "dev": true, - "license": "MIT" + "dev": true }, - "node_modules/@tsconfig/node22": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.0.tgz", - "integrity": "sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==", - "dev": true, - "license": "MIT" + "node_modules/@tsconfig/node20": { + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz", + "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==", + "dev": true }, "node_modules/@types/bootstrap": { "version": "5.2.10", "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.10.tgz", "integrity": "sha512-F2X+cd6551tep0MvVZ6nM8v7XgGN/twpdNDjqS1TUM7YFNEtQYWk+dKAnH+T1gr6QgCoGMPl487xw/9hXooa2g==", "dev": true, - "license": "MIT", "dependencies": { "@popperjs/core": "^2.9.2" } @@ -1181,7 +1088,6 @@ "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-array": "*", "@types/d3-axis": "*", @@ -1219,15 +1125,13 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-axis": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -1237,7 +1141,6 @@ "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -1246,22 +1149,19 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-color": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-contour": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-array": "*", "@types/geojson": "*" @@ -1271,22 +1171,19 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-dispatch": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-drag": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -1295,22 +1192,19 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-ease": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-fetch": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-dsv": "*" } @@ -1319,22 +1213,19 @@ "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-format": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-geo": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/geojson": "*" } @@ -1343,53 +1234,46 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-interpolate": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-color": "*" } }, "node_modules/@types/d3-path": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", - "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", - "dev": true, - "license": "MIT" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==", + "dev": true }, "node_modules/@types/d3-polygon": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-quadtree": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-random": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-scale": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", - "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-time": "*" } @@ -1398,22 +1282,19 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-selection": { "version": "3.0.11", "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-shape": { "version": "3.1.7", "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-path": "*" } @@ -1422,29 +1303,25 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-time-format": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-timer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/d3-transition": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -1454,7 +1331,6 @@ "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", "dev": true, - "license": "MIT", "dependencies": { "@types/d3-interpolate": "*", "@types/d3-selection": "*" @@ -1463,67 +1339,60 @@ "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "license": "MIT" + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "node_modules/@types/geojson": { - "version": "7946.0.16", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", - "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", - "dev": true, - "license": "MIT" + "version": "7946.0.15", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.15.tgz", + "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==", + "dev": true }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/node": { - "version": "22.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", - "license": "MIT", + "version": "20.17.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.14.tgz", + "integrity": "sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.19.2" } }, "node_modules/@types/readable-stream": { "version": "4.0.18", "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.18.tgz", "integrity": "sha512-21jK/1j+Wg+7jVw1xnSwy/2Q1VgVjWuFssbYGTREPUBeZ+rqVFl2udq0IkxzPC0ZhOzVceUbyIACFZKLqKEBlA==", - "license": "MIT", "dependencies": { "@types/node": "*", "safe-buffer": "~5.1.1" } }, "node_modules/@types/ws": { - "version": "8.5.14", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz", - "integrity": "sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==", - "license": "MIT", + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.23.0.tgz", - "integrity": "sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz", + "integrity": "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/type-utils": "8.23.0", - "@typescript-eslint/utils": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/type-utils": "8.20.0", + "@typescript-eslint/utils": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1539,16 +1408,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.23.0.tgz", - "integrity": "sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz", + "integrity": "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/typescript-estree": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/typescript-estree": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "debug": "^4.3.4" }, "engines": { @@ -1564,14 +1432,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz", - "integrity": "sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz", + "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0" + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1582,16 +1449,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.23.0.tgz", - "integrity": "sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz", + "integrity": "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.23.0", - "@typescript-eslint/utils": "8.23.0", + "@typescript-eslint/typescript-estree": "8.20.0", + "@typescript-eslint/utils": "8.20.0", "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1606,11 +1472,10 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.23.0.tgz", - "integrity": "sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz", + "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -1620,20 +1485,19 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz", - "integrity": "sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz", + "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1651,7 +1515,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -1661,7 +1524,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1673,16 +1535,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.23.0.tgz", - "integrity": "sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz", + "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/typescript-estree": "8.23.0" + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/typescript-estree": "8.20.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1697,13 +1558,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz", - "integrity": "sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz", + "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/types": "8.20.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -1719,7 +1579,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -1732,7 +1591,6 @@ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", "dev": true, - "license": "MIT", "engines": { "node": "^18.0.0 || >=20.0.0" }, @@ -1746,7 +1604,6 @@ "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.11.tgz", "integrity": "sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==", "dev": true, - "license": "MIT", "dependencies": { "@volar/source-map": "2.4.11" } @@ -1755,15 +1612,13 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.11.tgz", "integrity": "sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@volar/typescript": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.11.tgz", "integrity": "sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==", "dev": true, - "license": "MIT", "dependencies": { "@volar/language-core": "2.4.11", "path-browserify": "^1.0.1", @@ -1774,7 +1629,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", - "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.13", @@ -1786,14 +1640,12 @@ "node_modules/@vue/compiler-core/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-dom": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", - "license": "MIT", "dependencies": { "@vue/compiler-core": "3.5.13", "@vue/shared": "3.5.13" @@ -1803,7 +1655,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", - "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", "@vue/compiler-core": "3.5.13", @@ -1819,14 +1670,12 @@ "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-sfc/node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } @@ -1835,7 +1684,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", - "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" @@ -1846,7 +1694,6 @@ "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", "dev": true, - "license": "MIT", "dependencies": { "de-indent": "^1.0.2", "he": "^1.2.0" @@ -1857,7 +1704,6 @@ "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz", "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==", "dev": true, - "license": "MIT", "dependencies": { "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.2" @@ -1872,7 +1718,6 @@ "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.3.0.tgz", "integrity": "sha512-bOreIxlSC/xsUdhDdKIHb1grwJah+IokNeJ50LqA1StdOHeSPUxSIPNxyKgRx4YdjhyzC6TKtrCf6yYK99x3Uw==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^8.20.0", "fast-glob": "^3.3.3", @@ -1898,7 +1743,6 @@ "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz", "integrity": "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==", "dev": true, - "license": "MIT", "dependencies": { "@volar/language-core": "~2.4.11", "@vue/compiler-dom": "^3.5.0", @@ -1923,7 +1767,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -1933,7 +1776,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1948,7 +1790,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", - "license": "MIT", "dependencies": { "@vue/shared": "3.5.13" } @@ -1957,7 +1798,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", - "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.13", "@vue/shared": "3.5.13" @@ -1967,7 +1807,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", - "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.13", "@vue/runtime-core": "3.5.13", @@ -1979,7 +1818,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", - "license": "MIT", "dependencies": { "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13" @@ -1991,15 +1829,13 @@ "node_modules/@vue/shared": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", - "license": "MIT" + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==" }, "node_modules/@vue/tsconfig": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", "dev": true, - "license": "MIT", "peerDependencies": { "typescript": "5.x", "vue": "^3.4.0" @@ -2017,7 +1853,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -2030,7 +1865,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2043,7 +1877,6 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -2053,7 +1886,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2069,15 +1901,13 @@ "version": "0.4.14", "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz", "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", - "dev": true, - "license": "MIT" + "dev": true }, "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" }, @@ -2092,15 +1922,13 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" + "dev": true }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/base64-js": { "version": "1.5.1", @@ -2119,14 +1947,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/bl": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.19.tgz", - "integrity": "sha512-4Ay3A3oDfGg3GGirhl4s62ebtnk0pJZA5mLp672MPKOQXsWvXjEF4dqdXySjJIs7b9OVr/O8aOo0Lm+xdjo2JA==", - "license": "MIT", + "version": "6.0.18", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.18.tgz", + "integrity": "sha512-2k76XmWCuvu9HTvu3tFOl5HDdCH0wLZ/jHYva/LBVJmc9oX8yUtNQjxrFmbTdXsCSmIxwVTANZPNDfMQrvHFUw==", "dependencies": { "@types/readable-stream": "^4.0.0", "buffer": "^6.0.3", @@ -2138,8 +1964,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/bootstrap": { "version": "5.3.3", @@ -2155,7 +1980,6 @@ "url": "https://opencollective.com/bootstrap" } ], - "license": "MIT", "peerDependencies": { "@popperjs/core": "^2.11.8" } @@ -2165,7 +1989,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2176,7 +1999,6 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -2202,7 +2024,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -2211,15 +2032,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" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -2229,7 +2048,6 @@ "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" @@ -2246,7 +2064,6 @@ "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" }, @@ -2258,14 +2075,12 @@ "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" + "dev": true }, "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" } @@ -2273,15 +2088,13 @@ "node_modules/commist": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/commist/-/commist-3.2.0.tgz", - "integrity": "sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw==", - "license": "MIT" + "integrity": "sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw==" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/concat-stream": { "version": "2.0.0", @@ -2290,7 +2103,6 @@ "engines": [ "node >= 6.0" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -2302,7 +2114,6 @@ "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", @@ -2317,7 +2128,6 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2332,7 +2142,6 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, - "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -2343,14 +2152,12 @@ "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" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/d3": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", - "license": "ISC", "dependencies": { "d3-array": "3", "d3-axis": "3", @@ -2391,7 +2198,6 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "license": "ISC", "dependencies": { "internmap": "1 - 2" }, @@ -2403,7 +2209,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2412,7 +2217,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -2428,7 +2232,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "license": "ISC", "dependencies": { "d3-path": "1 - 3" }, @@ -2440,7 +2243,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2449,7 +2251,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "license": "ISC", "dependencies": { "d3-array": "^3.2.0" }, @@ -2461,7 +2262,6 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "license": "ISC", "dependencies": { "delaunator": "5" }, @@ -2473,7 +2273,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2482,7 +2281,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" @@ -2495,7 +2293,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "license": "ISC", "dependencies": { "commander": "7", "iconv-lite": "0.6", @@ -2520,7 +2317,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "license": "BSD-3-Clause", "engines": { "node": ">=12" } @@ -2529,7 +2325,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "license": "ISC", "dependencies": { "d3-dsv": "1 - 3" }, @@ -2541,7 +2336,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-quadtree": "1 - 3", @@ -2555,7 +2349,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2564,7 +2357,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", - "license": "ISC", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -2576,7 +2368,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2585,7 +2376,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "license": "ISC", "dependencies": { "d3-color": "1 - 3" }, @@ -2597,7 +2387,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2606,7 +2395,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2615,7 +2403,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2624,7 +2411,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2633,7 +2419,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "license": "ISC", "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", @@ -2649,7 +2434,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", - "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-interpolate": "1 - 3" @@ -2662,7 +2446,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2671,7 +2454,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "license": "ISC", "dependencies": { "d3-path": "^3.1.0" }, @@ -2683,7 +2465,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "license": "ISC", "dependencies": { "d3-array": "2 - 3" }, @@ -2695,7 +2476,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "license": "ISC", "dependencies": { "d3-time": "1 - 3" }, @@ -2707,7 +2487,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2716,7 +2495,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", @@ -2735,7 +2513,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -2751,14 +2528,12 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -2775,14 +2550,12 @@ "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/delaunator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", - "license": "ISC", "dependencies": { "robust-predicates": "^3.0.2" } @@ -2791,7 +2564,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -2805,7 +2577,6 @@ "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -2845,7 +2616,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -2854,18 +2624,17 @@ } }, "node_modules/eslint": { - "version": "9.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.0.tgz", - "integrity": "sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", + "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.11.0", + "@eslint/core": "^0.10.0", "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.20.0", + "@eslint/js": "9.18.0", "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -2918,7 +2687,6 @@ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz", "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "build/bin/cli.js" }, @@ -2931,7 +2699,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz", "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==", "dev": true, - "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", "synckit": "^0.9.1" @@ -2962,7 +2729,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.32.0.tgz", "integrity": "sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "globals": "^13.24.0", @@ -2985,7 +2751,6 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -3001,7 +2766,6 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -3018,7 +2782,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3031,7 +2794,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -3044,7 +2806,6 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", @@ -3062,7 +2823,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -3075,7 +2835,6 @@ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -3088,7 +2847,6 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -3101,7 +2859,6 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -3110,15 +2867,13 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -3127,7 +2882,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "license": "MIT", "engines": { "node": ">=6" } @@ -3136,7 +2890,6 @@ "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" } @@ -3145,22 +2898,19 @@ "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/fast-diff": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true, - "license": "Apache-2.0" + "dev": true }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -3177,7 +2927,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -3189,21 +2938,18 @@ "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==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/fast-unique-numbers": { "version": "8.0.13", "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-8.0.13.tgz", "integrity": "sha512-7OnTFAVPefgw2eBJ1xj2PGGR9FwYzSUso9decayHgCDX4sJkHLdcsYTytTg+tYv+wKF3U8gJuSBz2jJpQV4u/g==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.8", "tslib": "^2.6.2" @@ -3213,11 +2959,10 @@ } }, "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", "dev": true, - "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -3227,7 +2972,6 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" }, @@ -3240,7 +2984,6 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3253,7 +2996,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -3270,7 +3012,6 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" @@ -3283,15 +3024,13 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true, - "license": "ISC" + "dev": true }, "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" @@ -3305,7 +3044,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -3318,7 +3056,6 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3330,15 +3067,13 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" + "dev": true }, "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" } @@ -3348,7 +3083,6 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, - "license": "MIT", "bin": { "he": "bin/he" } @@ -3356,14 +3090,12 @@ "node_modules/help-me": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", - "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==", - "license": "MIT" + "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==" }, "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" }, @@ -3388,25 +3120,22 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3423,7 +3152,6 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -3431,14 +3159,12 @@ "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" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/internmap": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "license": "ISC", "engines": { "node": ">=12" } @@ -3448,7 +3174,6 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3458,7 +3183,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3471,7 +3195,6 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -3480,14 +3203,12 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/js-sdsl": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/js-sdsl" @@ -3498,7 +3219,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -3510,15 +3230,13 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", "dev": true, - "license": "MIT", "engines": { "node": "^18.17.0 || >=20.5.0" } @@ -3527,22 +3245,19 @@ "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==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", "dev": true, - "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -3552,7 +3267,6 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3566,7 +3280,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -3581,28 +3294,24 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "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==", "dev": true, - "license": "MIT", "dependencies": { "sourcemap-codec": "^1.4.8" } @@ -3621,7 +3330,6 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } @@ -3631,7 +3339,6 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -3645,7 +3352,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3657,7 +3363,6 @@ "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" } @@ -3666,7 +3371,6 @@ "version": "5.10.3", "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.10.3.tgz", "integrity": "sha512-hA/6YrUS4fywhBGCjH/XXUuLeueJiPqruVVWjK2A24Ma4KcWfZ/x8x07aoesBV+HXDWBC08tbT4IWfSXNW0Jtw==", - "license": "MIT", "dependencies": { "@types/readable-stream": "^4.0.5", "@types/ws": "^8.5.9", @@ -3698,7 +3402,6 @@ "version": "9.0.1", "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-9.0.1.tgz", "integrity": "sha512-koZF1V/X2RZUI6uD9wN5OK1JxxcG1ofAR4H3LjCw1FkeKzruZQ26aAA6v2m1lZyWONZIR5wMMJFrZJDRNzbiQw==", - "license": "MIT", "dependencies": { "bl": "^6.0.8", "debug": "^4.3.4", @@ -3708,15 +3411,13 @@ "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" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/muggle-string": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/nanoid": { "version": "3.3.8", @@ -3728,7 +3429,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -3740,15 +3440,13 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/npm-normalize-package-bin": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", "dev": true, - "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } @@ -3758,7 +3456,6 @@ "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-7.0.2.tgz", "integrity": "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", "cross-spawn": "^7.0.6", @@ -3785,7 +3482,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -3798,7 +3494,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -3808,7 +3503,6 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "license": "ISC", "engines": { "node": ">=16" } @@ -3818,7 +3512,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3834,7 +3527,6 @@ "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^3.1.1" }, @@ -3850,7 +3542,6 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -3862,7 +3553,6 @@ "version": "1.0.14", "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz", "integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==", - "license": "MIT", "dependencies": { "debug": "^4.3.1", "js-sdsl": "4.3.0" @@ -3873,7 +3563,6 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -3891,7 +3580,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3907,7 +3595,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3923,7 +3610,6 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -3935,15 +3621,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3953,7 +3637,6 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3961,15 +3644,13 @@ "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3982,7 +3663,6 @@ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, - "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -4008,7 +3688,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -4023,7 +3702,6 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -4037,7 +3715,6 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -4047,7 +3724,6 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -4063,7 +3739,6 @@ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -4075,7 +3750,6 @@ "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" } @@ -4083,15 +3757,13 @@ "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" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "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" } @@ -4114,15 +3786,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/read-package-json-fast": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", "dev": true, - "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" @@ -4135,7 +3805,6 @@ "version": "4.7.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -4150,21 +3819,18 @@ "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" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/reinterval": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", - "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==", - "license": "MIT" + "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==" }, "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==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -4174,7 +3840,6 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4183,20 +3848,17 @@ "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "license": "MIT" + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" }, "node_modules/robust-predicates": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", - "license": "Unlicense" + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.6.tgz", - "integrity": "sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==", - "license": "MIT", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz", + "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==", "dependencies": { "@types/estree": "1.0.6" }, @@ -4208,25 +3870,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.6", - "@rollup/rollup-android-arm64": "4.34.6", - "@rollup/rollup-darwin-arm64": "4.34.6", - "@rollup/rollup-darwin-x64": "4.34.6", - "@rollup/rollup-freebsd-arm64": "4.34.6", - "@rollup/rollup-freebsd-x64": "4.34.6", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.6", - "@rollup/rollup-linux-arm-musleabihf": "4.34.6", - "@rollup/rollup-linux-arm64-gnu": "4.34.6", - "@rollup/rollup-linux-arm64-musl": "4.34.6", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.6", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.6", - "@rollup/rollup-linux-riscv64-gnu": "4.34.6", - "@rollup/rollup-linux-s390x-gnu": "4.34.6", - "@rollup/rollup-linux-x64-gnu": "4.34.6", - "@rollup/rollup-linux-x64-musl": "4.34.6", - "@rollup/rollup-win32-arm64-msvc": "4.34.6", - "@rollup/rollup-win32-ia32-msvc": "4.34.6", - "@rollup/rollup-win32-x64-msvc": "4.34.6", + "@rollup/rollup-android-arm-eabi": "4.31.0", + "@rollup/rollup-android-arm64": "4.31.0", + "@rollup/rollup-darwin-arm64": "4.31.0", + "@rollup/rollup-darwin-x64": "4.31.0", + "@rollup/rollup-freebsd-arm64": "4.31.0", + "@rollup/rollup-freebsd-x64": "4.31.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.31.0", + "@rollup/rollup-linux-arm-musleabihf": "4.31.0", + "@rollup/rollup-linux-arm64-gnu": "4.31.0", + "@rollup/rollup-linux-arm64-musl": "4.31.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.31.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0", + "@rollup/rollup-linux-riscv64-gnu": "4.31.0", + "@rollup/rollup-linux-s390x-gnu": "4.31.0", + "@rollup/rollup-linux-x64-gnu": "4.31.0", + "@rollup/rollup-linux-x64-musl": "4.31.0", + "@rollup/rollup-win32-arm64-msvc": "4.31.0", + "@rollup/rollup-win32-ia32-msvc": "4.31.0", + "@rollup/rollup-win32-x64-msvc": "4.31.0", "fsevents": "~2.3.2" } }, @@ -4236,7 +3898,6 @@ "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", "dev": true, - "license": "MIT", "dependencies": { "estree-walker": "^0.6.1", "magic-string": "^0.25.3", @@ -4248,7 +3909,6 @@ "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", "dev": true, - "license": "MIT", "dependencies": { "rollup-plugin-inject": "^3.0.0" } @@ -4257,7 +3917,6 @@ "version": "0.13.0", "resolved": "https://registry.npmjs.org/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.13.0.tgz", "integrity": "sha512-FYEvpCaD5jGtyBuBFcQImEGmTxDTPbiHjJdrYIp+mFIwgXiXabxvKUK7ZT9P31ozu2Tqm9llYQMRWsfvTMTAOw==", - "license": "MIT", "dependencies": { "@rollup/plugin-inject": "^5.0.4" }, @@ -4270,7 +3929,6 @@ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", "dev": true, - "license": "MIT", "dependencies": { "estree-walker": "^0.6.1" } @@ -4294,7 +3952,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -4302,27 +3959,23 @@ "node_modules/rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "license": "BSD-3-Clause" + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, "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" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "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" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4335,7 +3988,6 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4348,7 +4000,6 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -4358,7 +4009,6 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4370,7 +4020,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -4380,14 +4029,12 @@ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "license": "ISC", "engines": { "node": ">= 10.x" } @@ -4396,7 +4043,6 @@ "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" } @@ -4418,15 +4064,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "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==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -4439,7 +4083,6 @@ "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" }, @@ -4452,7 +4095,6 @@ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", "dev": true, - "license": "MIT", "dependencies": { "@pkgr/core": "^0.1.0", "tslib": "^2.6.2" @@ -4469,7 +4111,6 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -4478,11 +4119,10 @@ } }, "node_modules/ts-api-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", - "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", + "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, @@ -4493,15 +4133,13 @@ "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "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==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -4514,7 +4152,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -4525,15 +4162,13 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "license": "MIT" + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "node_modules/typescript": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "devOptional": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4543,15 +4178,14 @@ } }, "node_modules/typescript-eslint": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.23.0.tgz", - "integrity": "sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.20.0.tgz", + "integrity": "sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.23.0", - "@typescript-eslint/parser": "8.23.0", - "@typescript-eslint/utils": "8.23.0" + "@typescript-eslint/eslint-plugin": "8.20.0", + "@typescript-eslint/parser": "8.20.0", + "@typescript-eslint/utils": "8.20.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4566,17 +4200,15 @@ } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "license": "MIT" + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -4584,19 +4216,17 @@ "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" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vite": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.0.tgz", - "integrity": "sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz", + "integrity": "sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==", "dev": true, - "license": "MIT", "dependencies": { "esbuild": "^0.24.2", - "postcss": "^8.5.1", - "rollup": "^4.30.1" + "postcss": "^8.4.49", + "rollup": "^4.23.0" }, "bin": { "vite": "bin/vite.js" @@ -4660,17 +4290,15 @@ } }, "node_modules/vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", - "dev": true, - "license": "MIT" + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true }, "node_modules/vue": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", - "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/compiler-sfc": "3.5.13", @@ -4692,7 +4320,6 @@ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^4.3.4", "eslint-scope": "^7.1.1", @@ -4717,7 +4344,6 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -4734,7 +4360,6 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -4752,7 +4377,6 @@ "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.0.tgz", "integrity": "sha512-gtmM1sUuJ8aSb0KoAFmK9yMxb8TxjewmxqTJ1aKphD5Cbu0rULFY6+UQT51zW7SpUcenfPUuflKyVwyx9Qdnxg==", "dev": true, - "license": "MIT", "dependencies": { "@volar/typescript": "~2.4.11", "@vue/language-core": "2.2.0" @@ -4769,7 +4393,6 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4785,7 +4408,6 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4794,7 +4416,6 @@ "version": "7.1.8", "resolved": "https://registry.npmjs.org/worker-timers/-/worker-timers-7.1.8.tgz", "integrity": "sha512-R54psRKYVLuzff7c1OTFcq/4Hue5Vlz4bFtNEIarpSiCYhpifHU3aIQI29S84o1j87ePCYqbmEJPqwBTf+3sfw==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.24.5", "tslib": "^2.6.2", @@ -4806,7 +4427,6 @@ "version": "6.1.8", "resolved": "https://registry.npmjs.org/worker-timers-broker/-/worker-timers-broker-6.1.8.tgz", "integrity": "sha512-FUCJu9jlK3A8WqLTKXM9E6kAmI/dR1vAJ8dHYLMisLNB/n3GuaFIjJ7pn16ZcD1zCOf7P6H62lWIEBi+yz/zQQ==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.24.5", "fast-unique-numbers": "^8.0.13", @@ -4818,7 +4438,6 @@ "version": "7.0.71", "resolved": "https://registry.npmjs.org/worker-timers-worker/-/worker-timers-worker-7.0.71.tgz", "integrity": "sha512-ks/5YKwZsto1c2vmljroppOKCivB/ma97g9y77MAAz2TBBjPPgpoOiS1qYQKIgvGTr2QYPT3XhJWIB6Rj2MVPQ==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.24.5", "tslib": "^2.6.2" @@ -4828,7 +4447,6 @@ "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -4850,7 +4468,6 @@ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12" } @@ -4860,7 +4477,6 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, diff --git a/packages/modules/display_themes/colors/source/package.json b/packages/modules/display_themes/colors/source/package.json index 2dd83bb0e1..a69143257c 100644 --- a/packages/modules/display_themes/colors/source/package.json +++ b/packages/modules/display_themes/colors/source/package.json @@ -1,6 +1,6 @@ { "name": "colordisplaytheme2", - "version": "2.1.0", + "version": "0.9.0", "license": "MIT", "type": "module", "scripts": { @@ -20,29 +20,29 @@ "vue": "^3.5.10" }, "devDependencies": { - "@babel/types": "^7.26.8", + "@babel/types": "^7.26.5", "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@esbuild-plugins/node-modules-polyfill": "^0.2.2", - "@eslint/compat": "^1.2.6", + "@eslint/compat": "^1.2.5", "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", "@rushstack/eslint-patch": "^1.10.5", - "@tsconfig/node22": "^22.0.0", + "@tsconfig/node20": "^20.1.4", "@types/bootstrap": "^5.2.10", "@types/d3": "^7.4.3", - "@types/node": "^22.13.1", + "@types/node": "^20.17.14", "@vitejs/plugin-vue": "^5.2.1", "@vue/eslint-config-prettier": "^10.2.0", "@vue/eslint-config-typescript": "^14.3.0", "@vue/tsconfig": "^0.7.0", "esbuild": "^0.24.2", - "eslint": "^9.20.0", + "eslint": "^9.18.0", "eslint-plugin-vue": "^9.32.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", - "rollup": "^4.34.6", + "rollup": "^4.31.0", "typescript": "^5.7.3", - "vite": "^6.1.0", + "vite": "^6.0.7", "vue-tsc": "^2.2.0" } } diff --git a/packages/modules/display_themes/colors/source/src/assets/js/helpers.ts b/packages/modules/display_themes/colors/source/src/assets/js/helpers.ts index 670b37eaf6..d6b995ae06 100755 --- a/packages/modules/display_themes/colors/source/src/assets/js/helpers.ts +++ b/packages/modules/display_themes/colors/source/src/assets/js/helpers.ts @@ -83,7 +83,7 @@ export function formatTime(seconds: number) { } } export function formatCurrentTime(d: Date) { - return d.toLocaleTimeString(['de-DE'], { hour: 'numeric', minute: '2-digit' }) + return d.toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' }) } export function formatDate(d: Date, mode: string = 'day') { diff --git a/packages/modules/display_themes/colors/source/src/components/chargePointList/CPChargePoint.vue b/packages/modules/display_themes/colors/source/src/components/chargePointList/CPChargePoint.vue index 953868838a..e08da4dbf5 100755 --- a/packages/modules/display_themes/colors/source/src/components/chargePointList/CPChargePoint.vue +++ b/packages/modules/display_themes/colors/source/src/components/chargePointList/CPChargePoint.vue @@ -160,32 +160,31 @@ const cpNameStyle = computed(() => { function openSettings() { if (displayConfig.locked) { unlockDisplay() + } + const settingspage = new Modal('#settingspage') + settingspage.toggle() + let chargePanelName = '' + switch (props.chargepoint.chargeMode) { + case 'instant_charging': + chargePanelName = '#inSettings' + break + case 'pv_charging': + chargePanelName = '#phvSettings' + break + case 'scheduled_charging': + chargePanelName = '#scSettings' + break + default: + chargePanelName = '#chSettings' + } + const tabToActivate = document.querySelector( + chargePanelName + props.chargepoint.id, + ) + if (tabToActivate) { + var tab = new Tab(tabToActivate) + tab.show() } else { - const settingspage = new Modal('#settingspage') - settingspage.toggle() - let chargePanelName = '' - switch (props.chargepoint.chargeMode) { - case 'instant_charging': - chargePanelName = '#inSettings' - break - case 'pv_charging': - chargePanelName = '#phvSettings' - break - case 'scheduled_charging': - chargePanelName = '#scSettings' - break - default: - chargePanelName = '#chSettings' - } - const tabToActivate = document.querySelector( - chargePanelName + props.chargepoint.id, - ) - if (tabToActivate) { - var tab = new Tab(tabToActivate) - tab.show() - } else { - console.error('no element found') - } + console.error('no element found') } } diff --git a/packages/modules/display_themes/colors/source/src/components/chargePointList/CPVehicle.vue b/packages/modules/display_themes/colors/source/src/components/chargePointList/CPVehicle.vue index b3419b1404..12960f3530 100644 --- a/packages/modules/display_themes/colors/source/src/components/chargePointList/CPVehicle.vue +++ b/packages/modules/display_themes/colors/source/src/components/chargePointList/CPVehicle.vue @@ -49,7 +49,10 @@ class="grid-col-4 grid-left" > - + { const [p] = etData.etPriceList.values() return (Math.round(p * 10) / 10).toFixed(1) @@ -187,43 +189,37 @@ const currentPrice = computed(() => { function openSettings(target: string = '') { if (displayConfig.locked) { unlockDisplay() - } else { - const settingspage = new Modal('#settingspage') - settingspage.toggle() - let chargePanelName = target - if (target == '') { - switch (props.chargepoint.chargeMode) { - case 'instant_charging': - chargePanelName = '#inSettings' - break - case 'pv_charging': - chargePanelName = '#phvSettings' - break - case 'scheduled_charging': - chargePanelName = '#scSettings' - break - default: - chargePanelName = '#chSettings' - } - } - const tabToActivate = document.querySelector( - chargePanelName + props.chargepoint.id, - ) - if (tabToActivate) { - var tab = new Tab(tabToActivate) - tab.show() - } else { - console.error('no element found') + } + const settingspage = new Modal('#settingspage') + settingspage.toggle() + let chargePanelName = target + if (target == '') { + switch (props.chargepoint.chargeMode) { + case 'instant_charging': + chargePanelName = '#inSettings' + break + case 'pv_charging': + chargePanelName = '#phvSettings' + break + case 'scheduled_charging': + chargePanelName = '#scSettings' + break + default: + chargePanelName = '#chSettings' } } -} -function startSocEditor() { - if (displayConfig.locked) { - unlockDisplay() + + const tabToActivate = document.querySelector( + chargePanelName + props.chargepoint.id, + ) + if (tabToActivate) { + var tab = new Tab(tabToActivate) + tab.show() } else { - editSoc.value = !editSoc.value + console.error('no element found') } } + const currentPriceStyle = computed(() => { return props.chargepoint.etMaxPrice >= +currentPrice.value ? { color: 'var(--color-charging)' } diff --git a/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts b/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts index 3c5687e80c..5a1cef14e9 100755 --- a/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts +++ b/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts @@ -146,8 +146,8 @@ export const dayGraph = reactive({ (this.date.getMonth() + 1).toString().padStart(2, '0') + this.date.getDate().toString().padStart(2, '0') mqttSubscribe(this.topic) - sendCommand('getDailyLog', { day: dateString }) - + sendCommand('getDailyLog',{ day: dateString }) + // graphData.data = [] } }, @@ -176,7 +176,7 @@ export const monthGraph = reactive({ this.year.toString() + this.month.toString().padStart(2, '0') graphData.data = [] mqttSubscribe(this.topic) - sendCommand('getMonthlyLog', { month: dateString }) + sendCommand('getMonthlyLog',{ month: dateString }) }, deactivate() { mqttUnsubscribe(this.topic) diff --git a/packages/modules/display_themes/colors/source/src/components/priceChart/PriceChart.vue b/packages/modules/display_themes/colors/source/src/components/priceChart/PriceChart.vue index 88e9f2197c..201a124ad5 100755 --- a/packages/modules/display_themes/colors/source/src/components/priceChart/PriceChart.vue +++ b/packages/modules/display_themes/colors/source/src/components/priceChart/PriceChart.vue @@ -1,7 +1,7 @@ @@ -98,48 +62,26 @@ import { select, } from 'd3' import RangeInput from '../shared/RangeInput.vue' -//import ConfigItem from '../shared/ConfigItem.vue' -//import SwitchInput from '../shared/SwitchInput.vue' +import ConfigItem from '../shared/ConfigItem.vue' +import SwitchInput from '../shared/SwitchInput.vue' import { chargePoints } from '../chargePointList/model' -import PricePad from '../shared/PricePad.vue' const props = defineProps<{ chargePointId: number globalview?: boolean }>() const cp = computed(() => chargePoints[props.chargePointId]) +let mp = ref(cp.value.etMaxPrice) const maxPriceEdited = ref(false) -const displayKeypad = ref(false) -/* const etActive = computed({ +const etActive = computed({ get: () => cp.value.etActive, set: (value: boolean) => { cp.value.etActive = value }, -}) */ -let _maxPrice = cp.value ? ref(cp.value.etMaxPrice) : ref(0) -const maxPrice = computed({ - get() { - return _maxPrice.value - // ref(props.chargepoint.etMaxPrice) - }, - set(newmax) { - _maxPrice.value = newmax - maxPriceEdited.value = true - }, -}) - -const maxTyped = computed({ - get() { - return (Math.round(_maxPrice.value * 10) / 10).toString() - }, - set(newmax) { - maxPrice.value = parseFloat(newmax) ?? maxPrice.value - displayKeypad.value = false - }, }) function setMaxPrice() { if (cp.value) { - cp.value.etMaxPrice = maxPrice.value + cp.value.etMaxPrice = mp.value } maxPriceEdited.value = false } @@ -167,15 +109,8 @@ const barwidth = computed(() => { } }) const confirmButtonStyle = computed(() => { - if (maxPriceEdited.value) { - return { background: 'var(--color-charging)', color: 'var(--color-fg)' } - } else { - return { background: 'var(--color-menu)' } - } + return { background: 'var(--color-charging)' } }) -function showKeypad() { - displayKeypad.value = !displayKeypad.value -} const xScale = computed(() => { let xdomain = extent(plotdata.value, (d) => d[0]) as [Date, Date] if (xdomain[1]) { @@ -200,8 +135,8 @@ const yScale = computed(() => { const linePath = computed(() => { const generator = line() const points = [ - [margin.left, yScale.value(maxPrice.value)], - [width - margin.right - 1, yScale.value(maxPrice.value)], + [margin.left, yScale.value(mp.value)], + [width - margin.right - 1, yScale.value(mp.value)], ] return generator(points as [number, number][]) }) @@ -240,7 +175,7 @@ const draw = computed(() => { .attr('width', barwidth.value) .attr('height', (d) => yScale.value(yDomain.value[0]) - yScale.value(d[1])) .attr('fill', (d) => - d[1] <= maxPrice.value ? 'var(--color-charging)' : 'var(--color-axis)', + d[1] <= mp.value ? 'var(--color-charging)' : 'var(--color-axis)', ) // X Axis const xAxis = svg.append('g').attr('class', 'axis').call(xAxisGenerator.value) @@ -283,70 +218,18 @@ const chartId = computed(() => { return 'priceChartCanvasGlobal' } }) -const prices = computed(() => { - let result: number[] = [] - etData.etPriceList.forEach((p) => { - result.push(p) - }) - return result.sort((a, b) => a - b) -}) - -function priceDown() { - let lastValue = prices.value[0] - for (let p of prices.value) { - if (p >= maxPrice.value) { - break - } else { - lastValue = p - } - } - maxPrice.value = lastValue -} -function priceUp() { - let result = prices.value[0] - for (let p of prices.value) { - if (p > maxPrice.value) { - result = p - break - } else { - result = p - } - } - maxPrice.value = result -} - onMounted(() => { needsUpdate.value = !needsUpdate.value }) diff --git a/packages/modules/display_themes/colors/source/src/components/shared/PadButtonSmall.vue b/packages/modules/display_themes/colors/source/src/components/shared/PadButtonSmall.vue deleted file mode 100644 index b776da0661..0000000000 --- a/packages/modules/display_themes/colors/source/src/components/shared/PadButtonSmall.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/packages/modules/display_themes/colors/source/src/components/shared/PricePad.vue b/packages/modules/display_themes/colors/source/src/components/shared/PricePad.vue deleted file mode 100644 index 201fdb9ba3..0000000000 --- a/packages/modules/display_themes/colors/source/src/components/shared/PricePad.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - - diff --git a/packages/modules/display_themes/colors/source/src/components/shared/RangeInput.vue b/packages/modules/display_themes/colors/source/src/components/shared/RangeInput.vue index e24ce7bcc7..d8f6bb0396 100755 --- a/packages/modules/display_themes/colors/source/src/components/shared/RangeInput.vue +++ b/packages/modules/display_themes/colors/source/src/components/shared/RangeInput.vue @@ -6,58 +6,15 @@ -
-
- - - - - - - -
- - -
+ @@ -71,7 +28,6 @@ diff --git a/packages/modules/display_themes/colors/source/src/views/SettingsPage.vue b/packages/modules/display_themes/colors/source/src/views/SettingsPage.vue index 249a910d72..a493470b28 100644 --- a/packages/modules/display_themes/colors/source/src/views/SettingsPage.vue +++ b/packages/modules/display_themes/colors/source/src/views/SettingsPage.vue @@ -42,7 +42,6 @@ Zeitpläne
.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-ba15dbc4]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-ba15dbc4]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-ba15dbc4]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-ba15dbc4]{text-align:left}.tablecell.right[data-v-ba15dbc4]{text-align:right}.tablecolum1[data-v-ba15dbc4]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-ba15dbc4]{color:var(--color-menu)}.fa-star[data-v-ba15dbc4]{color:var(--color-evu)}.fa-clock[data-v-ba15dbc4]{color:var(--color-battery)}.socEditor[data-v-ba15dbc4]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-ba15dbc4]{background-color:var(--color-bg)}.fa-circle-check[data-v-ba15dbc4]{color:var(--color-menu)}.socEditTitle[data-v-ba15dbc4]{color:var(--color-fg)}.statusbadge[data-v-ba15dbc4]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-ba15dbc4]{color:var(--color-bg)}.cpname[data-v-ba15dbc4]{font-size:var(--font-small)}.fa-edit[data-v-ba15dbc4]{color:var(--color-menu)}.infolist[data-v-ba15dbc4]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-31df6764]{color:#fff;border:1px solid white}.chargeButton[data-v-31df6764]{color:#fff}.left[data-v-31df6764]{float:left}.right[data-v-31df6764]{float:right}.center[data-v-31df6764]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-cc4da23c]{color:var(--color-battery)}.fg-color[data-v-cc4da23c]{color:var(--color-fg)}.menu-color[data-v-cc4da23c],.todaystring[data-v-cc4da23c]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-04addecf]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-04addecf]{text-align:center}.vehiclename[data-v-04addecf]{font-size:var(--font-medium)}.socEditor[data-v-04addecf]{border:1px solid var(--color-menu);justify-self:stretch}.statusbutton[data-v-23b437ea]{font-size:var(--font-large)}.modebutton[data-v-23b437ea]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-23b437ea]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-6000c955]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-6000c955]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-6000c955]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-6000c955]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-d82b4b16]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-d82b4b16]{justify-self:end}.nav-tabs[data-v-0542a138]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-0542a138]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-0542a138]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-0542a138]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-0542a138]{color:var(--color-fg)}.fa-charging-station[data-v-0542a138]{color:var(--color-charging)}.fa-car-battery[data-v-0542a138]{color:var(--color-battery)}.fa-plug[data-v-0542a138]{color:var(--color-devices)}.fa-bolt[data-v-0542a138]{color:var(--color-evu)}.fa-car[data-v-0542a138]{color:var(--color-charging)}.fa-coins[data-v-0542a138]{color:var(--color-battery)}.fa-solar-panel[data-v-0542a138]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! +@charset "UTF-8";.displaybutton[data-v-0f8aebee]{border:.1px solid var(--color-frame);padding:6px 8px;align-self:top;box-shadow:1px 3px #000;font-weight:700;font-size:var(--font-small)}.navigation[data-v-6d0b9541]{display:flex;justify-content:space-between;padding:2px 10px;align-items:center;border-top:0px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.timedisplay[data-v-6d0b9541]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.navbar[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.graphbuttons[data-v-6d0b9541],.cpbuttons[data-v-6d0b9541]{display:flex;justify-content:left;align-items:center;gap:5px}.dropdown-menu[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-6d0b9541]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-6d0b9541]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-6d0b9541]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-6d0b9541]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-6d0b9541]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.brand[data-v-6d0b9541]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.wb-widget[data-v-e8292acd]{background-color:var(--color-bg);border:.1px solid var(--color-frame);height:100%;align-self:stretch;width:100%;border-radius:30px}.wb-subwidget[data-v-e8292acd]{border:0px solid var(--color-subframe);padding:var(--padding-widget)}.header[data-v-e8292acd]{grid-column:span 12;display:flex;justify-content:space-between;align-items:center}.titles[data-v-e8292acd]{display:flex;flex-direction:column}.title[data-v-e8292acd]{font-size:var(--font-extralarge);color:var(--color-title);font-weight:700;transform:scaleX(.9294)}.cont[data-v-e8292acd]{align-self:stretch;height:100%}.subtitle[data-v-e8292acd]{font-size:var(--font-medium)}.buttons[data-v-e8292acd]{grid-column:span 6}.powermeter{width:100%}.radiobutton[data-v-270067ed]{border:0px solid var(--color-menu);opacity:1;font-size:var(--font-chargebutton);width:75px}.btn-outline-secondary.active[data-v-270067ed]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-270067ed]{border:.1px solid var(--color-menu);box-shadow:1px 3px #000}.rounded-pill[data-v-7fd067cd]{background-color:var(--color-menu)}.arrowButton[data-v-7fd067cd]{border:0}.datebadge[data-v-7fd067cd]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-7fd067cd],.fa-magnifying-glass[data-v-ba892fa4]{color:var(--color-menu)}.datebadge[data-v-ba892fa4]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.energymeter[data-v-35f92695]{width:100%}.modal-content[data-v-dff8d7c2]{background-color:var(--color-bg);border-color:var(--color-menu);box-shadow:3px 5px #000}.modal-footer[data-v-dff8d7c2],.modal-header[data-v-dff8d7c2],.modal-body[data-v-dff8d7c2]{background-color:var(--color-bg);color:var(--color-fg)}.modal-body[data-v-dff8d7c2]{border-color:var(--color-fg)}.modal-footer[data-v-dff8d7c2]{text-align:right}.modal-header .btn-close[data-v-dff8d7c2]{color:var(--color-fg);background-color:var(--color-bg);border:0px}.modal-title[data-v-dff8d7c2]{color:var(--color-fg)}.closebutton[data-v-dff8d7c2]{background:var(--color-fg)}.modal.fade .modal-dialog[data-v-dff8d7c2]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-dff8d7c2]{transition:transform .3s ease-in;transform:none;scale:1}.fa-circle-check[data-v-dff8d7c2]{color:var(--color-fg)}.padbutton[data-v-cc256a6f]{display:flex;align-items:center;justify-content:center;border-radius:50%;border:.1px dotted var(--color-menu);box-shadow:1px 3px #000}.digit[data-v-cc256a6f]{font-size:24px;font-weight:700;text-align:center;align-self:center;justify-self:center;display:flex}.numberpad[data-v-63c8fa5c]{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg)}.codedisplay[data-v-63c8fa5c]{display:flex;align-items:center;justify-content:center;font-size:24px;border:10px;color:var(--color-fg)}.numberentry[data-v-63c8fa5c]{display:grid;grid-template-columns:60px 60px 60px;grid-template-rows:65px 65px 65px 65px;grid-gap:5px}.statustable[data-v-74ffcddc]{display:grid;grid-template-columns:35% 65%;font-size:16px;color:#fff}.header[data-v-74ffcddc]{color:var(--color-fg)}.controlbuttons[data-v-74ffcddc]{font-size:var(--font-settings)}.controlbutton[data-v-74ffcddc]{background-color:var(--color-menu);color:var(--color-fg);font-size:var(--font-settings)}.confirmationBox[data-v-74ffcddc]{border:3px solid var(--color-evu);justify-self:stretch;font-size:var(--font-settings);background-color:var(--color-fg);color:var(--color-evu)}.confirmTitle[data-v-74ffcddc]{font-weight:700}.cancelButton[data-v-74ffcddc]{font-size:var(--font-settings);background-color:var(--color-battery)}.confirmButton[data-v-74ffcddc]{font-size:var(--font-settings);background-color:var(--color-evu);color:var(--color-fg)}.infotext[data-v-45020119]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-45020119]{color:var(--color-charging);font-size:var(--font-settings)}.titlecolumn[data-v-45020119]{color:var(--color-bg);font-size:var(--font-settings)}.selectors[data-v-45020119]{font-size:var(--font-settings)}.configitem[data-v-45020119]{font-size:var(--font-settings);align-items:baseline;justify-content:space-between}.rangewidget[data-v-0e01f92a],.rangeslider[data-v-0e01f92a]{width:100%}.minlabel[data-v-0e01f92a],.maxlabel[data-v-0e01f92a]{color:var(--color-menu);font-size:var(--font-settings)}.valuelabel[data-v-0e01f92a]{color:var(--color-fg);font-size:var(--font-settings)}.minusButton[data-v-0e01f92a],.plusButton[data-v-0e01f92a]{color:var(--color-menu);font-size:var(--font-extralarge)}.radiobutton[data-v-005a14a9]{border:.5px solid var(--color-fg);opacity:.5;font-size:14px}.btn-outline-secondary[data-v-005a14a9]{background-color:var(--color-bg)}.btn-outline-secondary.active[data-v-005a14a9]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #fff;font-weight:700;opacity:1}.instantsettings[data-v-6c87e539]{display:grid;justify-content:center;align-items:center;grid-template-columns:auto auto;grid-gap:20px}.chargeConfigSelect[data-v-6c87e539]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-6c87e539]{color:var(--color-fg);font-size:var(--font-settings);font-weight:700}.form-switch .form-check-input[data-v-547e6de4]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='var(--color-fg)'/%3e%3c/svg%3e");background-color:var(--color-evu)}.form-switch .form-check-input[data-v-547e6de4]:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");background-color:var(--color-pv)}.form-switch .form-check-input[data-v-547e6de4]{border:.1px dotted var(--color-fg);font-size:20px;box-shadow:2px 3px #000}.pvsettings[data-v-908e4b46]{display:grid;justify-content:center;align-items:center;grid-gap:20px;grid-template-columns:auto auto}.chargeConfigSelect[data-v-908e4b46]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-908e4b46]{color:var(--color-pv)}.subtitle[data-v-09a476b7]{font-size:var(--font-large);font-weight:700}.warning[data-v-09a476b7]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-09a476b7],th[data-v-09a476b7]{background-color:var(--color-bg)!important}.timeplantable[data-v-93a76758]{justify-content:center;gap:20px}.subtitle[data-v-93a76758]{font-size:var(--font-large);font-weight:700}.warning[data-v-93a76758]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-93a76758],th[data-v-93a76758]{background-color:var(--color-bg)!important}.chargesettings[data-v-1cad71ed]{display:grid;grid-template-columns:auto,auto;justify-content:center;align-items:center;grid-gap:1px}.status-string[data-v-1cad71ed]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-1cad71ed]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-1cad71ed]{background:green;color:#00f}.nav-tabs .nav-link[data-v-1cad71ed]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1cad71ed]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1cad71ed]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-1cad71ed]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-1cad71ed]{color:var(--color-menu)}.grapharea[data-v-ca62d6fe]{width:100%;grid-column:span 9}.controlarea[data-v-ca62d6fe]{width:100%;grid-column:span 3}.subtitle[data-v-ca62d6fe]{font-size:var(--font-settings);font-weight:regular}.priceinput[data-v-ca62d6fe]{width:100%}.color-charging[data-v-ca62d6fe]{color:var(--color-charging)}.fa-circle-check[data-v-ca62d6fe]{color:var(--color-menu)}.settingsheader[data-v-ca62d6fe]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-ca62d6fe]{color:var(--color-axis);font-size:16px}.tab-pane[data-v-c9394349]{font-size:16px;color:var(--color-fg);background-color:var(--color-bg);align-items:center}.nav-link[data-v-c9394349]{font-size:14px;color:var(--color-fg)}.nav-tabs .nav-link.active[data-v-c9394349]{background-color:var(--color-fg)}.fa-bolt[data-v-c9394349],.fa-charging-station[data-v-c9394349]{color:var(--color-charging)}.fa-bullseye[data-v-c9394349]{color:var(--color-battery)}.fa-solar-panel[data-v-c9394349]{color:var(--color-pv)}.fa-lock[data-v-c9394349]{color:var(--color-evu)}.fa-coins[data-v-c9394349]{color:var(--color-charging)}.heading[data-v-9215fd9b]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-9215fd9b]{color:var(--color-fg);font-weight:700}.batIcon[data-v-fc156cd3]{color:var(--color-menu)}.titleline[data-v-cd7c1021]{display:flex;justify-content:left}.infoline[data-v-cd7c1021]{display:flex;justify-content:space-between;flex-direction:row}.chargemodes[data-v-cd7c1021]{grid-column:1 / 13;justify-self:center}.carname[data-v-cd7c1021]{color:var(--color-fg);font-size:var(--font-medium)}.maxprice[data-v-cd7c1021]{font-size:var(--font-medium);color:var(--color-fg)}.fa-star[data-v-cd7c1021]{color:var(--color-evu)}.fa-circle-check[data-v-cd7c1021]{font-size:20pt}.fa-edit[data-v-cd7c1021]{font-size:8pt}.socEditor[data-v-cd7c1021]{border:1px solid var(--color-menu);justify-self:stretch}.vehicleinfo[data-v-cd7c1021]{display:flex;flex-direction:column}.fa-clock[data-v-795d5c8f]{color:var(--color-battery)}.fa-car[data-v-795d5c8f],.fa-ellipsis-vertical[data-v-795d5c8f],.fa-circle-check[data-v-795d5c8f]{color:var(--color-menu)}.fa-coins[data-v-795d5c8f]{color:var(--color-battery)}.fa-edit[data-v-795d5c8f],.targetCurrent[data-v-795d5c8f]{color:var(--color-menu)}.content[data-v-9b3643f1]{display:grid;grid-template-columns:380px 420px;grid-template-rows:430px;overflow:hidden;min-width:0px}.leftside[data-v-9b3643f1]{min-width:0px;overflow:hidden;height:100%;align-self:stretch}.rightside[data-v-9b3643f1]{min-width:0px;overflow:hidden;height:100%;align-self:stretch;align-items:stretch}.settingstitle[data-v-9b3643f1],.statustitle[data-v-9b3643f1]{color:var(--color-fg)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2022 Fonticons, Inc. - */:host,:root{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/openWB/web/themes/colors/assets/fa-solid-900-DByUvYfa.woff2) format("woff2"),url(/openWB/web/themes/colors/assets/fa-solid-900-CG7ny7S5.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}/*! + */:host,:root{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/openWB/web/display/themes/colors/assets/fa-solid-900-DByUvYfa.woff2) format("woff2"),url(/openWB/web/display/themes/colors/assets/fa-solid-900-CG7ny7S5.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}.fixeddisplay[data-v-f43b9e47]{display:grid;grid-template-rows:440px 40px;grid-template-columns:800px}/*! * Bootstrap v5.3.3 (https://getbootstrap.com/) * Copyright 2011-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}html{min-height:100%;min-width:100%}body{color:var(--color-fg);background:var(--color-bg)}body>.container{padding:55px 15px 0}html{font-size:12px}html .settingscolumn{grid-column:span 12}@media screen and (min-width: 240px){html{font-size:13px}}@media screen and (min-width: 330px){html{font-size:14px}}@media screen and (min-width: 400px){html{font-size:15px}}@media screen and (min-width: 435px){html{font-size:16px}}@media screen and (min-width: 470px){html{font-size:17px}}@media screen and (min-width: 505px){html{font-size:18px}}@media screen and (min-width: 540px){html{font-size:19px}}@media screen and (min-width: 576px){html{font-size:20px}}@media screen and (min-width: 672px){html{font-size:21px}}@media screen and (min-width: 768px){html{font-size:22px}}@media screen and (min-width: 992px){html{font-size:11px}html .settingscolumn{grid-column:span 4}}@media screen and (min-width: 1200px){html{font-size:13px}}@media screen and (min-width: 1400px){html{font-size:16px}}@media screen and (min-width: 2000px){html{font-size:16px}}.verySmallTextSize{font-size:var(--font-verysmall)}.smallTextSize{font-size:var(--font-small)}.mediumTextSize{font-size:var(--font-medium)}.regularTextSize{font-size:var(--font-normal)}.largeTextSize,.buttonTextSize{font-size:var(--font-large)}h3{font-size:var(--font-large);color:var(--color-title);font-weight:700}h4{color:var(--color-axis)}body>.container-fluid{padding:55px 15px 0}.tablecell{font-size:var(--font-normal);line-height:1rem;vertical-align:middle;padding:0;background-color:var(--color-bg)}.maxPrice{text-align:center}:root{--fontCol: rgba(160, 160, 160, .82);--gridCol: rgba(160, 160, 160, .82);--xgridCol: rgba(160, 160, 160, .82);--tickCol: rgba(160, 160, 160, .82);--evuCol: rgba(178, 34, 34, 1);--color-switchRed: #d12020;--color-switchGreen: #4db662;--color-switchBlue: steelblue;--color-cp0: #6baed6;--color-cp1: #4292c6;--color-cp2: #2171b5;--color-cp3: #9ecae1;--color-cp4: #c6dbef;--color-cp5: #deebf7;--color-cp6: #08519c;--color-cp7: #6baed6;--color-evu: firebrick;--color-pv: #33a02c;--color-house: #7f7f7f;--color-charging: #1f78b4;--color-export: #b2df8a;--color-battery: goldenrod;--color-input: lightgrey;--color-pv1: #33a02c;--color-pv2: #4db662;--color-pv3: #a1d99b;--color-pv4: #74c476;--color-pv5: #41ab5d;--color-pv6: #238b45;--color-pv7: #006d2c;--color-pv8: #00441b;--color-pv9: #33a02c;--font-normal: 1.4rem;--font-large: 1.6rem;--font-medium: 1.2rem;--font-small: 1rem;--font-verysmall: .7rem;--font-extralarge: 1.7rem;--font-settings: 16px}.theme-light{--color-bg: white;--color-axis: gray;--color-grid: #bbbbbb;--color-menu: gray;--color-frame: white;--color-subframe: lightgrey;--color-fg: black;--color-scale: lightgrey;--color-title: rgba(0, 0, 0, .644);--padding-widget: 5px;--fontCol: rgba(255, 255, 255, .82);--gridCol: rgba(255, 255, 255, .82);--xgridCol: rgba(255, 255, 255, .1);--tickCol: rgba(255, 255, 255, .82);--evuCol: rgba(255, 0, 0, .7)}.theme-blue{--color-bg: midnightblue;--color-axis: steelblue;--color-grid: steelblue;--color-menu: lightskyblue;--color-frame: lightskyblue;--color-subframe: midnightblue;--color-fg: white;--color-scale: steelblue;--color-title: lightgrey;--padding-widget: 0px}.theme-dark{--color-bg: #333333;--color-export: #b2df8a;--color-axis: #666666;--color-grid: black;--color-menu: #999999;--color-frame: #666666;--color-subframe: #333333;--color-fg: white;--color-scale: #999999;--color-title: lightgrey;--padding-widget: 0px}.shcolors-normal{--color-devices: #f16913;--color-sh1: #fd8d3c;--color-sh2: #f16913;--color-sh3: #d94801;--color-sh4: #fdae6b;--color-sh5: #fdd0a2;--color-sh6: #fee6ce;--color-sh7: #a63603;--color-sh8: #fe4b83;--color-sh9: #e4419d}.shcolors-advanced{--color-devices: #ff4d4d;--color-sh1: #ffffff;--color-sh2: #ff4d4d;--color-sh3: #668cff;--color-sh4: #ff6600;--color-sh5: #00ff00;--color-sh6: #ffff00;--color-sh7: #ff00ff;--color-sh8: #993300;--color-sh9: #a366ff}.shcolors-standard{--color-devices: rgba(200, 50, 200, .7);--color-sh1: rgba(200, 150, 200, .7);--color-sh2: rgba(200, 100, 200, .7);--color-sh3: rgba(200, 50, 200, .7);--color-sh4: rgba(200, 0, 200, .7);--color-sh5: rgba(150, 200, 200, .7);--color-sh6: rgba(100, 200, 200, .7);--color-sh7: rgba(50, 200, 200, .7);--color-sh8: rgba(0, 200, 200, .7);--color-sh9: rgba(200, 200, 200, .7)}.openwb-devices{color:#cff;background-color:#009696}.colormenu{background-color:var(--color-frame)}.wb-widget{background-color:var(--color-bg);border:.1px dotted var(--color-frame);align-self:stretch;width:100%;border-radius:30px}.wb-subwidget{border:0px solid var(--color-subframe);padding:var(--padding-widget)}.grid12{display:grid;grid-template-columns:repeat(12,auto);gap:.2em;justify-items:center}.grid-col-3{grid-column:span 3}.grid-col-4{grid-column:span 4}.grid-col-6{grid-column:span 6}.grid-col-12{grid-column:span 12}@supports (grid-template-columns: subgrid){.subgrid{display:grid;grid-column:span 12;grid-template-columns:subgrid;justify-content:top}}@supports not (grid-template-columns: subgrid){.subgrid{display:grid;grid-column:span 12;grid-template-columns:auto auto auto auto auto auto auto auto auto auto auto auto;justify-content:top;width:100%}}.grid-left{justify-self:start}.grid-right{justify-self:end}th{color:var(--color-axis)}.table-borderless td{border:0}.popup-header{color:#191970}.axis text{color:var(--color-axis);stroke-width:0}.phasesInUse{font-family:monospace;color:#fff;background:var(--color-menu);font-size:var(--font-verysmall);padding:.2rem .4rem .1rem;margin:0rem .2rem}.swiper-slide-active,.swiper-slide{display:flex}swiper-slide{display:flex}option{color:#00f}.ttarea .ttmessage{visibility:hidden}.ttarea:hover .ttmessage{visibility:visible} + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}html{min-height:100%;min-width:100%}body{color:var(--color-fg);background:var(--color-bg);font-family:San Francisco,Arial,Liberation sans,sans-serif}body>.container{padding:55px 15px 0}html{font-size:12px}html .settingscolumn{grid-column:span 12}.verySmallTextSize{font-size:var(--font-verysmall)}.smallTextSize{font-size:var(--font-small)}.mediumTextSize{font-size:var(--font-medium)}.regularTextSize{font-size:var(--font-normal)}.largeTextSize,.buttonTextSize{font-size:var(--font-large)}h3{font-size:var(--font-extralarge);color:var(--color-title);font-weight:700;transform:scaleX(.9294)}h4{color:var(--color-axis)}body>.container-fluid{padding:55px 15px 0}.tablecell{font-size:var(--font-normal);line-height:1rem;vertical-align:middle;padding:0;background-color:var(--color-bg)}.maxPrice{text-align:center}:root{--fontCol: rgba(160, 160, 160, .82);--gridCol: rgba(160, 160, 160, .82);--xgridCol: rgba(160, 160, 160, .82);--tickCol: rgba(160, 160, 160, .82);--evuCol: rgba(178, 34, 34, 1);--color-switchRed: #d12020;--color-switchGreen: #4db662;--color-switchBlue: steelblue;--color-cp0: #6baed6;--color-cp1: #4292c6;--color-cp2: #2171b5;--color-cp3: #9ecae1;--color-cp4: #c6dbef;--color-cp5: #deebf7;--color-cp6: #08519c;--color-cp7: #6baed6;--color-evu: firebrick;--color-pv: #33a02c;--color-house: #7f7f7f;--color-charging: #1f78b4;--color-export: #b2df8a;--color-battery: goldenrod;--color-input: lightgrey;--font-normal: 1.4rem;--font-large: 1.6rem;--font-medium: 1.2rem;--font-small: 1rem;--font-verysmall: .7rem;--font-extralarge: 1.6rem;--font-settings: 16px;--font-chargebutton: 16px}.theme-light{--color-bg: white;--color-axis: gray;--color-grid: #bbbbbb;--color-menu: gray;--color-frame: white;--color-subframe: lightgrey;--color-fg: black;--color-scale: lightgrey;--color-title: rgba(0, 0, 0, .644);--padding-widget: 5px;--fontCol: rgba(255, 255, 255, .82);--gridCol: rgba(255, 255, 255, .82);--xgridCol: rgba(255, 255, 255, .1);--tickCol: rgba(255, 255, 255, .82);--evuCol: rgba(255, 0, 0, .7)}.theme-blue{--color-bg: midnightblue;--color-axis: steelblue;--color-grid: steelblue;--color-menu: lightskyblue;--color-frame: lightskyblue;--color-subframe: midnightblue;--color-fg: white;--color-scale: steelblue;--color-title: lightgrey;--padding-widget: 0px}.theme-dark{--color-bg: #333333;--color-export: #b2df8a;--color-axis: #666666;--color-grid: black;--color-menu: #999999;--color-frame: #666666;--color-subframe: #333333;--color-fg: white;--color-scale: #999999;--color-title: lightgrey;--padding-widget: 0px}.shcolors-normal{--color-devices: #f16913;--color-sh1: #fd8d3c;--color-sh2: #f16913;--color-sh3: #d94801;--color-sh4: #fdae6b;--color-sh5: #fdd0a2;--color-sh6: #fee6ce;--color-sh7: #a63603;--color-sh8: #fe4b83;--color-sh9: #e4419d}.shcolors-advanced{--color-devices: #ff4d4d;--color-sh1: #ffffff;--color-sh2: #ff4d4d;--color-sh3: #668cff;--color-sh4: #ff6600;--color-sh5: #00ff00;--color-sh6: #ffff00;--color-sh7: #ff00ff;--color-sh8: #993300;--color-sh9: #a366ff}.shcolors-standard{--color-devices: rgba(200, 50, 200, .7);--color-sh1: rgba(200, 150, 200, .7);--color-sh2: rgba(200, 100, 200, .7);--color-sh3: rgba(200, 50, 200, .7);--color-sh4: rgba(200, 0, 200, .7);--color-sh5: rgba(150, 200, 200, .7);--color-sh6: rgba(100, 200, 200, .7);--color-sh7: rgba(50, 200, 200, .7);--color-sh8: rgba(0, 200, 200, .7);--color-sh9: rgba(200, 200, 200, .7)}.openwb-devices{color:#cff;background-color:#009696}.colormenu{background-color:var(--color-frame)}.grid12{display:grid;grid-template-columns:repeat(12,auto);gap:.2em;justify-items:left}.grid-col-2{grid-column:span 2}.grid-col-3{grid-column:span 3}.grid-col-4{grid-column:span 4}.grid-col-6{grid-column:span 6}.grid-col-12{grid-column:span 12}.subgrid{display:grid;grid-column:span 12;grid-template-columns:repeat(12,auto);justify-content:top;width:100%}.grid-left{justify-self:start}.grid-right{justify-self:end}th{color:var(--color-axis)}.table-borderless td{border:0}.popup-header{color:#191970}.axis text{color:var(--color-axis);stroke-width:0}.phasesInUse{font-family:monospace;color:#fff;background:var(--color-menu);font-size:var(--font-verysmall);padding:.2rem .4rem .1rem;margin:0rem .2rem}.swiper-slide-active,.swiper-slide{display:flex}swiper-slide{display:flex}option{color:#00f}.ttarea .ttmessage{visibility:hidden}.ttarea:hover .ttmessage{visibility:visible}.scaled{transform:scaleX(.9294)}.fa-car-battery{color:var(--color-battery)}.fa-car{color:var(--color-charging)}.fa-clock,.fa-coins{color:var(--color-battery)}.fa-sliders{color:var(--color-pv)} diff --git a/packages/modules/display_themes/colors/web/assets/index-BpvnKYaU.js b/packages/modules/display_themes/colors/web/assets/index-BpvnKYaU.js deleted file mode 100644 index 7b507bb957..0000000000 --- a/packages/modules/display_themes/colors/web/assets/index-BpvnKYaU.js +++ /dev/null @@ -1,6 +0,0 @@ -var pa=Object.defineProperty;var ga=(t,e,a)=>e in t?pa(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var d=(t,e,a)=>ga(t,typeof e!="symbol"?e+"":e,a);import{m as ma,r as H,a as se,M as ht,d as V,c as y,o as h,n as oe,b as S,e as r,f as re,g as fe,h as g,s as Se,i as Ze,j as zt,k as _,w as k,l as W,p as T,u,t as P,q as Nt,v as Ft,x as va,F as ce,y as ke,z as Ge,A as wt,B as Te,C as Jt,D as pt,E as st,G as Ne,H as nt,I as kt,J as fa,K as qe,L as Rt,N as ya,O as ba,P as et,Q as Fe,R as _a,S as wa,T as it,U as Ht,V as mt,W as ka}from"./vendor-DTwSGpnw.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function a(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=a(o);fetch(o.href,i)}})();function ot(t,e=1){let a;if(t>=1e3&&e<4){switch(e){case 0:a=Math.round(t/1e3);break;case 1:a=Math.round(t/100)/10;break;case 2:a=Math.round(t/10)/100;break;case 3:a=Math.round(t)/1e3;break;default:a=Math.round(t/100)/10;break}return(a==null?void 0:a.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(t).toLocaleString(void 0)+" W"}function Yt(t,e=1,a=!1){let n;if(t>1e6&&(a=!0,t=t/1e3),t>=1e3&&e<4){switch(e){case 0:n=Math.round(t/1e3);break;case 1:n=(Math.round(t/100)/10).toFixed(1);break;case 2:n=(Math.round(t/10)/100).toFixed(2);break;case 3:n=(Math.round(t)/1e3).toFixed(3);break;default:n=Math.round(t/100)/10;break}return n.toLocaleString(void 0,{minimumFractionDigits:e})+(a?" MWh":" kWh")}else return Math.round(t).toLocaleString(void 0)+(a?" kWh":" Wh")}function Sa(t){return t.toLocaleTimeString(["de-DE"],{hour:"numeric",minute:"2-digit"})}function xa(t,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][t]+" "+e}const Ma=0,qt={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},lt={topic:"",qos:Ma};let ge;const{host:Pa,port:Ca,endpoint:$a,...Qt}=qt,Ia=`${Qt.protocol}://${Pa}:${Ca}${$a}`;try{ge=ma.connect(Ia,Qt),ge.on("connect",()=>{console.info("MQTT connection successful.")}),ge.on("disconnect",()=>{console.info("MQTT disconnected")}),ge.on("error",t=>{console.error("MQTT connection failed: ",t)})}catch(t){console.error("MQTT connect error: ",t)}async function Ba(t){await Zt(),ge?ge.on("message",t):console.error("MqttRegister: MQTT client not available")}async function We(t){lt.topic=t;const{topic:e,qos:a}=lt;await Zt(),ge.subscribe(e,{qos:a},n=>{if(n){console.error("MQTT Subscription error: "+n);return}})}function je(t){lt.topic=t;const{topic:e}=lt;ge.unsubscribe(e,a=>{if(a){console.error("MQTT Unsubscribe from "+t+" failed: "+a);return}})}async function St(t,e){let n=ge.connected,o=0;for(;!n&&o<10;)console.warn("MQTT not connected. Waiting 0.1 seconds"),await Xt(100),n=ge.connected,o+=1;if(o<10)try{ge.publish(t,e,{qos:0},i=>{i&&console.warn("MQTT publish error: ",i),console.info("MQTT publish: Message sent: ["+t+"]("+e+")")})}catch(i){console.warn("MQTT publish: caught error: "+i)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function Mt(){return qt.clientId}const Ot=20;async function Zt(){let t=ge.connected,e=0;for(;!t&&e{esetTimeout(e,t))}class Oa{constructor(e){d(this,"id");d(this,"name","Ladepunkt");d(this,"icon","Ladepunkt");d(this,"type","");d(this,"ev",0);d(this,"template",0);d(this,"connectedPhases",0);d(this,"phase_1",0);d(this,"autoPhaseSwitchHw",!1);d(this,"controlPilotInterruptionHw",!1);d(this,"isEnabled",!0);d(this,"isPluggedIn",!1);d(this,"isCharging",!1);d(this,"_isLocked",!1);d(this,"_connectedVehicle",0);d(this,"chargeTemplate",0);d(this,"evTemplate",0);d(this,"_chargeMode","pv_charging");d(this,"_hasPriority",!1);d(this,"currentPlan","");d(this,"averageConsumption",0);d(this,"vehicleName","");d(this,"rangeCharged",0);d(this,"rangeUnit","");d(this,"counter",0);d(this,"dailyYield",0);d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"faultState",0);d(this,"faultStr","");d(this,"phasesInUse",0);d(this,"power",0);d(this,"chargedSincePlugged",0);d(this,"stateStr","");d(this,"current",0);d(this,"currents",[0,0,0]);d(this,"phasesToUse",0);d(this,"isSocConfigured",!0);d(this,"isSocManual",!1);d(this,"waitingForSoc",!1);d(this,"color","white");d(this,"_timedCharging",!1);d(this,"_instantChargeLimitMode","");d(this,"_instantTargetCurrent",0);d(this,"_instantTargetSoc",0);d(this,"_instantMaxEnergy",0);d(this,"_pvFeedInLimit",!1);d(this,"_pvMinCurrent",0);d(this,"_pvMaxSoc",101);d(this,"_pvMinSoc",0);d(this,"_pvMinSocCurrent",0);d(this,"_etActive",!1);d(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,Y("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,Y("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return J[this.connectedVehicle]?J[this.connectedVehicle].soc:0}set soc(e){J[this.connectedVehicle]&&(J[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,Y("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,Y("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return ue[this.chargeTemplate]?ue[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){ue[this.chargeTemplate].time_charging.active=e,Y("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,Y("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,Y("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,Y("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,Y("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,Y("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,Y("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,Y("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,Y("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,Y("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return J[this.connectedVehicle]?J[this.connectedVehicle].etActive:!1}set etActive(e){J[this.connectedVehicle]&&(J[this.connectedVehicle].etActive=e)}get etMaxPrice(){return J[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){Y("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon}}}class Ta{constructor(e){d(this,"id");d(this,"name","");d(this,"_chargeTemplateId",0);d(this,"_evTemplateId",0);d(this,"tags",[]);d(this,"config",{});d(this,"soc",0);d(this,"range",0);d(this,"_etActive",!1);d(this,"_etMaxPrice",20);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,Y("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,Y("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return ue[this.chargeTemplateId]?ue[this.chargeTemplateId].et.active:!1}set etActive(e){ue[this.chargeTemplateId]&&Y("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(ue[this.chargeTemplateId]&&ue[this.chargeTemplateId].et.active)return ue[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(w))if(e.connectedVehicle==this.id)return e}}var _e=(t=>(t.instant_charging="instant_charging",t.pv_charging="pv_charging",t.scheduled_charging="scheduled_charging",t.standby="standby",t.stop="stop",t))(_e||{});const w=H({}),J=H({}),ue=H({}),Je=H({}),Re=H({}),Va=H({});function Aa(t){t in w||(w[t]=new Oa(t),w[t].color="var(--color-cp"+(Object.values(w).length-1)+")")}function La(){Object.keys(w).forEach(t=>{delete w[parseInt(t)]})}const Da={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",cpTimedPlanActive:"openWB/set/vehicle/template/charge_template/%/time_charging/plans/@/active",cpScheduledPlanActive:"openWB/set/vehicle/template/charge_template/%/chargemode/scheduled_charging/plans/@/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function Y(t,e,a=0,n=void 0){if(isNaN(a)){console.warn("Invalid index");return}let o=Da[t];if(!o){console.warn("No topic for update type "+t);return}switch(t){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":o=o.replace("%",w[a].chargeTemplate.toString());break;default:o=o.replace("%",String(a)),n!=null&&(o=o.replace("@",String(n)))}switch(typeof e){case"number":St(o,JSON.stringify(+e));break;default:St(o,JSON.stringify(e))}}function Ee(t,e={}){console.log("send command "+t+" "+JSON.stringify(e)),St(`openWB/set/command/${Mt()}/todo`,JSON.stringify({command:t,data:e}))}class Ea{constructor(){d(this,"batterySoc",0);d(this,"isBatteryConfigured",!0);d(this,"chargeMode","0");d(this,"_pvBatteryPriority","ev_mode");d(this,"displayLiveGraph",!0);d(this,"isEtEnabled",!0);d(this,"etMaxPrice",0);d(this,"etCurrentPrice",0);d(this,"cpDailyExported",0);d(this,"evuId",0);d(this,"etProvider","");d(this,"ipAddress","");d(this,"systemTime",0);d(this,"version","");d(this,"versionDetails","");d(this,"devBranch","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,Y("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}const Wa=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]],le=H({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"}});class Kt{constructor(){d(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e){this._items[e]=Ie(e)}setEnergy(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energy=a}setEnergyPv(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=a}setEnergyBat(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=a}setPvPercentage(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=a}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let M=new Kt;function Pt(){M=new Kt}const N=H({evuIn:Ie("evuIn"),pv:Ie("pv"),batOut:Ie("batOut")}),A=H({evuOut:Ie("evuOut"),charging:Ie("charging"),devices:Ie("devices"),batIn:Ie("batIn"),house:Ie("house")}),R=H(new Ea);se("");const ct=se(!1);function Ie(t){return{name:le[t]?le[t].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:le[t]?le[t].color:"var(--color-charging)",icon:le[t]?le[t].icon:""}}const te=H({active:!1,locked:!0,usePin:!1,code:"",timeout:60,localCpOnly:!1});function Ue(){te.usePin&&te.locked?new ht("#numberpad").toggle():(te.locked=!1,setTimeout(()=>{te.locked=!0},te.timeout*1e3))}function Ga(t){return t==te.code}const Tt=se(new Date),ja={class:"scaled"},Ua=V({__name:"DisplayButton",props:{icon:{},bgcolor:{},color:{}},emits:["click"],setup(t,{emit:e}){const a=t,n=e;function o(){n("click",!0)}return(i,s)=>(h(),y("div",{style:oe({"background-color":a.bgcolor?a.bgcolor:"var(--color-bg)",color:a.color?a.color:"var(--color-title)"}),class:"displaybutton rounded-pill",type:"button",onClick:o},[a.icon?(h(),y("span",{key:0,class:re(["fas me-2 scaled",a.icon])},null,2)):S("",!0),r("span",ja,[fe(i.$slots,"default",{},void 0)])],4))}}),F=(t,e)=>{const a=t.__vccOpts||t;for(const[n,o]of e)a[n]=o;return a},be=F(Ua,[["__scopeId","data-v-0f8aebee"]]);class za{constructor(e){d(this,"id");d(this,"name","Gerät");d(this,"power",0);d(this,"status","off");d(this,"energy",0);d(this,"runningTime",0);d(this,"configured",!1);d(this,"_showInGraph",!0);d(this,"color","white");d(this,"canSwitch",!1);d(this,"countAsHouse",!1);d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"tempConfigured",0);d(this,"temp",[300,300,300]);d(this,"on",!1);d(this,"isAutomatic",!0);d(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,Z()}setShowInGraph(e){this._showInGraph=e}}const ne=H(new Map);function ea(t){t in ne?console.info("Duplicate sh device message: "+t):(ne.set(t,new za(t)),ne.get(t).color="var(--color-sh"+ne.size+")")}class Na{constructor(){d(this,"graphToShow","powermeter");d(this,"cpToShow",0);d(this,"displayLocked",!0);d(this,"_showRelativeArcs",!1);d(this,"showTodayGraph",!0);d(this,"_graphPreference","live");d(this,"_usageStackOrder",0);d(this,"_displayMode","dark");d(this,"_showGrid",!1);d(this,"_smartHomeColors","normal");d(this,"_decimalPlaces",1);d(this,"_showQuickAccess",!0);d(this,"_simpleCpList",!1);d(this,"_shortCpList","no");d(this,"_showAnimations",!0);d(this,"_preferWideBoxes",!1);d(this,"_maxPower",4e3);d(this,"_fluidDisplay",!1);d(this,"_showClock","no");d(this,"_showButtonBar",!0);d(this,"_showCounters",!1);d(this,"_showVehicles",!1);d(this,"_showPrices",!1);d(this,"_debug",!1);d(this,"isEtEnabled",!1);d(this,"etPrice",20.5);d(this,"showRightButton",!0);d(this,"showLeftButton",!0);d(this,"animationDuration",300);d(this,"animationDelay",100);d(this,"zoomGraph",!1);d(this,"parentChargePoint1");d(this,"parentChargePoint2")}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,Z()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,Z()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,Z()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Ja(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,Z()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,Z()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,At(e),Z()}setSmartHomeColors(e){this._smartHomeColors=e,At(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,Z()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,Z()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,Z()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,Z()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,Z()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,Z()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,Z()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,Z()}setShowClock(e){this._showClock=e}get debug(){return this._debug}set debug(e){this._debug=e,Z()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,Z()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,Z()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,Z()}setShowVehicles(e){this._showVehicles=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,Z()}setShowPrices(e){this._showPrices=e}}const b=H(new Na),Ae=H({localIp:void 0,localBranch:void 0,localCommit:void 0,localVersion:void 0,parentChargePoint1:void 0,parentChargePoint2:void 0}),Fa=992,xt=H({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Vt(){xt.x=document.documentElement.clientWidth,xt.y=document.documentElement.clientHeight}g(()=>xt.x>=Fa);const ze={pv_charging:{mode:_e.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},instant_charging:{mode:_e.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},scheduled_charging:{mode:_e.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:_e.standby,name:"Standby",color:"var(--color-axis)",icon:"fa-pause"},stop:{mode:_e.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};function Z(){Ra()}function Ja(t){const e=Se("html");e.classed("theme-dark",t=="dark"),e.classed("theme-light",t=="light"),e.classed("theme-blue",t=="blue"),Z()}function At(t){const e=Se("html");e.classed("shcolors-normal",t=="normal"),e.classed("shcolors-standard",t=="standard"),e.classed("shcolors-advanced",t=="advanced")}function Ra(){const t={};t.hideSH=[...ne.values()].filter(e=>!e.showInGraph).map(e=>e.id),t.showLG=b.graphPreference=="live",t.displayM=b.displayMode,t.stackO=b.usageStackOrder,t.showGr=b.showGrid,t.decimalP=b.decimalPlaces,t.smartHomeC=b.smartHomeColors,t.relPM=b.showRelativeArcs,t.maxPow=b.maxPower,t.showQA=b.showQuickAccess,t.simpleCP=b.simpleCpList,t.shortCP=b.shortCpList,t.animation=b.showAnimations,t.wideB=b.preferWideBoxes,t.fluidD=b.fluidDisplay,t.clock=b.showClock,t.showButtonBar=b.showButtonBar,t.showCounters=b.showCounters,t.showVehicles=b.showVehicles,t.showPrices=b.showPrices,t.debug=b.debug,document.cookie="openWBColorTheme="+JSON.stringify(t)+";max-age=16000000;samesite=strict"}const Ha={class:"navigation"},Ya={class:"graphbuttons"},qa={class:"cpbuttons"},Qa={class:"timedisplay ms-4"},Za=V({__name:"NavigationBar",setup(t){let e;function a(){let l=Object.values(w).length;b.cpToShow=(b.cpToShow+1)%l}function n(){let l=Object.values(w).length;b.cpToShow=((b.cpToShow-1)%l+l)%l}function o(){b.graphToShow="powermeter"}function i(){b.graphToShow="powergraph"}function s(){b.graphToShow="energymeter"}function c(){te.locked?Ue():new ht("#statuspage").toggle()}return Ze(()=>{e=setInterval(()=>{Tt.value=new Date},1e3)}),zt(()=>{clearInterval(e)}),(l,m)=>(h(),y("div",Ha,[r("span",Ya,[m[3]||(m[3]=r("span",{class:"brand me-4"},"openWB",-1)),_(be,{icon:"fa-chart-pie",onClick:o},{default:k(()=>m[0]||(m[0]=[W("Leistung")])),_:1}),_(be,{icon:"fa-chart-line",onClick:i},{default:k(()=>m[1]||(m[1]=[W("Verlauf")])),_:1}),_(be,{icon:"fa-chart-column",onClick:s},{default:k(()=>m[2]||(m[2]=[W("Energie")])),_:1})]),_(be,{icon:"fa-rectangle-list",onClick:c},{default:k(()=>m[4]||(m[4]=[W("Status")])),_:1}),r("span",qa,[Object.values(u(w)).length>1?(h(),T(be,{key:0,color:"var(--color-cp0)",onClick:n},{default:k(()=>m[5]||(m[5]=[r("span",{class:"fas fa-arrow-left px-2"},null,-1),r("span",{class:"fas fa-charging-station pe-2"},null,-1)])),_:1})):S("",!0),_(be,{bgcolor:u(te).locked?"var(--color-evu)":"var(--color-pv)",onClick:u(Ue)},{default:k(()=>m[6]||(m[6]=[r("span",{class:"fas fa-lock px-4"},null,-1)])),_:1},8,["bgcolor","onClick"]),Object.values(u(w)).length>1?(h(),T(be,{key:1,color:"var(--color-cp0)",onClick:a},{default:k(()=>m[7]||(m[7]=[r("span",{class:"fas fa-charging-station px-2"},null,-1),r("span",{class:"fas fa-arrow-right pe-2"},null,-1)])),_:1})):S("",!0),r("span",Qa,P(u(Sa)(u(Tt))),1)])]))}}),Xa=F(Za,[["__scopeId","data-v-6d0b9541"]]),Ka=["origin"],en=V({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=g(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""},o=N;o["zz-empty"]=n;const i=Object.values(N).length-1,s=Nt().value(m=>m.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),c=Ft().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),l=Se("g#pmSourceArc");return l.selectAll("*").remove(),l.selectAll("sources").data(s(Object.values(o))).enter().append("path").attr("d",c).attr("fill",m=>m.data.color).attr("stroke",(m,v)=>v==i?m.data.power>0?"var(--color-scale)":"null":m.data.color),"pmSourceArc.vue"});return va(()=>{let n=N.pv.power+N.evuIn.power+N.batOut.power;n>b.maxPower&&(b.maxPower=n)}),(n,o)=>(h(),y("g",{id:"pmSourceArc",origin:a.value},null,8,Ka))}}),tn=["origin"],an=V({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=g(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""};const o=[A.evuOut,A.charging].concat([...ne.values()].filter(m=>m.configured&&!m.countAsHouse).sort((m,v)=>v.power-m.power)).concat([A.batIn,A.house]).concat(n),i=o.length-1,s=Nt().value(m=>m.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),c=Ft().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),l=Se("g#pmUsageArc");return l.selectAll("*").remove(),l.selectAll("consumers").data(s(o)).enter().append("path").attr("d",c).attr("fill",m=>m.data.color).attr("stroke",(m,v)=>v==i?m.data.power>0?"var(--color-scale)":"null":m.data.color),"pmUsageArc.vue"});return(n,o)=>(h(),y("g",{id:"pmUsageArc",origin:a.value},null,8,tn))}}),ta=V({__name:"FormatWatt",props:{watt:{}},setup(t){const e=t,a=g(()=>ot(e.watt,b.decimalPlaces));return(n,o)=>P(a.value)}}),nn={key:0,id:"pmLabel"},on=["x","y","fill","text-anchor"],rn=22,xe=V({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(t){const e=t,a=g(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),n=g(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),o=g(()=>!e.data||e.data.power>0),i=g(()=>e.labeltext?"":"fas");return(s,c)=>o.value?(h(),y("g",nn,[r("text",{x:s.x,y:s.y,fill:n.value,"text-anchor":s.anchor,"font-size":rn,class:"pmLabel"},[r("tspan",{class:re(i.value)},P(a.value),3),r("tspan",null,[s.data!==void 0?(h(),T(ta,{key:0,watt:s.data.power},null,8,["watt"])):S("",!0)])],8,on)])):S("",!0)}}),sn={},ln={class:"p-2 m-0 cont"},cn={class:"wb-widget m-0 pb-2 shadow"},un={class:"header mt-4 mx-2"},dn={class:"titles"},hn={class:"title"},pn={class:"subtitle"},gn={class:"buttons"},mn={class:"wb-subwidget mx-2"},vn={key:0},fn={class:"wb-subwidget mx-2"};function yn(t,e){return h(),y("div",ln,[r("div",cn,[r("div",un,[r("div",dn,[r("div",hn,[fe(t.$slots,"title",{},()=>[e[0]||(e[0]=r("div",{class:"p-0"},"(title goes here)",-1))])]),r("div",pn,[fe(t.$slots,"subtitle",{},void 0)])]),r("div",gn,[fe(t.$slots,"buttons",{},void 0)])]),r("div",mn,[fe(t.$slots,"default",{},void 0)]),t.$slots.footer!=null?(h(),y("div",vn,[e[1]||(e[1]=r("hr",{class:"grid-col-12"},null,-1)),r("div",fn,[fe(t.$slots,"footer",{},void 0)])])):S("",!0)])])}const gt=F(sn,[["render",yn],["__scopeId","data-v-e8292acd"]]);class bn{constructor(){d(this,"active",!1);d(this,"etPriceList",new Map);d(this,"etProvider","");d(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=X.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const X=H(new bn),_n={class:"grid-col-12"},wn={id:"powermeter",class:"powermeter p-0 m-0 align-self-stretch"},kn=["viewBox"],Sn=["transform"],xn={transform:"scale(0.9294,1)"},Mn=["x"],Pe=500,Ce=20,Lt=1,Pn=V({__name:"PowerMeter",setup(t){const e=Pe,a=Math.PI/40,n=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],o=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],i=g(()=>Pe/2-Ce),s=g(()=>{let D="",G=Object.values(N).filter(Q=>Q.power>0);return G.length==1&&G[0].name=="PV"?D="Aktueller Verbrauch: ":D="Bezug/Verbrauch: ",D+ot(A.house.power+A.charging.power+A.devices.power+A.batIn.power,b.decimalPlaces)}),c=g(()=>{let D=N.pv.power+N.evuIn.power+N.batOut.power;return b.maxPower>D?ot(b.maxPower,b.decimalPlaces):ot(D,b.decimalPlaces)}),l=g(()=>Object.values(w)),m=g(()=>{let D=0;return b.showRelativeArcs&&(D=b.maxPower-(N.pv.power+N.evuIn.power+N.batOut.power)),D<0?0:D}),v=g(()=>[A.evuOut,A.charging,A.devices,A.batIn,A.house].filter(D=>D.power>0)),$=g(()=>n[v.value.length-1]);function f(D){return o[$.value[D]]}function I(D){return Math.round(l.value[D].soc)}function j(D){return D.length>12?D.slice(0,11)+".":D}const ie=g(()=>{const[D]=X.etPriceList.values();return Math.round(D*10)/10});return(D,G)=>(h(),T(gt,null,{title:k(()=>G[0]||(G[0]=[W(" Aktuelle Leistung ")])),default:k(()=>[r("div",_n,[r("figure",wn,[(h(),y("svg",{viewBox:"0 0 "+Pe+" "+u(e)},[r("g",{transform:"translate("+Pe/2+","+u(e)/2+")"},[r("g",xn,[_(en,{radius:i.value,"corner-radius":Lt,"circle-gap-size":a,"empty-power":m.value},null,8,["radius","empty-power"]),_(an,{"sh-device":u(ne),radius:i.value,"corner-radius":Lt,"circle-gap-size":a,"empty-power":m.value},null,8,["sh-device","radius","empty-power"]),_(xe,{x:0,y:-u(e)/10*2,data:u(N).pv,props:u(le).pv,anchor:"middle",config:u(b)},null,8,["y","data","props","config"]),_(xe,{x:0,y:-u(e)/10*3,data:u(N).evuIn,props:u(le).evuIn,anchor:"middle",config:u(b)},null,8,["y","data","props","config"]),_(xe,{x:0,y:-u(e)/10,data:u(N).batOut,props:u(le).batOut,anchor:"middle",config:u(b)},null,8,["y","data","props","config"]),u(X).active?(h(),T(xe,{key:0,x:0,y:-u(e)/10,data:u(N).batOut,props:u(le).batOut,anchor:"middle",config:u(b)},null,8,["y","data","props","config"])):S("",!0),(h(!0),y(ce,null,ke(v.value,(Q,B)=>(h(),T(xe,{key:B,x:f(B).x,y:f(B).y,data:Q,labelicon:Q.icon,labelcolor:Q.color,anchor:"middle",config:u(b)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),l.value.length>0&&u(J)[l.value[0].connectedVehicle]?(h(),T(xe,{key:1,x:-Pe/2-Ce/4+10,y:-u(e)/2+Ce+5,labeltext:j(u(J)[l.value[0].connectedVehicle].name)+": "+I(0)+"%",labelcolor:l.value[0].color,anchor:"start",config:u(b)},null,8,["x","y","labeltext","labelcolor","config"])):S("",!0),l.value.length>1&&u(J)[l.value[1].connectedVehicle]?(h(),T(xe,{key:2,x:Pe/2+Ce/4-10,y:-u(e)/2+Ce+5,labeltext:j(u(J)[l.value[1].connectedVehicle].name)+": "+I(1)+"%",labelcolor:l.value[1].color,anchor:"end",config:u(b)},null,8,["x","y","labeltext","labelcolor","config"])):S("",!0),u(R).batterySoc>0?(h(),T(xe,{key:3,x:-Pe/2-Ce/4+10,y:u(e)/2-Ce+15,labeltext:"Speicher: "+u(R).batterySoc+"%",labelcolor:u(A).batIn.color,anchor:"start",config:u(b)},null,8,["x","y","labeltext","labelcolor","config"])):S("",!0),u(X).active?(h(),T(xe,{key:4,x:Pe/2+Ce/4-10,y:u(e)/2-Ce+15,value:ie.value,labeltext:u(X).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:u(b)},null,8,["x","y","value","labeltext","config"])):S("",!0),_(xe,{x:0,y:0,labeltext:s.value,labelcolor:"var(--color-fg)",anchor:"middle",config:u(b)},null,8,["labeltext","config"]),u(b).showRelativeArcs?(h(),y("text",{key:5,x:Pe/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+P(c.value),9,Mn)):S("",!0)])],8,Sn)],8,kn))])])]),_:1}))}}),$e=500,Ve=500,E={top:10,right:20,bottom:10,left:25},Ct=["charging","house","batIn","devices"];class Cn{constructor(){d(this,"data",[]);d(this,"_graphMode","")}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const p=H(new Cn);let ut=!0,Qe=!0;function Dt(){ut=!1}function Et(){Qe=!1}function $n(t){Qe=t}function Xe(t){p.data=t}const K=H({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(){p.data=[],this.unsubscribeUpdates(),this.subscribeRefresh(),We(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Vn(),ct.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),je(this.configTopic)},subscribeRefresh(){for(let t=1;t<17;t++)We(this.refreshTopicPrefix+t)},unsubscribeRefresh(){for(let t=1;t<17;t++)je(this.refreshTopicPrefix+t)},subscribeUpdates(){We(this.updateTopic)},unsubscribeUpdates(){je(this.updateTopic)}}),q=H({topic:"openWB/log/daily/#",date:new Date,activate(){if(p.graphMode=="day"||p.graphMode=="today"){p.graphMode=="today"&&(this.date=new Date);const t=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");We(this.topic),Ee("getDailyLog",{day:t})}},deactivate(){je(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(t){this.date=t},getDate(){return this.date}}),Be=H({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString()+this.month.toString().padStart(2,"0");p.data=[],We(this.topic),Ee("getMonthlyLog",{month:t})},deactivate(){je(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const t=new Date;t.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Le=H({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString();p.data=[],We(this.topic),Ee("getYearlyLog",{year:t})},deactivate(){je(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(M.items[t].energyPv+=1e3/12*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),M.items[t].energyBat+=1e3/12*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function On(t,e){e[t]>0&&(M.items[t].energyPv+=1e3*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),M.items[t].energyBat+=1e3*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Tn=["evuIn","pv","batIn","evuOut"],He=se(!1);function $t(t,e){Object.entries(t).length>0?(He.value=!1,Object.entries(t.counter).forEach(([a,n])=>{(e.length==0||e.includes(a))&&(M.items.evuIn.energy+=n.energy_imported,M.items.evuOut.energy+=n.energy_exported)}),M.items.pv.energy=t.pv.all.energy_exported,t.bat.all&&(M.items.batIn.energy=t.bat.all.energy_imported,M.items.batOut.energy=t.bat.all.energy_exported),Object.entries(t.cp).forEach(([a,n])=>{a=="all"?M.setEnergy("charging",n.energy_imported):M.setEnergy(a,n.energy_imported)}),M.setEnergy("devices",0),Object.entries(t.sh).forEach(([a,n])=>{M.setEnergy(a,n.energy_imported);const o=a.substring(2);ne.get(+o).countAsHouse||(M.items.devices.energy+=n.energy_imported)}),t.hc&&t.hc.all?M.setEnergy("house",t.hc.all.energy_imported):M.calculateHouseEnergy(),M.keys().map(a=>{Tn.includes(a)||(M.setPvPercentage(a,Math.round((M.items[a].energyPv+M.items[a].energyBat)/M.items[a].energy*100)),Ct.includes(a)&&(A[a].energy=M.items[a].energy,A[a].energyPv=M.items[a].energyPv,A[a].energyBat=M.items[a].energyBat,A[a].pvPercentage=M.items[a].pvPercentage))}),p.graphMode=="today"&&(Object.values(w).map(a=>{const n=M.items["cp"+a.id];n&&(a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}),ne.forEach(a=>{const n=M.items["sh"+a.id];n&&(a.energy=n.energy,a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}))):He.value=!0,ct.value=!0}function Vn(){M.keys().map(t=>{Ct.includes(t)&&(A[t].energy=M.items[t].energy,A[t].energyPv=0,A[t].energyBat=0,A[t].pvPercentage=0)}),Object.values(w).map(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0}),ne.forEach(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0})}const Me=g(()=>{const t=Ge(p.data,e=>e.date);return t[1]?wt().domain(Array.from({length:t[1]},(e,a)=>a+1)).paddingInner(.4).range([0,$e-E.left-2]):wt().range([0,0])});function It(){switch(p.graphMode){case"live":p.graphMode="today",b.showRightButton=!0,ae();break;case"today":p.graphMode="day",q.date=new Date,q.back(),ae();break;case"day":q.back(),ae();break;case"month":Be.back();break;case"year":Le.back();break}}function aa(){const t=new Date;switch(p.graphMode){case"live":break;case"today":p.graphMode="live",b.showRightButton=!1,ae();break;case"day":q.forward(),q.date.getDate()==t.getDate()&&q.date.getMonth()==t.getMonth()&&q.date.getFullYear()==t.getFullYear()&&(p.graphMode="today"),ae();break;case"month":Be.forward();break;case"year":Le.forward();break}}function na(){switch(p.graphMode){case"live":It();break;case"day":case"today":p.graphMode="month",ae();break;case"month":p.graphMode="year",ae();break}}function oa(){switch(p.graphMode){case"year":p.graphMode="month",ae();break;case"month":p.graphMode="today",ae();break;case"today":case"day":p.graphMode="live",ae();break}}function An(t){if(p.graphMode=="day"||p.graphMode=="today"){q.setDate(t);const e=new Date;q.date.getDate()==e.getDate()&&q.date.getMonth()==e.getMonth()&&q.date.getFullYear()==e.getFullYear()?p.graphMode="today":p.graphMode="day",ae()}}const Ln=["origin","transform"],Dn=V({__name:"PGSourceGraph",props:{width:{},height:{},margin:{}},setup(t){const e=t,a={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var n,o;const i=b.showAnimations?b.animationDuration:0,s=b.showAnimations?b.animationDelay:0,c=g(()=>{const x=Se("g#pgSourceGraph");p.graphMode=="month"||p.graphMode=="year"?B(x):Q(x),x.selectAll(".axis").remove();const C=x.append("g").attr("class","axis");return C.call(ie.value),C.selectAll(".tick").attr("font-size",12),C.selectAll(".tick line").attr("stroke",G.value).attr("stroke-width",D.value),C.select(".domain").attr("stroke","var(--color-bg)"),"pgSourceGraph.vue"}),l=g(()=>p.graphMode=="month"||p.graphMode=="year"?["evuIn","batOut","selfUsage","evuOut"]:["selfUsage","evuOut","batOut","evuIn"]),m=g(()=>Te().domain([0,p.data.length-1]).range([0,e.width])),v=g(()=>Jt().keys(l.value)),$=g(()=>v.value(p.data)),f=g(()=>Te().range([e.height-10,0]).domain(p.graphMode=="year"?[0,Math.ceil(I.value[1]*10)/10]:[0,Math.ceil(I.value[1])])),I=g(()=>{let x=Ge(p.data,C=>Math.max(C.pv+C.evuIn+C.batOut,C.selfUsage+C.evuOut));return x[0]!=null&&x[1]!=null?(p.graphMode=="year"&&(x[0]=x[0]/1e3,x[1]=x[1]/1e3),x):[0,0]}),j=g(()=>p.graphMode=="month"||p.graphMode=="year"?-e.width-e.margin.right-22:-e.width),ie=g(()=>pt(f.value).tickSizeInner(j.value).ticks(4).tickFormat(x=>(x==0?"":Math.round(x*10)/10).toLocaleString(void 0))),D=g(()=>b.showGrid?"0.5":"1"),G=g(()=>b.showGrid?"var(--color-grid)":"var(--color-bg)");function Q(x){const C=st().x((L,de)=>m.value(de)).y(f.value(0)),U=st().x((L,de)=>m.value(de)).y0(L=>f.value(p.graphMode=="year"?L[0]/1e3:L[0])).y1(L=>f.value(p.graphMode=="year"?L[1]/1e3:L[1]));ut?(x.selectAll("*").remove(),n=x.selectAll(".sourceareas").data($.value).enter().append("path").attr("fill",(L,de)=>a[l.value[de]]).attr("d",L=>C(L)),n.transition().duration(i).delay(s).ease(Ne).attr("d",L=>U(L)),Dt()):n.data($.value).transition().duration(0).ease(Ne).attr("d",L=>U(L))}function B(x){ut?(x.selectAll("*").remove(),o=x.selectAll(".sourcebar").data($.value).enter().append("g").attr("fill",(C,U)=>a[l.value[U]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,U)=>Me.value(p.data[U].date)??0).attr("y",()=>f.value(0)).attr("height",0).attr("width",Me.value.bandwidth()),o.transition().duration(i).delay(s).ease(Ne).attr("height",C=>p.graphMode=="year"?f.value(C[0]/1e3)-f.value(C[1]/1e3):f.value(C[0])-f.value(C[1])).attr("y",C=>p.graphMode=="year"?f.value(C[1]/1e3):f.value(C[1])),Dt()):(x.selectAll("*").remove(),o=x.selectAll(".sourcebar").data($.value).enter().append("g").attr("fill",(C,U)=>a[l.value[U]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,U)=>Me.value(p.data[U].date)??0).attr("y",C=>p.graphMode=="year"?f.value(C[1]/1e3):f.value(C[1])).attr("width",Me.value.bandwidth()).attr("height",C=>p.graphMode=="year"?f.value(C[0]/1e3)-f.value(C[1]/1e3):f.value(C[0])-f.value(C[1])))}return(x,C)=>(h(),y("g",{id:"pgSourceGraph",origin:c.value,transform:"translate("+x.margin.left+","+x.margin.top+")"},null,8,Ln))}}),En=["origin","transform"],Wn=V({__name:"PGUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(t){const e=t,a=[["house","charging","devices","batIn"],["charging","devices","house","batIn"],["devices","charging","house","batIn"]],n={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var o,i;const s=b.showAnimations?b.animationDuration:0,c=b.showAnimations?b.animationDelay:0,l=g(()=>{const B=Se("g#pgUsageGraph");p.graphMode=="month"||p.graphMode=="year"?Q(B):G(B),B.selectAll(".axis").remove();const x=B.append("g").attr("class","axis");return x.call(D.value),x.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),b.showGrid?x.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):x.selectAll(".tick line").attr("stroke","var(--color-bg)"),x.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),m=g(()=>Jt().keys(I.value)),v=g(()=>m.value(p.data)),$=g(()=>Te().domain([0,p.data.length-1]).range([0,e.width])),f=g(()=>Te().range([e.height+10,2*e.height]).domain(p.graphMode=="year"?[0,Math.ceil(j.value[1]*10)/10]:[0,Math.ceil(j.value[1])])),I=g(()=>{if(p.graphMode!="today"&&p.graphMode!="day")return a[e.stackOrder];{const B=a[e.stackOrder].slice(),x=B.indexOf("charging");B.splice(x,1);const C=/cp\d+/;let U=[];return p.data.length>0&&(U=Object.keys(p.data[0]).reduce((L,de)=>(de.match(C)&&L.push(de),L),[])),U.map((L,de)=>{B.splice(x+de,0,L),n[L]="var(--color-cp"+de+")"}),B}}),j=g(()=>{let B=Ge(p.data,x=>x.house+x.charging+x.batIn+x.devices);return B[0]!=null&&B[1]!=null?(p.graphMode=="year"&&(B[0]=B[0]/1e3,B[1]=B[1]/1e3),B):[0,0]}),ie=g(()=>p.graphMode=="month"||p.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=g(()=>pt(f.value).tickSizeInner(ie.value).ticks(4).tickFormat(B=>(B==0?"":Math.round(B*10)/10).toLocaleString(void 0)));function G(B){const x=st().x((U,L)=>$.value(L)).y(f.value(0)),C=st().x((U,L)=>$.value(L)).y0(U=>f.value(U[0])).y1(U=>f.value(U[1]));b.showAnimations?Qe?(B.selectAll("*").remove(),o=B.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",U=>x(U)).attr("fill",(U,L)=>n[I.value[L]]),o.transition().duration(300).delay(100).ease(Ne).attr("d",U=>C(U)),Et()):(B.selectAll("*").remove(),B.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",U=>C(U)).attr("fill",(U,L)=>n[I.value[L]])):(B.selectAll("*").remove(),B.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",U=>C(U)).attr("fill",(U,L)=>n[I.value[L]]))}function Q(B){Qe?(B.selectAll("*").remove(),i=B.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(x,C)=>n[a[e.stackOrder][C]]).selectAll("rect").data(x=>x).enter().append("rect").attr("x",(x,C)=>Me.value(p.data[C].date)??0).attr("y",()=>f.value(0)).attr("height",0).attr("width",Me.value.bandwidth()),i.transition().duration(s).delay(c).ease(Ne).attr("y",x=>p.graphMode=="year"?f.value(x[0]/1e3):f.value(x[0])).attr("height",x=>p.graphMode=="year"?f.value(x[1]/1e3)-f.value(x[0]/1e3):f.value(x[1])-f.value(x[0])),Et()):(B.selectAll("*").remove(),i=B.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(x,C)=>n[a[e.stackOrder][C]]).selectAll("rect").data(x=>x).enter().append("rect").attr("x",(x,C)=>Me.value(p.data[C].date)??0).attr("y",x=>p.graphMode=="year"?f.value(x[0]/1e3):f.value(x[0])).attr("height",x=>p.graphMode=="year"?f.value(x[1]/1e3)-f.value(x[0]/1e3):f.value(x[1])-f.value(x[0])).attr("width",Me.value.bandwidth()))}return(B,x)=>(h(),y("g",{id:"pgUsageGraph",origin:l.value,transform:"translate("+B.margin.left+","+B.margin.top+")"},null,8,En))}}),Gn=["transform"],jn=["origin","transform"],Un=["origin","transform"],zn={key:0},Nn=["width","height"],Fn={key:1},Jn=["y","width","height"],vt=12,Rn=V({__name:"PGXAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=g(()=>nt(c.value).ticks(4).tickSizeInner(s.value).tickFormat(kt("%H:%M"))),n=g(()=>fa(c.value).ticks(4).tickSizeInner(s.value+3).tickFormat(kt(""))),o=g(()=>nt(Me.value).ticks(4).tickSizeInner(s.value).tickFormat(v=>v.toString())),i=g(()=>nt(Me.value).ticks(4).tickSizeInner(s.value).tickFormat(()=>"")),s=g(()=>p.graphMode!=="month"&&p.graphMode!=="year"?b.showGrid?-(e.height/2-7):-10:0),c=g(()=>{let v=Ge(p.data,$=>$.date);return v[0]&&v[1]?qe().domain(v).range([0,e.width]):qe().range([0,0])}),l=g(()=>{let v=Se("g#PGXAxis");return v.selectAll("*").remove(),p.graphMode=="month"||p.graphMode=="year"?v.call(o.value):v.call(a.value),v.selectAll(".tick > text").attr("fill",($,f)=>f>0||p.graphMode=="month"||p.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",vt),b.showGrid?v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),v.append("text").attr("x",-e.margin.left).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",vt).text(p.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),m=g(()=>{let v=Se("g#PGXAxis2");return v.selectAll("*").remove(),p.graphMode=="month"||p.graphMode=="year"?v.call(i.value):v.call(n.value),v.selectAll(".tick > text").attr("fill",($,f)=>f>0||p.graphMode=="month"||p.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",vt),b.showGrid?(v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),v.select(".domain").attr("stroke","var(--color-bg)")):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"});return(v,$)=>(h(),y("g",{transform:"translate("+v.margin.left+","+v.margin.top+")"},[r("g",{id:"PGXAxis",class:"axis",origin:l.value,transform:"translate(0,"+(v.height/2-6)+")"},null,8,jn),r("g",{id:"PGXAxis2",class:"axis",origin:m.value,transform:"translate(0,"+(v.height/2+10)+")"},null,8,Un),u(b).showGrid?(h(),y("g",zn,[r("rect",{x:"0",y:"0",width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Nn)])):S("",!0),u(b).showGrid?(h(),y("g",Fn,[r("rect",{x:"0",y:v.height/2+10,width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Jn)])):S("",!0)],8,Gn))}}),Hn=["d"],Yn=["d","stroke"],qn=["x","y","text-anchor"],ft=V({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(t){const e=t,a=g(()=>{let f=Ge(p.data,I=>I.date);return f[0]&&f[1]?qe().domain(f).range([0,e.width]):qe().range([0,0])}),n=g(()=>Te().range([e.height-10,0]).domain([0,100])),o=g(()=>Rt().x(j=>a.value(j.date)).y(j=>n.value(e.order==2?j.batSoc:j["soc"+m.value.connectedVehicle])??n.value(0))(p.data)??""),i=g(()=>e.order==2?"Speicher":m.value.connectedVehicle),s=g(()=>e.order==2?"Speicher":m.value.vehicleName),c=g(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),l=g(()=>{switch(e.order){case 0:return e.width-3;case 1:return 3;case 2:return e.width/2;default:return 0}}),m=g(()=>{const f=e.order==2?0:e.order;return Object.values(w)[f]}),v=g(()=>{if(p.data.length>0){let f;switch(e.order){case 0:return f=p.data.length-1,n.value(p.data[f]["soc"+i.value]+2);case 1:return f=0,n.value(p.data[f]["soc"+i.value]+2);case 2:return f=Math.round(p.data.length/2),n.value(p.data[f].batSoc+2);default:return 0}}else return 0}),$=g(()=>{switch(e.order){case 0:return"end";case 1:return"start";case 2:return"middle";default:return"middle"}});return(f,I)=>(h(),y(ce,null,[r("path",{class:"soc-baseline",d:o.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,8,Hn),r("path",{class:"soc-dashes",d:o.value,stroke:c.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,Yn),r("text",{class:"cpname",x:l.value,y:v.value,style:oe({fill:c.value,fontSize:10}),"text-anchor":$.value},P(s.value),13,qn)],64))}}),Qn=["transform"],Zn=V({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=g(()=>Te().range([e.height-10,0]).domain([0,100])),n=g(()=>ya(a.value).ticks(5).tickFormat(i=>i.toString()+"%"));function o(){let i=Se("g#PGSocAxis");i.call(n.value),i.selectAll(".tick").attr("font-size",12),i.selectAll(".tick line").attr("stroke","var(--color-bg)"),i.select(".domain").attr("stroke","var(--color-bg)")}return Ze(()=>{o()}),(i,s)=>(h(),y("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(i.width-20)+",0)"},null,8,Qn))}}),Xn={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Kn=["id","value"],eo=V({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,o=g({get(){return a.modelValue},set(c){n("update:modelValue",c)}});function i(c){let l=a.options[c].color?a.options[c].color:"var(--color-fg)";return a.options[c].active?{color:"var(--color-bg)",background:l}:{color:l}}function s(c){let l=c.target;for(;l&&!l.value&&l.parentElement;)l=l.parentElement;l.value&&(o.value=l.value)}return(c,l)=>(h(),y("div",null,[r("div",Xn,[(h(!0),y(ce,null,ke(c.options,(m,v)=>(h(),y("button",{id:"radio-"+m.value,key:v,class:re(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",m.value==o.value?"active":""]),value:m.value,style:oe(i(v)),onClick:s},[r("span",{style:oe(i(v)),class:"scaled d-flex flex-column pt-2"},[m.icon?(h(),y("i",{key:0,class:re(["fa-solid",m.icon])},null,2)):S("",!0),W(" "+P(m.text),1)],4)],14,Kn))),128))])]))}}),ra=F(eo,[["__scopeId","data-v-270067ed"]]),to={key:0,class:"fa-solid fa-xl fa-chevron-circle-down p-1",style:{color:"var(--color-bg)"}},ao=V({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(t){const e=t,a=se(0),n=g(()=>{switch(p.graphMode){case"live":return e.ignoreLive?"heute":`${K.duration} min`;case"today":return"heute";case"day":return q.date.getDate()+"."+(q.date.getMonth()+1)+".";case"month":return xa(Be.month-1,Be.year);case"year":return Le.year.toString();default:return"???"}}),o=["live","today","day","month","year"],i=["Live","Heute","Tag","Monat","Jahr"],s=g({get(){return p.graphMode},set(D){switch(D){case"day":m();break;case"today":v();break;case"live":l();break;case"month":$();break;case"year":f()}}});function c(){a.value+=1,a.value>1&&(a.value=0)}function l(){p.graphMode!="live"&&(p.graphMode="live",ae())}function m(){p.graphMode!="day"&&p.graphMode!="today"&&(p.graphMode="day",ae())}function v(){p.graphMode!="today"&&(p.graphMode="today",An(new Date),ae())}function $(){p.graphMode!="month"&&(p.graphMode="month",ae())}function f(){p.graphMode!="year"&&(p.graphMode="year",ae())}const I=g(()=>a.value>0?{border:"1px solid var(--color-frame)"}:""),j=g(()=>a.value==1?"justify-content-between":"justify-content-end"),ie=g(()=>a.value==1?"justify-content-between":"justify-content-center");return(D,G)=>(h(),y("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:oe(I.value)},[a.value==2?(h(),T(ra,{key:0,id:"pgm2",modelValue:s.value,"onUpdate:modelValue":G[0]||(G[0]=Q=>s.value=Q),class:"m-2",options:o.map((Q,B)=>({text:i[B],value:Q,color:"var(--color-menu)",active:Q==u(p).graphMode}))},null,8,["modelValue","options"])):S("",!0),a.value==1?(h(),y("span",{key:1,type:"button",class:re(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:G[1]||(G[1]=Q=>D.$emit("shiftUp"))},G[6]||(G[6]=[r("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):S("",!0),r("div",{class:re(["d-flex align-items-center",ie.value])},[a.value==1?(h(),y("span",{key:0,type:"button",class:re(["p-1",{disabled:!e.showLeftButton}]),onClick:G[2]||(G[2]=Q=>D.$emit("shiftLeft"))},G[7]||(G[7]=[r("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):S("",!0),a.value<2?(h(),y("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:c},P(n.value),1)):S("",!0),a.value==1?(h(),y("span",{key:2,id:"graphRightButton",type:"button",class:re(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:G[3]||(G[3]=Q=>D.$emit("shiftRight"))},null,2)):S("",!0)],2),r("div",{class:re(["d-flex align-items-center",j.value])},[a.value==1?(h(),y("span",to)):S("",!0),a.value==1?(h(),y("span",{key:1,id:"graphLeftButton",type:"button",class:re(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:G[4]||(G[4]=Q=>D.$emit("shiftDown"))},null,2)):S("",!0),a.value>0?(h(),y("span",{key:2,type:"button",class:"p-1",onClick:G[5]||(G[5]=Q=>a.value=0)},G[8]||(G[8]=[r("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):S("",!0)],2)],4))}}),sa=F(ao,[["__scopeId","data-v-7fd067cd"]]),no={class:"d-flex justify-content-end"},oo={class:"grid-col-12"},ro=["viewBox"],so=["transform"],io=2,lo="Leistung / Ladestand ",co=V({__name:"PowerGraph",setup(t){function e(){let a=b.usageStackOrder+1;a>io&&(a=0),b.usageStackOrder=a,$n(!0)}return(a,n)=>(h(),T(gt,null,{title:k(()=>[W(P(lo))]),buttons:k(()=>[r("div",no,[_(sa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:u(It),onShiftRight:u(aa),onShiftUp:u(na),onShiftDown:u(oa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])])]),default:k(()=>[r("div",oo,[r("figure",{id:"powergraph",class:"p-0 m-0 align-self-stretch",onClick:e},[(h(),y("svg",{viewBox:"0 0 "+u($e)+" "+u(Ve)},[_(Dn,{width:u($e)-u(E).left-2*u(E).right,height:(u(Ve)-u(E).top-u(E).bottom)/2,margin:u(E)},null,8,["width","height","margin"]),_(Wn,{width:u($e)-u(E).left-2*u(E).right,height:(u(Ve)-u(E).top-u(E).bottom)/2,margin:u(E),"stack-order":u(b).usageStackOrder},null,8,["width","height","margin","stack-order"]),_(Rn,{width:u($e)-u(E).left-2*u(E).right,height:u(Ve)-u(E).top-u(E).bottom,margin:u(E),"graph-data":u(p)},null,8,["width","height","margin","graph-data"]),r("g",{transform:"translate("+u(E).left+","+u(E).top+")"},[(u(p).graphMode=="day"||u(p).graphMode=="today"||u(p).graphMode=="live")&&Object.values(u(w)).length>0?(h(),T(ft,{key:0,width:u($e)-u(E).left-2*u(E).right,height:(u(Ve)-u(E).top-u(E).bottom)/2,margin:u(E),order:0},null,8,["width","height","margin"])):S("",!0),(u(p).graphMode=="day"||u(p).graphMode=="today"||u(p).graphMode=="live")&&Object.values(u(w)).length>1?(h(),T(ft,{key:1,width:u($e)-u(E).left-2*u(E).right,height:(u(Ve)-u(E).top-u(E).bottom)/2,margin:u(E),order:1},null,8,["width","height","margin"])):S("",!0),["day","today","live"].includes(u(p).graphMode)&&u(R).isBatteryConfigured?(h(),T(ft,{key:2,width:u($e)-u(E).left-2*u(E).right,height:(u(Ve)-u(E).top-u(E).bottom)/2,margin:u(E),order:2},null,8,["width","height","margin"])):S("",!0),["day","today","live"].includes(u(p).graphMode)?(h(),T(Zn,{key:3,width:u($e)-u(E).left-u(E).right,height:(u(Ve)-u(E).top-u(E).bottom)/2,margin:u(E)},null,8,["width","height","margin"])):S("",!0)],8,so)],8,ro))])])]),_:1}))}}),uo=F(co,[["__scopeId","data-v-ba892fa4"]]),ho=["id"],po=["x","width","height","fill"],go=["x","width","height"],mo=["x","y","width","height"],vo=V({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=g(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),n=g(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom:0),o=g(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom:0);return(i,s)=>(h(),y("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[r("rect",{class:"bar",x:e.xScale(i.item.name),y:"0",width:e.xScale.bandwidth(),height:a.value,fill:i.item.color},null,8,po),r("rect",{class:"bar",x:e.xScale(i.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:n.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,go),r("rect",{class:"bar",x:e.xScale(i.item.name)+e.xScale.bandwidth()/6,y:n.value,width:e.xScale.bandwidth()*2/3,height:o.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,mo)],8,ho))}}),fo={id:"emBargraph"},yo=V({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(t){const e=t;function a(o){if(o.name=="PV"){const i=p.graphMode=="live"||p.graphMode=="day"?N:M.items,c=(p.graphMode=="live"||p.graphMode=="day"?A:M.items).evuOut.energy,l=i.pv.energy;return Math.round((l-c)/l*100)}else if(o.name=="Netz"){const i=p.graphMode=="live"||p.graphMode=="day"?N:M.items,s=p.graphMode=="live"||p.graphMode=="day"?A:M.items,c=s.evuOut.energy,l=i.evuIn.energy,m=i.pv.energy,v=i.batOut.energy,$=s.batIn.energy;return Math.round((m+v-c-$)/(m+v+l-c-$)*100)}else return o.pvPercentage}function n(o){return o.name=="PV"?"Eigen":"Aut"}return(o,i)=>(h(),y("g",fo,[(h(!0),y(ce,null,ke(e.plotdata,(s,c)=>(h(),y("g",{key:c},[_(vo,{item:s,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(s),autarchy:a(s)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),i[0]||(i[0]=r("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),bo=["origin"],_o=V({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(t){const e=t,a=g(()=>pt(e.yScale).tickFormat(o=>o>0?(o/1e3).toString():"").ticks(6).tickSizeInner(-e.width)),n=g(()=>{const o=Se("g#emYAxis");return o.attr("class","axis").call(a.value),o.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),o.selectAll(".tick").attr("font-size",e.fontsize),b.showGrid?o.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});return(o,i)=>(h(),y("g",{id:"emYAxis",class:"axis",origin:n.value},null,8,bo))}}),wo=["id"],ko=["x","y","font-size"],So=["x","y","font-size","fill"],xo=["x","y","font-size","fill"],Mo=V({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=g(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),n=g(()=>{let l=16,m=e.barcount;return m<=5?l=16:m==6?l=14:m>6&&m<=8?l=13:m==9?l=11:m==10?l=10:l=9,l}),o=g(()=>{let l=12,m=e.barcount;return m<=5?l=12:m==6?l=11:m>6&&m<=8||m==9?l=8:m==10?l=7:l=6,l});function i(l,m){return m.length>o.value?m.substring(0,o.value)+".":m}function s(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function c(){return"var(--color-pv)"}return(l,m)=>(h(),y("g",{id:"barlabel-"+e.item.name},[r("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:a.value,"font-size":n.value,"text-anchor":"middle",fill:"var(--color-menu)"},P(u(Yt)(l.item.energy,u(b).decimalPlaces,!1)),9,ko),r("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:e.yScale(l.item.energy)-10,"font-size":n.value-2,"text-anchor":"middle",fill:c()},P(s()),9,So),r("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":n.value,"text-anchor":"middle",fill:l.item.color,class:re(l.item.icon.length<=2?"fas":"")},P(i(l.item.name,l.item.icon)),11,xo)],8,wo))}}),Po={id:"emBarLabels"},Co=V({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(t){const e=t;function a(o){if(o.name=="PV"){const i=p.graphMode=="live"||p.graphMode=="day"?N:M.items,c=(p.graphMode=="live"||p.graphMode=="day"?A:M.items).evuOut.energy,l=i.pv.energy;return Math.round((l-c)/l*100)}else if(o.name=="Netz"){const i=p.graphMode=="live"||p.graphMode=="day"?N:M.items,s=p.graphMode=="live"||p.graphMode=="day"?A:M.items,c=s.evuOut.energy,l=i.evuIn.energy,m=i.pv.energy,v=i.batOut.energy,$=s.batIn.energy;return m+v-c-$>0?Math.round((m+v-c-$)/(m+v+l-c-$)*100):0}else return o.pvPercentage}function n(o){return o.name=="PV"?"Eigen":"Aut"}return(o,i)=>(h(),y("g",Po,[(h(!0),y(ce,null,ke(e.plotdata,(s,c)=>(h(),y("g",{key:c},[_(Mo,{item:s,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(s),autarchy:a(s)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),$o={class:"grid-col-12"},Io={id:"energymeter",class:"energymeter p-0 m-0 align-self-stretch"},Bo={viewBox:"0 0 500 500"},Oo=["transform"],To=["x"],Vo={key:0},Wt=500,yt=500,Gt=12,Ao="Energie",Lo=V({__name:"EnergyMeter",setup(t){const e={top:25,bottom:30,left:25,right:0},a=g(()=>{let s=Object.values(N),c=i.value,l=M.values(),m=[];switch(b.debug&&(console.debug("----------------------- source summary -----------------"),console.debug(N),console.debug("----------------------- usage details ------------------"),console.debug(i.value),console.debug("----------------------- historic summary ---------------"),console.debug(M),console.debug("--------------------------------------------------------")),ct.value==!0&&(ct.value=!1),p.graphMode){default:case"live":case"today":m=s.concat(c).filter(v=>v.energy>0);break;case"day":case"month":case"year":l.length==0?He.value=!0:(He.value=!1,m=l.filter(v=>v.energy>0))}return m}),n=g(()=>wt().range([0,Wt-e.left-e.right]).domain(a.value.map(s=>s.name)).padding(.4)),o=g(()=>Te().range([yt-e.bottom-e.top,15]).domain([0,ba(a.value,s=>s.energy)])),i=g(()=>{const s=Object.values(w).length,c=[...ne.values()].filter(l=>l.configured).length;return[A.evuOut,A.devices,A.charging].concat(s>1?Object.values(w).map(l=>l.toPowerItem()):[]).concat(c>1?[...ne.values()].filter(l=>l.configured&&l.showInGraph):[]).concat([A.batIn,A.house])});return(s,c)=>(h(),T(gt,null,{title:k(()=>[W(P(Ao))]),buttons:k(()=>[_(sa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:u(It),onShiftRight:u(aa),onShiftUp:u(na),onShiftDown:u(oa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])]),default:k(()=>[r("div",$o,[r("figure",Io,[(h(),y("svg",Bo,[r("g",{transform:"translate("+e.left+","+e.top+")"},[_(yo,{plotdata:a.value,"x-scale":n.value,"y-scale":o.value,height:yt,margin:e},null,8,["plotdata","x-scale","y-scale"]),_(_o,{"y-scale":o.value,width:Wt,fontsize:Gt,config:u(b)},null,8,["y-scale","config"]),r("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":Gt},P(u(p).graphMode=="year"?"MWh":"kWh"),9,To),_(Co,{plotdata:a.value,"x-scale":n.value,"y-scale":o.value,height:yt,margin:e,config:u(b)},null,8,["plotdata","x-scale","y-scale","config"])],8,Oo)]))])]),u(He)?(h(),y("p",Vo,"No data")):S("",!0)]),_:1}))}}),Do=F(Lo,[["__scopeId","data-v-35f92695"]]),Eo=["id"],Wo={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Go={class:"modal-content"},jo={class:"modal-header"},Uo={class:"modal-title scaled"},zo={class:"modal-body"},No=V({__name:"ModalComponent",props:{modalId:{}},setup(t){const e=t;return(a,n)=>(h(),y("div",{id:e.modalId,class:"modal fade"},[r("div",Wo,[r("div",Go,[r("div",jo,[r("h3",Uo,[fe(a.$slots,"title",{},void 0)]),n[0]||(n[0]=r("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[r("i",{class:"fa-solid fa-lg fa-circle-check m-0 p-0"})],-1))]),r("div",zo,[fe(a.$slots,"default",{},void 0)]),n[1]||(n[1]=r("div",{class:"modal-footer"},null,-1))])])],8,Eo))}}),bt=F(No,[["__scopeId","data-v-dff8d7c2"]]),Fo={class:"digit scaled",type:"button"},Jo=V({__name:"PadButton",props:{modelValue:{},color:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=se(!1);function o(){n.value=!0,s("update:modelValue",a.modelValue),setTimeout(()=>{n.value=!1},300)}const i=g(()=>n.value?{"background-color":"white",color:"black"}:{"background-color":a.color??"var(--color-axis)"}),s=e;return(c,l)=>(h(),y("div",{class:"padbutton",style:oe(i.value),onClick:o},[r("span",Fo,[fe(c.$slots,"default",{},void 0)])],4))}}),tt=F(Jo,[["__scopeId","data-v-cc256a6f"]]),Ro={class:"numberpad"},Ho={class:"codedisplay scaled"},Yo={class:"numberentry"},qo=V({__name:"NumberPad",props:{modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const n=se(t.modelValue),o=e,i=g(()=>n.value.length==0?"Bitte geben Sie die PIN ein":"*".repeat(n.value.length));function s(c){c==-1?n.value=n.value.slice(0,-1):c==-2?(o("update:modelValue",n.value),n.value=""):n.value=n.value+c.toString()}return(c,l)=>(h(),y("div",Ro,[r("p",Ho,P(i.value),1),r("div",Yo,[(h(),y(ce,null,ke(9,m=>_(tt,{key:m,"model-value":m,"onUpdate:modelValue":s},{default:k(()=>[W(P(m),1)]),_:2},1032,["model-value"])),64)),_(tt,{"model-value":0,"onUpdate:modelValue":s},{default:k(()=>l[0]||(l[0]=[W("0")])),_:1}),_(tt,{"model-value":-1,color:"var(--color-devices)","onUpdate:modelValue":s},{default:k(()=>l[1]||(l[1]=[r("span",{class:"fas fa-delete-left"},null,-1)])),_:1}),_(tt,{"model-value":-2,color:"var(--color-devices)","data-bs-dismiss":"modal","onUpdate:modelValue":s},{default:k(()=>l[2]||(l[2]=[r("span",{class:"fas fa-circle-check"},null,-1)])),_:1})])]))}}),Qo=F(qo,[["__scopeId","data-v-63c8fa5c"]]),Zo={class:"statustable"},Xo={key:0,class:"controlbuttons d-flex justify-content-between p-5"},Ko={key:1,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},er={class:"d-flex justify-content-between mt-3"},tr={key:2,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},ar={class:"d-flex justify-content-between mt-3"},nr={key:3,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},or={key:4,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},rr=V({__name:"StatusPage",setup(t){let e=se(0);function a(){e.value=4,Ae.parentChargePoint1!==void 0?(console.log("Shutting down secondary charge point: ",Ae.parentChargePoint1),Ee("chargepointShutdown",{chargePoint:Ae.parentChargePoint1})):(console.log("Shutting down primary system"),Ee("systemShutdown"))}function n(){e.value=3,Ae.parentChargePoint1!==void 0?(console.log("Rebooting secondary charge point:",Ae.parentChargePoint1),Ee("chargepointReboot",{chargePoint:Ae.parentChargePoint1})):(console.log("Rebooting primary system"),Ee("systemReboot"))}function o(){location.reload()}return(i,s)=>(h(),y(ce,null,[r("div",Zo,[s[7]||(s[7]=r("span",{class:"header"},"IP-Adresse:",-1)),r("span",null,P(u(R).ipAddress),1),s[8]||(s[8]=r("span",{class:"header"},"Systemzeit:",-1)),r("span",null,P(new Date(u(R).systemTime*1e3).toLocaleString(void 0)),1),s[9]||(s[9]=r("span",{class:"header"},"Version:",-1)),r("span",null,P(u(R).version),1),s[10]||(s[10]=r("span",{class:"header"},"Version (Details):",-1)),r("span",null,P(u(R).versionDetails),1),s[11]||(s[11]=r("span",{class:"header"},"Entwicklungszweig:",-1)),r("span",null,P(u(R).devBranch),1)]),u(e)==0?(h(),y("div",Xo,[r("button",{class:"btn controlbutton",style:{"background-color":"var(--color-battery)"},onClick:s[0]||(s[0]=c=>o())},s[12]||(s[12]=[r("i",{class:"fa-solid fa-rotate-left"},null,-1),W(" Display neu laden ")])),r("button",{class:"btn controlbutton",style:{"background-color":"var(--color-evu)"},onClick:s[1]||(s[1]=c=>et(e)?e.value=1:e=1)},s[13]||(s[13]=[r("i",{class:"fa-solid fa-power-off"},null,-1),W(" openWB neu starten ")])),r("button",{class:"btn controlbutton",style:{"background-color":"var(--color-evu)"},onClick:s[2]||(s[2]=c=>et(e)?e.value=2:e=2)},s[14]||(s[14]=[r("i",{class:"fa-solid fa-power-off"},null,-1),W(" openWB abschalten ")]))])):S("",!0),u(e)==1?(h(),y("div",Ko,[s[15]||(s[15]=r("span",{class:"confirmTitle"},"Neustart",-1)),s[16]||(s[16]=r("span",{class:"confirmQuestion"},"Die openWB jetzt neu starten?",-1)),r("div",er,[r("button",{class:"btn cancelButton mx-3 px-3",onClick:s[3]||(s[3]=c=>et(e)?e.value=0:e=0)}," Abbrechen "),r("button",{class:"btn confirmButton mx-3 px-3",onClick:s[4]||(s[4]=c=>n())}," Neustart ")])])):S("",!0),u(e)==2?(h(),y("div",tr,[s[17]||(s[17]=r("span",{class:"confirmTitle"},"Abschalten",-1)),s[18]||(s[18]=r("span",{class:"confirmQuestion"},"Die openWB jetzt abschalten?",-1)),r("div",ar,[r("button",{class:"btn cancelButton mx-3 px-3",onClick:s[5]||(s[5]=c=>et(e)?e.value=0:e=0)}," Abbrechen "),r("button",{class:"btn confirmButton mx-3 px-3",onClick:s[6]||(s[6]=c=>a())}," Abschalten ")])])):S("",!0),u(e)==3?(h(),y("div",nr,s[19]||(s[19]=[r("span",{class:"confirmTitle"},"Die openWB startet jetzt neu. Bitte warten.",-1)]))):S("",!0),u(e)==4?(h(),y("div",or,s[20]||(s[20]=[r("span",{class:"confirmTitle"},"Die openWB wird heruntergefahren. Zum Starten die Stromversorgung aus- und wieder einschalten.",-1)]))):S("",!0)],64))}}),sr=F(rr,[["__scopeId","data-v-74ffcddc"]]),ir={class:"d-flex align-items-baseline m-0 p-0 scaled"},lr={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},cr={class:"justify-content-stretch d-flex"},ur=V({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},iconcolor:{},fullwidth:{type:Boolean}},setup(t){const e=t;return(a,n)=>(h(),y(ce,null,[r("span",ir,[e.icon?(h(),y("i",{key:0,class:re(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon]),style:oe({color:e.iconcolor?e.iconcolor:"var(--color-charging)"})},null,6)):S("",!0),W(" "+P(a.title),1)]),r("div",lr,[r("span",cr,[fe(a.$slots,"default",{},void 0)])])],64))}}),ee=F(ur,[["__scopeId","data-v-45020119"]]),dr={class:"rangewidget d-flex flex-column"},hr={class:"rangeslider d-flex flex-fill justify-content-between align-items-center"},pr={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},gr={key:0,id:"rangeIndicator",class:"rangeIndicator"},mr={viewBox:"0 0 100 2"},vr=["width"],fr=["x","width"],yr=["x","width"],br=["id","min","max","step"],_r={class:"d-flex justify-content-between align-items-center"},wr={class:"minlabel ps-4"},kr={class:"valuelabel"},Sr={class:"maxlabel pe-4"},xr=V({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=a.decimals??0,o=e,i=g({get(){return Math.round(a.modelValue*Math.pow(10,n))/Math.pow(10,n)},set(f){o("update:modelValue",f)}});function s(){i.value>a.min&&(i.value=Math.round((i.value-a.step)*Math.pow(10,n))/Math.pow(10,n))}function c(){i.valueTe().domain([a.min,a.max]).range([0,100])),m=g(()=>l.value(a.subrangeMin?a.subrangeMin:0)),v=g(()=>a.subrangeMin&&a.subrangeMax?l.value(a.subrangeMax)-l.value(a.subrangeMin):0),$=g(()=>a.subrangeMax&&a.max?l.value(a.max)-l.value(a.subrangeMax):0);return(f,I)=>(h(),y("span",dr,[r("span",hr,[r("span",{type:"button",class:"minusButton",onClick:s},I[1]||(I[1]=[r("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),r("div",pr,[a.showSubrange?(h(),y("figure",gr,[(h(),y("svg",mr,[r("g",null,[r("rect",{class:"below",x:0,y:"0",width:m.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,vr),r("rect",{class:"bar",x:m.value,y:"0",width:v.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,fr),r("rect",{class:"above",x:m.value+v.value,y:"0",width:$.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,yr)])]))])):S("",!0),Fe(r("input",{id:f.id,"onUpdate:modelValue":I[0]||(I[0]=j=>i.value=j),type:"range",class:"form-range flex-fill",min:f.min,max:f.max,step:f.step},null,8,br),[[_a,i.value,void 0,{number:!0}]])]),r("span",{type:"button",class:"plusButton",onClick:c},I[2]||(I[2]=[r("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),r("span",_r,[r("span",wr,P(f.min),1),r("span",kr,P(i.value)+" "+P(f.unit),1),r("span",Sr,P(f.max),1)])]))}}),Oe=F(xr,[["__scopeId","data-v-41dc3794"]]),Mr=["id","value"],Pr=V({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,o=g({get(){return a.modelValue},set(c){n("update:modelValue",c)}});function i(c){return a.options[c][2]?{color:a.options[c][2]}:{color:"var(--color-fg)"}}function s(c){let l=c.target;for(;l&&!l.value&&l.parentElement;)l=l.parentElement;l.value&&(o.value=l.value)}return(c,l)=>(h(),y("div",null,[(h(!0),y(ce,null,ke(c.options,(m,v)=>(h(),y("button",{id:"radio-"+m[1],key:v,class:re(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",m[1]==o.value?"active":""]),value:m[1],style:oe(i(v)),onClick:s},[r("span",{style:oe(i(v)),class:"scaled"},[m[3]?(h(),y("i",{key:0,class:re(["fa-solid",m[3]])},null,2)):S("",!0),W(" "+P(m[0]),1)],4)],14,Mr))),128))]))}}),rt=F(Pr,[["__scopeId","data-v-005a14a9"]]),Cr={class:"instantsettings"},$r={key:0},Ir=V({__name:"CPConfigInstant",props:{chargepointId:{}},setup(t){const e=t,a=g(()=>w[e.chargepointId]),n=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],o=g({get(){return a.value.instantMaxEnergy/1e3},set(i){a.value.instantMaxEnergy=i*1e3}});return(i,s)=>(h(),y("div",Cr,[_(ee,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:k(()=>[_(Oe,{id:"targetCurrent",modelValue:a.value.instantTargetCurrent,"onUpdate:modelValue":s[0]||(s[0]=c=>a.value.instantTargetCurrent=c),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),a.value.instantChargeLimitMode!="none"?(h(),y("hr",$r)):S("",!0),_(ee,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:k(()=>[_(rt,{modelValue:a.value.instantChargeLimitMode,"onUpdate:modelValue":s[1]||(s[1]=c=>a.value.instantChargeLimitMode=c),options:n.map(c=>[c.name,c.id])},null,8,["modelValue","options"])]),_:1}),a.value.instantChargeLimitMode=="soc"?(h(),T(ee,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:k(()=>[_(Oe,{id:"maxSoc",modelValue:a.value.instantTargetSoc,"onUpdate:modelValue":s[2]||(s[2]=c=>a.value.instantTargetSoc=c),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):S("",!0),a.value.instantChargeLimitMode=="amount"?(h(),T(ee,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:k(()=>[_(Oe,{id:"maxEnergy",modelValue:o.value,"onUpdate:modelValue":s[3]||(s[3]=c=>o.value=c),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):S("",!0)]))}}),Br=F(Ir,[["__scopeId","data-v-6c87e539"]]),Or={class:"form-check form-switch d-flex align-items-center justify-content-center"},Tr=V({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,o=g({get(){return a.modelValue},set(i){n("update:modelValue",i)}});return(i,s)=>(h(),y("div",Or,[Fe(r("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>o.value=c),class:"form-check-input",type:"checkbox",role:"switch"},null,512),[[wa,o.value]])]))}}),we=F(Tr,[["__scopeId","data-v-547e6de4"]]),Vr={class:"pvsettings pt-2"},Ar=V({__name:"CPConfigPv",props:{chargepointId:{}},setup(t){const e=t,a=g(()=>w[e.chargepointId]),n=g({get(){return a.value.pvMinCurrent>5},set(s){s?a.value.pvMinCurrent=6:a.value.pvMinCurrent=0}}),o=g({get(){return a.value.pvMinSoc>0},set(s){s?a.value.pvMinSoc=50:a.value.pvMinSoc=0}}),i=g({get(){return a.value.pvMaxSoc<=100},set(s){s?a.value.pvMaxSoc=100:a.value.pvMaxSoc=101}});return(s,c)=>(h(),y("div",Vr,[_(ee,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:k(()=>[_(we,{id:"limitSoc",modelValue:i.value,"onUpdate:modelValue":c[0]||(c[0]=l=>i.value=l)},null,8,["modelValue"])]),_:1}),i.value?(h(),T(ee,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:k(()=>[_(Oe,{id:"maxSoc",modelValue:a.value.pvMaxSoc,"onUpdate:modelValue":c[1]||(c[1]=l=>a.value.pvMaxSoc=l),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):S("",!0),_(ee,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:k(()=>[_(we,{modelValue:a.value.pvFeedInLimit,"onUpdate:modelValue":c[2]||(c[2]=l=>a.value.pvFeedInLimit=l)},null,8,["modelValue"])]),_:1}),_(ee,{title:"Mindest-Ladestand",icon:"fa-battery-half",fullwidth:!0},{default:k(()=>[_(we,{modelValue:o.value,"onUpdate:modelValue":c[3]||(c[3]=l=>o.value=l)},null,8,["modelValue"])]),_:1}),o.value?(h(),T(ee,{key:1,title:"...bis SoC",fullwidth:!0},{default:k(()=>[_(Oe,{id:"minSoc",modelValue:a.value.pvMinSoc,"onUpdate:modelValue":c[4]||(c[4]=l=>a.value.pvMinSoc=l),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):S("",!0),o.value?(h(),T(ee,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:k(()=>[_(Oe,{id:"minSocCurrent",modelValue:a.value.pvMinSocCurrent,"onUpdate:modelValue":c[5]||(c[5]=l=>a.value.pvMinSocCurrent=l),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):S("",!0),_(ee,{title:"Minimaler Ladestrom",icon:"fa-bolt",fullwidth:!0},{default:k(()=>[_(we,{modelValue:n.value,"onUpdate:modelValue":c[6]||(c[6]=l=>n.value=l)},null,8,["modelValue"])]),_:1}),n.value?(h(),T(ee,{key:3,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:k(()=>[_(Oe,{id:"minCurrent",modelValue:a.value.pvMinCurrent,"onUpdate:modelValue":c[7]||(c[7]=l=>a.value.pvMinCurrent=l),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):S("",!0)]))}}),Lr=F(Ar,[["__scopeId","data-v-908e4b46"]]),Dr={class:"d-flex flex-column p-3"},Er={key:0,class:"warning p-5"},Wr={class:"table table-dark"},Gr=V({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=g(()=>Je[a.chargeTemplateId]?Object.values(Je[a.chargeTemplateId]):[]);function o(c){console.log(`update ${c}`),Y("cpScheduledPlanActive",n.value[c].active,a.chargeTemplateId,c)}function i(c){return n.value[c].time}function s(c){return{"font-weight":n.value[c].active?"bold":"regular"}}return(c,l)=>(h(),y("div",Dr,[l[1]||(l[1]=r("div",{class:"subtitle mb-4"},"Pläne für Zielladen:",-1)),n.value.length==0?(h(),y("div",Er," Es sind noch keine Pläne definiert. Pläne für das Zielladen können in der Web-App festgelegt werden. ")):S("",!0),r("table",Wr,[l[0]||(l[0]=r("thead",null,[r("tr",null,[r("th"),r("th",null,"Startzeit"),r("th",null,"SoC-Ziel"),r("th",null,"SoC-Limit"),r("th",null,"Wiederholung")])],-1)),r("tbody",null,[(h(!0),y(ce,null,ke(n.value,(m,v)=>(h(),y("tr",{key:v,style:oe(s(v))},[r("td",null,[_(we,{modelValue:m.active,"onUpdate:modelValue":[$=>m.active=$,$=>o(v)]},null,8,["modelValue","onUpdate:modelValue"])]),r("td",null,P(i(v)),1),r("td",null,P(m.limit.soc_scheduled)+"%",1),r("td",null,P(m.limit.soc_limit)+"%",1),r("td",null,P(e[m.frequency.selected]),1)],4))),128))])])]))}}),jr=F(Gr,[["__scopeId","data-v-09a476b7"]]),Ur={class:"d-flex flex-column p-3"},zr={key:0,class:"warning p-5"},Nr={class:"table table-dark"},Fr=V({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=g(()=>Re[a.chargeTemplateId]?Object.values(Re[a.chargeTemplateId])??[]:[]);function o(s){console.log(`update ${s}`),Y("cpTimedPlanActive",n.value[s].active,a.chargeTemplateId,s)}function i(s){return{"font-weight":n.value[s].active?"bold":"regular"}}return(s,c)=>(h(),y("div",Ur,[c[1]||(c[1]=r("div",{class:"subtitle mb-4"},"Zeitpläne:",-1)),n.value.length==0?(h(),y("div",zr," Es sind noch keine Pläne definiert. Zeitpläne können in der Web-App festgelegt werden. ")):S("",!0),r("table",Nr,[c[0]||(c[0]=r("thead",null,[r("tr",null,[r("th"),r("th",null,"Von"),r("th",null,"Bis"),r("th",null,"Ladestrom"),r("th",null,"Wiederholung")])],-1)),r("tbody",null,[(h(!0),y(ce,null,ke(n.value,(l,m)=>(h(),y("tr",{key:m,style:oe(i(m))},[r("td",null,[_(we,{modelValue:l.active,"onUpdate:modelValue":[v=>l.active=v,v=>o(m)]},null,8,["modelValue","onUpdate:modelValue"])]),r("td",null,P(l.time[0]),1),r("td",null,P(l.time[1]),1),r("td",null,P(l.current)+"A",1),r("td",null,P(e[l.frequency.selected]),1)],4))),128))])])]))}}),Jr=F(Fr,[["__scopeId","data-v-93a76758"]]),Rr={class:"chargesettings pt-2"},Hr={key:2,class:"grid-col-2 my-2"},Yr=V({__name:"CPChargeConfig",props:{chargepointId:{}},setup(t){const e=t,a=g(()=>w[e.chargepointId]),n=g({get:()=>a.value.connectedVehicle,set:s=>{w[a.value.id].connectedVehicle=s}}),o=g({get:()=>a.value.etActive,set:s=>{w[a.value.id].etActive=s}}),i=g({get:()=>a.value.timedCharging,set:s=>{w[a.value.id].timedCharging=s}});return(s,c)=>(h(),y("div",Rr,[Object.keys(u(J)).length>1?(h(),T(ee,{key:0,title:"Fahrzeug wechseln",icon:"fa-car",fullwidth:!0},{default:k(()=>[_(rt,{modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=l=>n.value=l),modelModifiers:{number:!0},options:Object.values(u(J)).map(l=>[l.name,l.id])},null,8,["modelValue","options"])]),_:1})):S("",!0),Object.keys(u(ue)).length>1?(h(),T(ee,{key:1,title:"Ladeprofil",icon:"fa-sliders",iconcolor:"var(--color-pv)"},{default:k(()=>[u(J)[n.value]?(h(),T(rt,{key:0,modelValue:u(J)[n.value].chargeTemplateId,"onUpdate:modelValue":c[1]||(c[1]=l=>u(J)[n.value].chargeTemplateId=l),modelModifiers:{number:!0},options:Object.keys(u(ue)).map(l=>[u(ue)[+l].name,l])},null,8,["modelValue","options"])):S("",!0)]),_:1})):S("",!0),c[7]||(c[7]=r("hr",{class:"grid-col-2 my-2"},null,-1)),_(ee,{title:"Priorität",icon:"fa-star",iconcolor:"var(--color-evu)",fullwidth:!0},{default:k(()=>[_(we,{modelValue:a.value.hasPriority,"onUpdate:modelValue":c[2]||(c[2]=l=>a.value.hasPriority=l)},null,8,["modelValue"])]),_:1}),_(ee,{title:"Zeitplan aktivieren",icon:"fa-clock",iconcolor:"var(--color-battery)"},{default:k(()=>[_(we,{modelValue:i.value,"onUpdate:modelValue":c[3]||(c[3]=l=>i.value=l)},null,8,["modelValue"])]),_:1}),_(ee,{title:"Sperren",icon:"fa-lock",iconcolor:"var(--color-evu)",fullwidth:!0},{default:k(()=>[_(we,{modelValue:a.value.isLocked,"onUpdate:modelValue":c[4]||(c[4]=l=>a.value.isLocked=l)},null,8,["modelValue"])]),_:1}),_(ee,{title:"Strompreisbasiert laden",icon:"fa-coins",iconcolor:"var(--color-battery)"},{default:k(()=>[_(we,{modelValue:o.value,"onUpdate:modelValue":c[5]||(c[5]=l=>o.value=l)},null,8,["modelValue"])]),_:1}),u(R).isBatteryConfigured?(h(),y("hr",Hr)):S("",!0),u(R).isBatteryConfigured?(h(),T(ee,{key:3,title:"PV-Priorität (global)",icon:"fa-car-battery",iconcolor:"var(--color-battery)",fullwidth:!0},{default:k(()=>[_(rt,{modelValue:u(R).pvBatteryPriority,"onUpdate:modelValue":c[6]||(c[6]=l=>u(R).pvBatteryPriority=l),options:u(Wa)},null,8,["modelValue","options"])]),_:1})):S("",!0)]))}}),qr=F(Yr,[["__scopeId","data-v-1cad71ed"]]),Qr={class:"digit scaled",type:"button"},Zr=V({__name:"PadButtonSmall",props:{modelValue:{},color:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=se(!1);function o(){n.value=!0,s("update:modelValue",a.modelValue),setTimeout(()=>{n.value=!1},300)}const i=g(()=>n.value?{"background-color":"white",color:"black"}:{"background-color":a.color??"var(--color-axis)"}),s=e;return(c,l)=>(h(),y("div",{class:"padbutton",style:oe(i.value),onClick:o},[r("span",Qr,[fe(c.$slots,"default",{},void 0)])],4))}}),De=F(Zr,[["__scopeId","data-v-c4e8b67a"]]),Xr={class:"numberpad"},Kr={class:"codedisplay scaled px-3 py-1 mb-4"},es={class:"numberentry"},ts=V({__name:"PricePad",props:{modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const n=se(t.modelValue),o=e;function i(s){s==-1?n.value=n.value.slice(0,-1):s==-2?(o("update:modelValue",n.value),n.value=""):s==-3?n.value.indexOf(".")==-1&&(n.value=n.value+"."):n.value=n.value+s.toString()}return(s,c)=>(h(),y("div",Xr,[r("p",Kr,P(n.value)+" ct",1),r("div",es,[(h(),y(ce,null,ke(3,l=>_(De,{key:l,"model-value":l,"onUpdate:modelValue":i},{default:k(()=>[W(P(l),1)]),_:2},1032,["model-value"])),64)),_(De,{"model-value":-2,color:"var(--color-devices)","onUpdate:modelValue":i},{default:k(()=>c[0]||(c[0]=[r("span",{class:"fas fa-circle-check"},null,-1)])),_:1}),(h(),y(ce,null,ke([4,5,6],l=>_(De,{key:l,"model-value":l,"onUpdate:modelValue":i},{default:k(()=>[W(P(l),1)]),_:2},1032,["model-value"])),64)),_(De,{"model-value":-1,color:"var(--color-devices)","onUpdate:modelValue":i},{default:k(()=>c[1]||(c[1]=[r("span",{class:"fas fa-delete-left"},null,-1)])),_:1}),(h(),y(ce,null,ke([7,8,9],l=>_(De,{key:l,"model-value":l,"onUpdate:modelValue":i},{default:k(()=>[W(P(l),1)]),_:2},1032,["model-value"])),64)),c[4]||(c[4]=r("div",null,null,-1)),c[5]||(c[5]=r("div",null,null,-1)),_(De,{"model-value":0,"onUpdate:modelValue":i},{default:k(()=>c[2]||(c[2]=[W("0")])),_:1}),_(De,{"model-value":-3,"onUpdate:modelValue":i},{default:k(()=>c[3]||(c[3]=[W(",")])),_:1})])]))}}),as=F(ts,[["__scopeId","data-v-2cdf4e9c"]]),ns={class:"pricesettings"},os={class:"grapharea"},rs={id:"pricechart"},ss={viewBox:"0 0 400 300"},is=["id","origin","transform"],ls={class:"controlarea"},cs={class:"pt-1 pb-2 d-flex justify-content-between"},us={key:1,class:"sliderarea"},_t=400,jt=250,Ut=12,ds=V({__name:"PriceChart",props:{chargePointId:{},globalview:{type:Boolean}},setup(t){const e=t,a=g(()=>w[e.chargePointId]),n=se(!1),o=se(!1);let i=a.value?se(a.value.etMaxPrice):se(0);const s=g({get(){return i.value},set(O){i.value=O,n.value=!0}}),c=g({get(){return(Math.round(i.value*10)/10).toString()},set(O){s.value=parseFloat(O)??s.value,o.value=!1}});function l(){a.value&&(a.value.etMaxPrice=s.value),n.value=!1}const m=se(!1),v={top:0,bottom:15,left:20,right:15},$=g(()=>{let O=[];return X.etPriceList.size>0&&X.etPriceList.forEach((z,me)=>{O.push([me,z])}),O}),f=g(()=>$.value.length>1?(_t-v.left-v.right)/$.value.length-1:0),I=g(()=>n.value?{background:"var(--color-charging)",color:"var(--color-fg)"}:{background:"var(--color-menu)"});function j(){o.value=!o.value}const ie=g(()=>{let O=Ge($.value,z=>z[0]);return O[1]&&(O[1]=new Date(O[1]),O[1].setTime(O[1].getTime()+36e5)),qe().range([v.left,_t-v.right]).domain(O)}),D=g(()=>{let O=Ge($.value,z=>z[1]);return O[0]=O[0]?Math.floor(O[0]-1):0,O[1]=O[1]?Math.floor(O[1]+1):0,O}),G=g(()=>Te().range([jt-v.bottom,0]).domain(D.value)),Q=g(()=>{const O=Rt(),z=[[v.left,G.value(s.value)],[_t-v.right-1,G.value(s.value)]];return O(z)}),B=g(()=>nt(ie.value).ticks($.value.length).tickSize(5).tickSizeInner(-250).tickFormat(O=>O.getHours()%6==0?kt("%H:%M")(O):"")),x=g(()=>pt(G.value).ticks(6).tickSizeInner(-365).tickFormat(O=>O.toString())),C=g(()=>{m.value==!0;const O=Se("g#"+U.value);O.selectAll("*").remove(),O.selectAll("bar").data($.value).enter().append("g").append("rect").attr("class","bar").attr("x",ye=>ie.value(ye[0])).attr("y",ye=>G.value(ye[1])).attr("width",f.value).attr("height",ye=>G.value(D.value[0])-G.value(ye[1])).attr("fill",ye=>ye[1]<=s.value?"var(--color-charging)":"var(--color-axis)");const me=O.append("g").attr("class","axis").call(B.value);me.attr("transform","translate(0,"+(jt-v.bottom)+")"),me.selectAll(".tick").attr("font-size",Ut).attr("color","var(--color-bg)"),me.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",ye=>ye.getHours()%6==0?"2":"0.5"),me.select(".domain").attr("stroke","var(--color-bg");const Ke=O.append("g").attr("class","axis").call(x.value);return Ke.attr("transform","translate("+v.left+",0)"),Ke.selectAll(".tick").attr("font-size",Ut).attr("color","var(--color-bg)"),Ke.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",ye=>ye%5==0?"2":"0.5"),Ke.select(".domain").attr("stroke","var(--color-bg)"),O.append("path").attr("d",Q.value).attr("stroke","yellow"),"PriceChart.vue"}),U=g(()=>a.value?"priceChartCanvas"+a.value.id:"priceChartCanvasGlobal"),L=g(()=>{let O=[];return X.etPriceList.forEach(z=>{O.push(z)}),O.sort((z,me)=>z-me)});function de(){let O=L.value[0];for(let z of L.value){if(z>=s.value)break;O=z}s.value=O}function ha(){let O=L.value[0];for(let z of L.value)if(z>s.value){O=z;break}else O=z;s.value=O}return Ze(()=>{m.value=!m.value}),(O,z)=>(h(),y("div",ns,[r("div",os,[r("p",null,"Anbieter: "+P(u(X).etProvider),1),r("figure",rs,[(h(),y("svg",ss,[r("g",{id:U.value,origin:C.value,transform:"translate("+v.top+","+v.right+")"},null,8,is)]))])]),r("div",ls,[r("span",cs,[r("button",{type:"button",class:"btn btn-lg keypadbutton me-3",onClick:j},z[2]||(z[2]=[r("i",{class:"fa fa-xl fa-keyboard"},null,-1)])),o.value?S("",!0):(h(),y("button",{key:0,type:"button",class:"btn btn-lg confirmbutton",style:oe(I.value),"data-bs-dismiss":"modal",onClick:l}," Bestätigen ",4))]),o.value?(h(),T(as,{key:0,modelValue:c.value,"onUpdate:modelValue":z[0]||(z[0]=me=>c.value=me),decimals:1,class:"mb-3"},null,8,["modelValue"])):(h(),y("div",us,[_(Oe,{id:"etmaxprice",modelValue:s.value,"onUpdate:modelValue":z[1]||(z[1]=me=>s.value=me),min:Math.floor(L.value[0]-1),max:Math.ceil(L.value[L.value.length-1]+1),step:.1,decimals:1,"show-subrange":!0,"subrange-min":L.value[0],"subrange-max":L.value[L.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"]),r("div",{class:"d-flex justify-content-between pb-2 pt-0 mt-0"},[r("button",{type:"button",class:"btn jumpbutton",onClick:de},z[3]||(z[3]=[r("i",{class:"fa fa-xl fa-arrow-left"},null,-1)])),r("button",{type:"button",class:"btn jumpbutton",onClick:ha},z[4]||(z[4]=[r("i",{class:"fa fa-xl fa-arrow-right"},null,-1)]))])]))])]))}}),hs=F(ds,[["__scopeId","data-v-e948cbfd"]]),ps={class:"m-0 mt-1 p-0 grid-col-12 tabarea"},gs={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},ms=["id","data-bs-target"],vs=["id","data-bs-target"],fs=["id","data-bs-target"],ys=["id","data-bs-target"],bs=["id","data-bs-target"],_s=["id","data-bs-target"],ws={id:"settingsPanes",class:"tab-content mt-2"},ks=["id"],Ss=["id"],xs=["id"],Ms=["id"],Ps=["id"],Cs=["id"],$s=V({__name:"SettingsPage",props:{chargepoint:{}},setup(t){const e=t,a=g(()=>ue[e.chargepoint.chargeTemplate]),n=g(()=>e.chargepoint.id);return(o,i)=>(h(),y("div",ps,[r("nav",gs,[r("a",{id:"chSettings"+n.value,class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+n.value},i[0]||(i[0]=[r("i",{class:"fa-solid fa-charging-station"},null,-1),W(" Allgemein ")]),8,ms),r("a",{id:"inSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+n.value},i[1]||(i[1]=[r("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),W(" Sofort ")]),8,vs),r("a",{id:"phvSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+n.value},i[2]||(i[2]=[r("i",{class:"fa-solid fa-solar-panel me-1"},null,-1),W(" PV ")]),8,fs),r("a",{id:"scSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+n.value},i[3]||(i[3]=[r("i",{class:"fa-solid fa-bullseye me-1"},null,-1),W(" Zielladen ")]),8,ys),r("a",{id:"tmSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+n.value},i[4]||(i[4]=[r("i",{class:"fa-solid fa-clock"},null,-1),W(" Zeitpläne ")]),8,bs),u(X).active?(h(),y("a",{key:0,id:"prSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceSettings"+n.value},i[5]||(i[5]=[r("i",{class:"fa-solid fa-coins"},null,-1),W(" Strompreis ")]),8,_s)):S("",!0)]),r("div",ws,[r("div",{id:"chargeSettings"+n.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[_(qr,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,ks),r("div",{id:"instantSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[_(Br,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,Ss),r("div",{id:"pvSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[_(Lr,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,xs),r("div",{id:"scheduledSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[a.value!=null?(h(),T(jr,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):S("",!0)],8,Ms),r("div",{id:"timeSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[a.value!=null?(h(),T(Jr,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):S("",!0)],8,Ps),u(X).active?(h(),y("div",{key:0,id:"priceSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[u(X).active?(h(),T(hs,{key:0,"charge-point-id":e.chargepoint.id},null,8,["charge-point-id"])):S("",!0)],8,Cs)):S("",!0)])]))}}),Is=F($s,[["__scopeId","data-v-0f0881fb"]]);function Bs(t,e){t=="openWB/graph/boolDisplayLiveGraph"?R.displayLiveGraph=+e==1:t.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?Os(t,e):t=="openWB/graph/lastlivevaluesJson"?Ts(t,e):t=="openWB/graph/config/duration"&&(K.duration=JSON.parse(e))}function Os(t,e){if(!K.initialized){let a=[];const n=e.toString().split(` -`);n.length>1?a=n.map(s=>JSON.parse(s)):a=[];const o=t.match(/(\d+)$/g),i=o?o[0]:"";i!=""&&typeof K.rawDataPacks[+i-1]>"u"&&(K.rawDataPacks[+i-1]=a,K.initCounter++)}if(K.initCounter==16){const a=[];K.unsubscribeRefresh(),K.initialized=!0,K.rawDataPacks.map(n=>{n.map(o=>{const i=ia(o);a.push(i)})}),Xe(a),K.subscribeUpdates()}}function Ts(t,e){const a=JSON.parse(e),n=ia(a);K.graphRefreshCounter++,Xe(p.data.concat(n)),K.graphRefreshCounter>60&&K.activate()}function ia(t){const e=Object.values(w).length>0?Object.values(w)[0].connectedVehicle:0,a=Object.values(w).length>1?Object.values(w)[1].connectedVehicle:1,n="ev"+e+"-soc",o="ev"+a+"-soc",i={};i.date=Vs(t.time).valueOf(),+t.grid>0?(i.evuIn=+t.grid,i.evuOut=0):+t.grid<=0?(i.evuIn=0,i.evuOut=-t.grid):(i.evuIn=0,i.evuOut=0),+t["pv-all"]>=0?(i.pv=+t["pv-all"],i.inverter=0):(i.pv=0,i.inverter=-t["pv-all"]),i.house=+t["house-power"],+t["bat-all-power"]>0?(i.batOut=0,i.batIn=+t["bat-all-power"]):+t["bat-all-power"]<0?(i.batOut=-t["bat-all-power"],i.batIn=0):(i.batOut=0,i.batIn=0),t["bat-all-soc"]?i.batSoc=+t["bat-all-soc"]:i.batSoc=0,t[n]&&(i["soc"+e]=+t[n]),t[o]&&(i["soc"+a]=+t[o]),i.charging=+t["charging-all"];for(let s=0;s<10;s++){const c="cp"+s;i[c]=+(t[c+"-power"]??0)}return i.selfUsage=i.pv-i.evuOut,i.selfUsage<0&&(i.selfUsage=0),i.devices=0,i}function Vs(t){const e=new Date(Date.now()),a=864e5;let n=new Date;const o=it("%H:%M:%S")(t);return o&&(n=o,n.setDate(e.getDate()),n.setMonth(e.getMonth()),n.setFullYear(e.getFullYear()),n.getHours()>e.getHours()&&(n=new Date(n.getTime()-a))),n}const As=["evuIn","pv","batIn","evuOut"];let dt=[];function Ls(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;Pt(),dt=[],Ct.map(i=>{M.setEnergyPv(i,0),M.setEnergyBat(i,0)});const o=Ds(a);Xe(o),$t(n,dt),b.debug&&(console.debug("---------------------------------------- Graph Data ---------------------------"),console.debug("--- Incoming graph data:"),console.debug(a),console.debug("data to be displayed:"),console.debug(o),console.debug("-------------------------------------------------------------------------------")),p.graphMode=="today"&&setTimeout(()=>q.activate(),3e5)}function Ds(t){const e=[];let a={};return t.map(n=>{a=Es(n);const o=a;e.push(o)}),e}function Es(t){const e={};if(p.graphMode=="day"||p.graphMode=="today")if(typeof t.date=="number")e.date=new Date(+t.date*1e3).getTime();else{const n=it("%H:%M")(t.date);n&&(n.setMonth(q.date.getMonth()),n.setDate(q.date.getDate()),n.setFullYear(q.date.getFullYear()),e.date=n.getTime())}else if(typeof t.date=="string"){const n=it("%Y%m%d")(t.date);n&&(e.date=n.getDate())}return e.evuOut=0,e.evuIn=0,Object.entries(t.counter).forEach(([n,o])=>{o.grid&&(e.evuOut+=o.power_exported,e.evuIn+=o.power_imported,dt.includes(n)||dt.push(n))}),e.evuOut==0&&e.evuIn==0&&Object.entries(t.counter).forEach(n=>{e.evuOut+=n[1].power_exported,e.evuIn+=n[1].power_imported}),e.pv=t.pv.all.power_exported,Object.entries(t.bat).length>0?(e.batIn=t.bat.all.power_imported,e.batOut=t.bat.all.power_exported,e.batSoc=t.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(t.cp).forEach(([n,o])=>{n!="all"?(e[n]=o.power_imported,M.keys().includes(n)||M.addItem(n)):e.charging=o.power_imported}),Object.entries(t.ev).forEach(([n,o])=>{n!="all"&&(e["soc"+n.substring(2)]=o.soc)}),e.devices=0,Object.entries(t.sh).forEach(([n,o])=>{n!="all"&&(e[n]=o.power_imported??0,e.devices+=o.power_imported??0,M.keys().includes(n)||M.addItem(n))}),e.selfUsage=e.pv-e.evuOut,t.hc&&t.hc.all?e.house=t.hc.all.power_imported:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?M.keys().filter(n=>!As.includes(n)).map(n=>{Bn(n,e)}):Object.keys(e).map(n=>{e[n+"Pv"]=0,e[n+"Bat"]=0}),e}let at={};const Bt=["charging","house","batIn","devices"],Ws=["evuIn","pv","batIn","evuOut"];let Ye=[];function Gs(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;Pt(),Ye=[],Bt.map(o=>{M.items[o].energyPv=0,M.items[o].energyBat=0}),a.length>0&&Xe(la(a)),$t(n,[])}function js(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;Pt(),Ye=[],Bt.forEach(o=>{M.items[o].energyPv=0,M.items[o].energyBat=0}),Xe(la(a)),$t(n,[])}function la(t){const e=[];let a={};return at={},t.map(n=>{a=Us(n),e.push(a),Object.keys(a).forEach(o=>{o!="date"&&(a[o]<0&&(console.warn(`Negative energy value for ${o} in row ${a.date}. Ignoring the value.`),a[o]=0),at[o]?at[o]+=a[o]:at[o]=a[o])})}),e}function Us(t){const e={},a=it("%Y%m%d")(t.date);a&&(e.date=p.graphMode=="month"?a.getDate():a.getMonth()+1),e.evuOut=0,e.evuIn=0;let n=0,o=0;return Object.entries(t.counter).forEach(([s,c])=>{n+=c.energy_exported,o+=c.energy_imported,c.grid&&(e.evuOut+=c.energy_exported,e.evuIn+=c.energy_imported,Ye.includes(s)||Ye.push(s))}),Ye.length==0&&(e.evuOut=n,e.evuIn=o),e.pv=t.pv.all.energy_exported,Object.entries(t.bat).length>0?(t.bat.all.energy_imported>=0?e.batIn=t.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),t.bat.all.energy_exported>=0?e.batOut=t.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(t.cp).forEach(([s,c])=>{s!="all"?(M.keys().includes(s)||M.addItem(s),e[s]=c.energy_imported):e.charging=c.energy_imported}),Object.entries(t.ev).forEach(([s,c])=>{s!="all"&&(e["soc-"+s]=c.soc)}),e.devices=Object.entries(t.sh).reduce((s,c)=>(M.keys().includes(c[0])||M.addItem(c[0]),c[1].energy_imported>=0?s+=c[1].energy_imported:console.warn(`Negative energy value for device ${c[0]} in row ${e.date}. Ignoring this value`),s),0),e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?M.keys().filter(s=>!Ws.includes(s)).map(s=>{On(s,e)}):Bt.map(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}class zs{constructor(e){d(this,"id");d(this,"dailyYieldExport",0);d(this,"dailyYieldImport",0);d(this,"exported",0);d(this,"faultState",0);d(this,"faultStr","");d(this,"imported",0);d(this,"power",0);d(this,"soc",0);this.id=e}}class Ns{constructor(){d(this,"dailyExport",0);d(this,"dailyImport",0);d(this,"exported",0);d(this,"imported",0);d(this,"power",0);d(this,"soc",0)}}const he=H({});H(new Ns);function Fs(t){t in he?console.info("Duplicate battery message: "+t):he[t]=new zs(t)}function Js(){Object.keys(he).forEach(t=>{delete he[parseInt(t)]})}function Rs(t,e){const a=Hs(t);if(a&&!(a in he)){console.warn("Invalid battery index received: "+a);return}t=="openWB/bat/config/configured"?R.isBatteryConfigured=e=="true":t=="openWB/bat/get/power"?+e>0?(A.batIn.power=+e,N.batOut.power=0):(A.batIn.power=0,N.batOut.power=-e):t=="openWB/bat/get/soc"?R.batterySoc=+e:t=="openWB/bat/get/daily_exported"?N.batOut.energy=+e:t=="openWB/bat/get/daily_imported"?A.batIn.energy=+e:a&&(t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_export$/i)?he[a].dailyYieldExport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_import$/i)?he[a].dailyYieldImport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?he[a].exported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?he[a].faultState=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?he[a].faultStr=e:t.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?he[a].imported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?he[a].power=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(he[a].soc=+e))}function Hs(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function Ys(t,e){if(t=="openWB/optional/et/provider")JSON.parse(e).type==null?X.active=!1:(X.active=!0,X.etProvider=JSON.parse(e).name);else if(t=="openWB/optional/et/get/prices"){const a=JSON.parse(e);X.etPriceList=new Map,Object.keys(a).map(n=>{X.etPriceList.set(new Date(+n*1e3),a[n]*1e5)})}}function qs(t,e){const a=ca(t);if(a&&!(a in w)){console.warn("Invalid chargepoint id received: "+a);return}if(t=="openWB/chargepoint/get/power"?A.charging.power=+e:t=="openWB/chargepoint/get/daily_imported"&&(A.charging.energy=+e),t=="openWB/chargepoint/get/daily_exported")R.cpDailyExported=+e;else if(a){if(t.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(w[a]){const n=JSON.parse(e);w[a].name=n.name,w[a].icon=n.name,le["cp"+a]?(le["cp"+a].name=n.name,le["cp"+a].icon=n.name):le["cp"+a]={name:n.name,icon:n.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+a);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))w[a].stateStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))w[a].faultStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))w[a].faultState=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))w[a].power=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))w[a].dailyYield=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))w[a].isPluggedIn=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))w[a].isCharging=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))w[a].updateIsLocked(e=="true");else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))w[a].isEnabled=e=="1";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))w[a].phasesInUse=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))w[a].current=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))w[a].currents=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const n=JSON.parse(e);w[a].chargedSincePlugged=n.imported_since_plugged}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const n=JSON.parse(e);w[a].soc=n.soc,w[a].waitingForSoc=!1,w[a].rangeCharged=n.range_charged,w[a].rangeUnit=n.range_unit}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const n=JSON.parse(e);w[a].vehicleName=String(n.name),w[a].updateConnectedVehicle(+n.id)}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const n=JSON.parse(e);switch(n.chargemode){case"instant_charging":w[a].updateChargeMode(_e.instant_charging);break;case"pv_charging":w[a].updateChargeMode(_e.pv_charging);break;case"scheduled_charging":w[a].updateChargeMode(_e.scheduled_charging);break;case"standby":w[a].updateChargeMode(_e.standby);break;case"stop":w[a].updateChargeMode(_e.stop);break}w[a].chargeTemplate=n.charge_template,w[a].averageConsumption=n.average_consumption}}}function Qs(t,e){const a=ca(t);if(a!=null){if(!(a in J)){const n=new Ta(a);J[a]=n}if(t.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(w).forEach(n=>{n.connectedVehicle==a&&(n.vehicleName=JSON.parse(e))}),J[a].name=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))J[a].soc=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?J[a].range=0:J[a].range=+e;else if(t.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))J[a].updateChargeTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))J[a].updateEvTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const n=JSON.parse(e);Object.values(w).forEach(o=>{o.connectedVehicle==a&&(o.isSocConfigured=n.type!==null,o.isSocManual=n.type=="manual")})}}}function Zs(t,e){if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],o=JSON.parse(e);ue[n]=o,Xs(n,o)}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const o=+a[0].replace(/[^0-9]+/g,""),i=+n[0],s=JSON.parse(e);o in Re||(Re[o]=[]),Re[o][i]=s}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const o=+a[0].replace(/[^0-9]+/g,""),i=+n[0],s=JSON.parse(e);o in Je||(Je[o]=[]),Je[o][i]=s}}else if(t.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],o=JSON.parse(e);Va[n]=o}}}function Xs(t,e){Object.values(w).forEach(a=>{a.chargeTemplate==t&&(a.updateCpPriority(e.prio),a.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),a.updateInstantTargetCurrent(e.chargemode.instant_charging.current),a.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),a.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),a.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),a.updatePvMinCurrent(e.chargemode.pv_charging.min_current),a.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),a.updatePvMinSoc(e.chargemode.pv_charging.min_soc),a.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function ca(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function Ks(t,e){t.match(/^openWB\/LegacySmarthome\/config\//i)?ei(t,e):t.match(/^openWB\/LegacySmarthome\/Devices\//i)&&ti(t,e)}function ei(t,e){const a=ua(t);if(a==null)return;ne.has(a)||ea(a);const n=ne.get(a);t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?n.configured=e!="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(n.name=e.toString(),n.icon=e.toString(),le["sh"+a].name=e.toString(),le["sh"+a].icon=e.toString()):t.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?n.isAutomatic=e=="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?n.canSwitch=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?n.countAsHouse=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(n.tempConfigured=+e)}function ti(t,e){const a=ua(t);if(a==null){console.warn("Smarthome: Missing index in "+t);return}ne.has(a)||ea(a);const n=ne.get(a);if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))n.power=+e,ai("power");else if(!t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))n.runningTime=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))n.temp[0]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))n.temp[1]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))n.temp[2]=+e;else if(t.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:n.status="off";break;case 11:n.status="on";break;case 20:n.status="detection";break;case 30:n.status="timeout";break;default:n.status="off"}}}function ai(t){switch(t){case"power":A.devices.power=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.power,0);break;case"energy":A.devices.energy=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.energy,0);break;default:console.error("Unknown category")}}function ua(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}class ni{constructor(e){d(this,"id");d(this,"name","Zähler");d(this,"power",0);d(this,"energy_imported",0);d(this,"energy_exported",0);d(this,"grid",!1);d(this,"type","counter");d(this,"color","var(--color-evu)");d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"icon","");this.id=e}}const ve=H({});function oi(t,e){if(t in ve)console.info("Duplicate counter message: "+t);else switch(ve[t]=new ni(t),ve[t].type=e,e){case"counter":ve[t].color="var(--color-evu)";break;case"inverter":ve[t].color="var(--color-pv)";break;case"cp":ve[t].color="var(--color-charging)";break;case"bat":ve[t].color="var(--color-bat)";break}}const ri=["openWB/counter/#","openWB/bat/#","openWB/pv/get/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+Mt()+"/#","openWB/optional/int_display/#"];function si(){Ba(ii),ri.forEach(t=>{We(t)}),ae()}function ii(t,e){const a=e.toString();t.match(/^openwb\/counter\/[0-9]+\//i)?li(t,a):t.match(/^openwb\/counter\//i)?ci(t,a):t.match(/^openwb\/bat\//i)?Rs(t,a):t.match(/^openwb\/pv\//i)?ui(t,a):t.match(/^openwb\/chargepoint\//i)?qs(t,a):t.match(/^openwb\/vehicle\/template\//i)?Zs(t,a):t.match(/^openwb\/vehicle\//i)?Qs(t,a):t.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?di(t,a):t.match(/^openwb\/graph\//i)?Bs(t,a):t.match(/^openwb\/log\/daily\//i)?Ls(t,a):t.match(/^openwb\/log\/monthly\//i)?Gs(t,a):t.match(/^openwb\/log\/yearly\//i)?js(t,a):t.match(/^openwb\/optional\/et\//i)?Ys(t,a):t.match(/^openwb\/system\//i)?pi(t,a):t.match(/^openwb\/LegacySmartHome\//i)?Ks(t,a):t.match(/^openwb\/command\//i)?gi(t,a):t.match(/^openwb\/optional\//i)&&mi(t,a)}function li(t,e){const a=t.split("/"),n=+a[2];if(n==R.evuId?hi(t,e):a[3]=="config",a[3]=="get"&&n in ve)switch(a[4]){case"power":ve[n].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":ve[n].energy_imported=+e;break;case"daily_exported":ve[n].energy_exported=+e;break}}function ci(t,e){if(t.match(/^openwb\/counter\/get\/hierarchy$/i)){const a=JSON.parse(e);if(a.length){La(),Js();for(const n of a)n.type=="counter"&&(R.evuId=n.id);da(a[0])}}else t.match(/^openwb\/counter\/set\/home_consumption$/i)?A.house.power=+e:t.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(A.house.energy=+e)}function da(t){switch(t.type){case"counter":oi(t.id,t.type);break;case"cp":Aa(t.id);break;case"bat":Fs(t.id);break}t.children.forEach(e=>da(e))}function ui(t,e){switch(t){case"openWB/pv/get/power":N.pv.power=-e;break;case"openWB/pv/get/daily_exported":N.pv.energy=+e;break}}function di(t,e){const a=t.split("/");if(a.length>0)switch(a[4]){case"bat_mode":R.updatePvBatteryPriority(JSON.parse(e));break}}function hi(t,e){switch(t.split("/")[4]){case"power":+e>0?(N.evuIn.power=+e,A.evuOut.power=0):(N.evuIn.power=0,A.evuOut.power=-e);break;case"daily_imported":N.evuIn.energy=+e;break;case"daily_exported":A.evuOut.energy=+e;break}}function pi(t,e){if(t.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const a=JSON.parse(e);a.type=="counter"&&(ve[a.id].name=a.name)}else t.match(/^openWB\/system\/ip_address$/i)?R.ipAddress=JSON.parse(e):t.match(/^openWB\/system\/time$/i)?R.systemTime=JSON.parse(e):t.match(/^openWB\/system\/version$/i)?R.version=JSON.parse(e):t.match(/^openWB\/system\/current_commit$/i)?R.versionDetails=JSON.parse(e):t.match(/^openWB\/system\/current_branch$/i)&&(R.devBranch=JSON.parse(e))}function gi(t,e){const a=t.split("/");if(t.match(/^openWB\/command\/[a-z]+\/error$/i)&&a[2]==Mt()){const n=JSON.parse(e);console.error(`Error message from openWB: -Command: ${n.command} -Data: JSON.stringify(err.data) -Error: - ${n.error}`)}}function mi(t,e){if(t.match(/^openwb\/optional\/int_display\/active$/i))te.active=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/only_local_charge_points$/i))te.localCpOnly=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/theme$/i)){const a=JSON.parse(e);te.usePin=a.configuration.lock_changes,te.code=a.configuration.lock_changes_code}}const vi={class:"d-flex flex-column align-items-center justify-content-start infoitem"},fi=V({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(t){const e=t,a=g(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),n=g(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),o=g(()=>e.small?"mt-0":"mt-1");return(i,s)=>(h(),y("span",vi,[r("span",{class:re(["d-flex heading scaled",o.value]),style:oe(a.value)},P(e.heading),7),r("span",{class:"d-flex my-0 me-0 align-items-center content scaled",style:oe(n.value)},[fe(i.$slots,"default",{},void 0)],4)]))}}),pe=F(fi,[["__scopeId","data-v-9215fd9b"]]),yi=V({__name:"FormatWattH",props:{wattH:{}},setup(t){const e=t,a=g(()=>Yt(e.wattH,b.decimalPlaces));return(n,o)=>(h(),y("span",null,P(a.value),1))}}),bi=V({__name:"BatterySymbol",props:{soc:{}},setup(t){const e=t,a=g(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<63?"fa-battery-half":e.soc<89?"fa-battery-three-quarters":"fa-battery-full");return(n,o)=>(h(),y("span",null,[r("i",{class:re(["fa batIcon",a.value])},null,2),W(" "+P(Math.round(n.soc)+"%"),1)]))}}),_i=F(bi,[["__scopeId","data-v-fc156cd3"]]),wi={class:"vehicleinfo justify-content-left"},ki={class:"titleline mb-3"},Si={class:"carname d-flex justify-content-left align-items-center px-2"},xi={key:0,class:"ms-2 me-0 fa-solid fa-xs fa-star ps-1"},Mi={key:1,class:"ms-2 me-0 fa-solid fa-xs fa-coins ps-0"},Pi={key:0,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},Ci={class:"d-flex justify-content-stretch align-items-center"},$i={class:"infoline"},Ii={key:0,class:"me-1 fa-solid fa-xs fa-clock ps-1"},Bi={class:"infoline"},Oi={class:"maxprice"},Ti={key:1},Vi=V({__name:"CPVehicle",props:{chargepoint:{}},setup(t){const e=t,a=se(e.chargepoint),n=se(!1);function o(){Y("setSoc",i.value,e.chargepoint.connectedVehicle),n.value=!1}const i=g({get(){return e.chargepoint.soc},set(f){w[e.chargepoint.id].soc=f}}),s=g(()=>e.chargepoint.soc),c=g({get(){return e.chargepoint.chargeMode},set(f){te.locked?Ue():w[e.chargepoint.id].chargeMode=f}}),l=g(()=>{const[f]=X.etPriceList.values();return(Math.round(f*10)/10).toFixed(1)});function m(f=""){if(te.locked)Ue();else{new ht("#settingspage").toggle();let ie=f;if(f=="")switch(e.chargepoint.chargeMode){case"instant_charging":ie="#inSettings";break;case"pv_charging":ie="#phvSettings";break;case"scheduled_charging":ie="#scSettings";break;default:ie="#chSettings"}const D=document.querySelector(ie+e.chargepoint.id);if(D){var I=new Ht(D);I.show()}else console.error("no element found")}}function v(){te.locked?Ue():n.value=!n.value}const $=g(()=>e.chargepoint.etMaxPrice>=+l.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"});return(f,I)=>(h(),y("div",wi,[r("div",ki,[_(be,{onClick:I[0]||(I[0]=j=>m("#chSettings"))},{default:k(()=>[r("div",Si,[I[5]||(I[5]=r("i",{class:"fa-solid fa-sm fa-car me-3"},null,-1)),W(" "+P(f.chargepoint.vehicleName)+" ",1),f.chargepoint.hasPriority?(h(),y("span",xi)):S("",!0),f.chargepoint.etActive?(h(),y("span",Mi)):S("",!0)])]),_:1})]),n.value?(h(),y("div",Pi,[I[6]||(I[6]=r("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),r("span",Ci,[r("span",null,[_(Oe,{id:"manualSoc",modelValue:i.value,"onUpdate:modelValue":I[1]||(I[1]=j=>i.value=j),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),r("span",{type:"button",class:"fa-solid d-flex fa-lg m-3 me-1 mb-4 align-self-end fa-circle-check",onClick:o})])):S("",!0),r("div",$i,[f.chargepoint.isSocConfigured?(h(),T(pe,{key:0,heading:"Ladestand:",class:"grid-col-4 grid-left"},{default:k(()=>[_(_i,{soc:s.value,class:"me-2"},null,8,["soc"]),f.chargepoint.isSocManual?(h(),T(be,{key:0,onClick:v},{default:k(()=>I[7]||(I[7]=[r("i",{class:"fa-solid fa-sm fas fa-edit py-0 px-3 mt-3",style:{color:"var(--color-fg)"}},null,-1)])),_:1})):S("",!0)]),_:1})):S("",!0),f.chargepoint.isSocConfigured?(h(),T(pe,{key:1,heading:"Reichweite:",class:"grid-col-4"},{default:k(()=>[W(P(u(J)[e.chargepoint.connectedVehicle]?Math.round(u(J)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):S("",!0),_(pe,{heading:"Zeitplan:",class:"grid-col-4 grid-right"},{default:k(()=>[f.chargepoint.timedCharging?(h(),y("span",Ii)):S("",!0),W(" "+P(e.chargepoint.timedCharging?"Ja":"Nein"),1)]),_:1})]),r("div",Bi,[u(X).active?(h(),T(pe,{key:0,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:k(()=>[_(we,{modelValue:a.value.etActive,"onUpdate:modelValue":I[2]||(I[2]=j=>a.value.etActive=j)},null,8,["modelValue"])]),_:1})):S("",!0),u(X).active?(h(),T(pe,{key:1,heading:"max. Preis:",class:"grid-col-4"},{default:k(()=>[a.value.etActive?(h(),T(be,{key:0,onClick:I[3]||(I[3]=j=>m("#prSettings"))},{default:k(()=>[r("span",Oi,P(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-"),1)]),_:1})):(h(),y("span",Ti,"-"))]),_:1})):S("",!0),u(X).active?(h(),T(pe,{key:2,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:k(()=>[r("span",{style:oe($.value)},P(l.value)+" ct ",5)]),_:1})):S("",!0)]),_(ra,{id:"chargemode-"+f.chargepoint.name,modelValue:c.value,"onUpdate:modelValue":I[4]||(I[4]=j=>c.value=j),class:"chargemodes mx-3 mt-4 mb-0",options:Object.keys(u(ze)).map(j=>({text:u(ze)[j].name,value:j,color:u(ze)[j].color,icon:u(ze)[j].icon,active:u(ze)[j].mode==f.chargepoint.chargeMode}))},null,8,["id","modelValue","options"])]))}}),Ai=F(Vi,[["__scopeId","data-v-e2bd6528"]]),Li={class:"subgrid"},Di={class:"targetCurrent"},Ei=V({__name:"CPChargePoint",props:{chargepoint:{}},setup(t){const e=t,a=g(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),n=g(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),o=g(()=>{const v=e.chargepoint.rangeCharged,$=e.chargepoint.chargedSincePlugged,f=e.chargepoint.dailyYield;return $>0?Math.round(v/$*f).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),i=g(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),s=g(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),c=g(()=>{let v="";return e.chargepoint.isLocked?v="fa-lock":e.chargepoint.isCharging?v=" fa-bolt":e.chargepoint.isPluggedIn&&(v="fa-plug"),"fa "+v}),l=g(()=>({color:e.chargepoint.color}));function m(){if(te.locked)Ue();else{new ht("#settingspage").toggle();let f="";switch(e.chargepoint.chargeMode){case"instant_charging":f="#inSettings";break;case"pv_charging":f="#phvSettings";break;case"scheduled_charging":f="#scSettings";break;default:f="#chSettings"}const I=document.querySelector(f+e.chargepoint.id);if(I){var v=new Ht(I);v.show()}else console.error("no element found")}}return(v,$)=>(h(),T(gt,null,{title:k(()=>[r("span",{style:oe(l.value)},[$[0]||($[0]=r("span",{class:"fa-solid fa-charging-station"}," ",-1)),W(" "+P(e.chargepoint.name),1)],4)]),buttons:k(()=>[_(be,{color:"var(--color-cp0)",icon:"fa-edit",onClick:m},{default:k(()=>$[1]||($[1]=[W(" Einstellungen")])),_:1})]),footer:k(()=>[_(Ai,{chargepoint:e.chargepoint},null,8,["chargepoint"])]),default:k(()=>[r("div",Li,[_(pe,{heading:"Status:",class:"grid-col-4 grid-left"},{default:k(()=>[r("span",{style:oe({color:s.value})},[r("i",{class:re(c.value)},null,2),W(" "+P(i.value),1)],4)]),_:1}),_(pe,{heading:"Geladen:",class:"grid-col-4"},{default:k(()=>[_(yi,{"watt-h":v.chargepoint.dailyYield},null,8,["watt-h"])]),_:1}),_(pe,{heading:"gel. Reichw.:",class:"grid-col-4 grid-right"},{default:k(()=>[W(P(o.value),1)]),_:1}),e.chargepoint.power>0?(h(),T(pe,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left"},{default:k(()=>[_(ta,{watt:e.chargepoint.power},null,8,["watt"])]),_:1})):S("",!0),e.chargepoint.power>0?(h(),T(pe,{key:1,heading:"Strom:",class:"grid-col-3"},{default:k(()=>[W(P(n.value),1)]),_:1})):S("",!0),e.chargepoint.power>0?(h(),T(pe,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:k(()=>[W(P(e.chargepoint.phasesInUse),1)]),_:1})):S("",!0),e.chargepoint.power>0?(h(),T(pe,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:k(()=>[r("span",Di,P(a.value),1)]),_:1})):S("",!0)])]),_:1}))}}),Wi=F(Ei,[["__scopeId","data-v-06522231"]]),Gi={class:"content"},ji={class:"leftside"},Ui={class:"rightside"},zi={class:"settingstitle"},Ni=V({__name:"DisplayTheme",setup(t){function e(n){Ga(n)&&(te.locked=!1,setTimeout(()=>{te.locked=!0},te.timeout*1e3))}Ze(()=>{window.addEventListener("resize",Vt),window.addEventListener("focus",a),si()}),zt(()=>{window.removeEventListener("focus",a),window.removeEventListener("resize",Vt)});function a(){document.hasFocus()&&ae()}return(n,o)=>(h(),y(ce,null,[r("div",Gi,[r("div",ji,[Fe(_(Pn,null,null,512),[[mt,u(b).graphToShow=="powermeter"]]),Fe(r("div",null,[_(uo)],512),[[mt,u(b).graphToShow=="powergraph"]]),Fe(r("div",null,[_(Do)],512),[[mt,u(b).graphToShow=="energymeter"]])]),r("div",Ui,[Object.values(u(w)).length>u(b).cpToShow?(h(),T(Wi,{key:0,chargepoint:Object.values(u(w))[u(b).cpToShow]},null,8,["chargepoint"])):S("",!0)])]),_(bt,{"modal-id":"numberpad"},{title:k(()=>o[0]||(o[0]=[W("Code")])),default:k(()=>[_(Qo,{"model-value":"","onUpdate:modelValue":e})]),_:1}),_(bt,{"modal-id":"statuspage"},{title:k(()=>o[1]||(o[1]=[r("span",{class:"statustitle"},"Systemstatus",-1)])),default:k(()=>[_(sr)]),_:1}),Object.values(u(w)).length>u(b).cpToShow?(h(),T(bt,{key:0,"modal-id":"settingspage"},{title:k(()=>[r("span",zi,"Einstellungen für "+P(Object.values(u(w))[u(b).cpToShow].vehicleName)+" an Ladepunkt "+P(Object.values(u(w))[u(b).cpToShow].name),1)]),default:k(()=>[_(Is,{chargepoint:Object.values(u(w))[u(b).cpToShow]},null,8,["chargepoint"])]),_:1})):S("",!0)],64))}}),Fi=F(Ni,[["__scopeId","data-v-9b3643f1"]]),Ji={class:"fixeddisplay"},Ri=V({__name:"App",setup(t){return Ze(()=>{console.log("on mounted");let e=window.location.search;if(e!=""){console.debug("search",e);let a=new URLSearchParams(e);if(a.has("data")){let n=JSON.parse(a.get("data"));Object.entries(n).forEach(([o,i])=>{console.log("updateSetting",o,i),o.startsWith("parentChargePoint")?Ae[o]=parseInt(i):Ae[o]=i})}}}),(e,a)=>(h(),y("div",Ji,[_(Fi),_(Xa)]))}}),Hi=F(Ri,[["__scopeId","data-v-f43b9e47"]]),Yi=ka(Hi);Yi.mount("#app"); diff --git a/packages/modules/display_themes/colors/web/assets/index-TRj_Rbsv.js b/packages/modules/display_themes/colors/web/assets/index-TRj_Rbsv.js new file mode 100644 index 0000000000..2081390485 --- /dev/null +++ b/packages/modules/display_themes/colors/web/assets/index-TRj_Rbsv.js @@ -0,0 +1,6 @@ +var sa=Object.defineProperty;var ia=(t,e,a)=>e in t?sa(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var d=(t,e,a)=>ia(t,typeof e!="symbol"?e+"":e,a);import{m as la,r as J,a as ue,M as st,d as T,o as p,c as _,n as ne,b as k,e as o,f as fe,g as re,h as m,s as ye,i as He,j as Dt,k as w,w as x,u as c,l as B,t as I,p as W,q as Et,v as Wt,x as ca,F as pe,y as Be,z as Ve,A as mt,B as $e,C as Gt,D as it,E as et,G as We,H as Ze,I as ft,J as ua,K as Fe,L as jt,N as da,O as ha,P as Ee,Q as Ge,R as pa,S as ga,T as tt,U as zt,V as ct,W as ma}from"./vendor-BdYRjXMo.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function a(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=a(r);fetch(r.href,i)}})();function Xe(t,e=1){let a;if(t>=1e3&&e<4){switch(e){case 0:a=Math.round(t/1e3);break;case 1:a=Math.round(t/100)/10;break;case 2:a=Math.round(t/10)/100;break;case 3:a=Math.round(t)/1e3;break;default:a=Math.round(t/100)/10;break}return(a==null?void 0:a.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(t).toLocaleString(void 0)+" W"}function Nt(t,e=1,a=!1){let n;if(t>1e6&&(a=!0,t=t/1e3),t>=1e3&&e<4){switch(e){case 0:n=Math.round(t/1e3);break;case 1:n=(Math.round(t/100)/10).toFixed(1);break;case 2:n=(Math.round(t/10)/100).toFixed(2);break;case 3:n=(Math.round(t)/1e3).toFixed(3);break;default:n=Math.round(t/100)/10;break}return n.toLocaleString(void 0,{minimumFractionDigits:e})+(a?" MWh":" kWh")}else return Math.round(t).toLocaleString(void 0)+(a?" kWh":" Wh")}function fa(t){return t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function va(t,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][t]+" "+e}const ya=0,Ut={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},at={topic:"",qos:ya};let ce;const{host:ba,port:_a,endpoint:wa,...Ft}=Ut,Sa=`${Ft.protocol}://${ba}:${_a}${wa}`;try{ce=la.connect(Sa,Ft),ce.on("connect",()=>{console.info("MQTT connection successful.")}),ce.on("disconnect",()=>{console.info("MQTT disconnected")}),ce.on("error",t=>{console.error("MQTT connection failed: ",t)})}catch(t){console.error("MQTT connect error: ",t)}async function ka(t){await Jt(),ce?ce.on("message",t):console.error("MqttRegister: MQTT client not available")}async function Ae(t){at.topic=t;const{topic:e,qos:a}=at;await Jt(),ce.subscribe(e,{qos:a},n=>{if(n){console.error("MQTT Subscription error: "+n);return}})}function Le(t){at.topic=t;const{topic:e}=at;ce.unsubscribe(e,a=>{if(a){console.error("MQTT Unsubscribe from "+t+" failed: "+a);return}})}async function vt(t,e){let n=ce.connected,r=0;for(;!n&&r<10;)console.warn("MQTT not connected. Waiting 0.1 seconds"),await Rt(100),n=ce.connected,r+=1;if(r<10)try{ce.publish(t,e,{qos:0},i=>{i&&console.warn("MQTT publish error: ",i),console.info("MQTT publish: Message sent: ["+t+"]("+e+")")})}catch(i){console.warn("MQTT publish: caught error: "+i)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function bt(){return Ut.clientId}const Mt=20;async function Jt(){let t=ce.connected,e=0;for(;!t&&e{esetTimeout(e,t))}class xa{constructor(e){d(this,"id");d(this,"name","Ladepunkt");d(this,"icon","Ladepunkt");d(this,"type","");d(this,"ev",0);d(this,"template",0);d(this,"connectedPhases",0);d(this,"phase_1",0);d(this,"autoPhaseSwitchHw",!1);d(this,"controlPilotInterruptionHw",!1);d(this,"isEnabled",!0);d(this,"isPluggedIn",!1);d(this,"isCharging",!1);d(this,"_isLocked",!1);d(this,"_connectedVehicle",0);d(this,"chargeTemplate",0);d(this,"evTemplate",0);d(this,"_chargeMode","pv_charging");d(this,"_hasPriority",!1);d(this,"currentPlan","");d(this,"averageConsumption",0);d(this,"vehicleName","");d(this,"rangeCharged",0);d(this,"rangeUnit","");d(this,"counter",0);d(this,"dailyYield",0);d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"faultState",0);d(this,"faultStr","");d(this,"phasesInUse",0);d(this,"power",0);d(this,"chargedSincePlugged",0);d(this,"stateStr","");d(this,"current",0);d(this,"currents",[0,0,0]);d(this,"phasesToUse",0);d(this,"isSocConfigured",!0);d(this,"isSocManual",!1);d(this,"waitingForSoc",!1);d(this,"color","white");d(this,"_timedCharging",!1);d(this,"_instantChargeLimitMode","");d(this,"_instantTargetCurrent",0);d(this,"_instantTargetSoc",0);d(this,"_instantMaxEnergy",0);d(this,"_pvFeedInLimit",!1);d(this,"_pvMinCurrent",0);d(this,"_pvMaxSoc",101);d(this,"_pvMinSoc",0);d(this,"_pvMinSocCurrent",0);d(this,"_etActive",!1);d(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,H("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,H("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return z[this.connectedVehicle]?z[this.connectedVehicle].soc:0}set soc(e){z[this.connectedVehicle]&&(z[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,H("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,H("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return se[this.chargeTemplate]?se[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){se[this.chargeTemplate].time_charging.active=e,H("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,H("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,H("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,H("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,H("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,H("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,H("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,H("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,H("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,H("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return z[this.connectedVehicle]?z[this.connectedVehicle].etActive:!1}set etActive(e){z[this.connectedVehicle]&&(z[this.connectedVehicle].etActive=e)}get etMaxPrice(){return z[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){H("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon}}}class Ma{constructor(e){d(this,"id");d(this,"name","");d(this,"_chargeTemplateId",0);d(this,"_evTemplateId",0);d(this,"tags",[]);d(this,"config",{});d(this,"soc",0);d(this,"range",0);d(this,"_etActive",!1);d(this,"_etMaxPrice",20);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,H("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,H("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return se[this.chargeTemplateId]?se[this.chargeTemplateId].et.active:!1}set etActive(e){se[this.chargeTemplateId]&&H("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(se[this.chargeTemplateId]&&se[this.chargeTemplateId].et.active)return se[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(S))if(e.connectedVehicle==this.id)return e}}var ve=(t=>(t.instant_charging="instant_charging",t.pv_charging="pv_charging",t.scheduled_charging="scheduled_charging",t.standby="standby",t.stop="stop",t))(ve||{});const S=J({}),z=J({}),se=J({}),je=J({}),ze=J({}),Pa=J({});function Ca(t){t in S||(S[t]=new xa(t),S[t].color="var(--color-cp"+(Object.values(S).length-1)+")")}function Ia(){Object.keys(S).forEach(t=>{delete S[parseInt(t)]})}const $a={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",cpTimedPlanActive:"openWB/set/vehicle/template/charge_template/%/time_charging/plans/@/active",cpScheduledPlanActive:"openWB/set/vehicle/template/charge_template/%/chargemode/scheduled_charging/plans/@/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function H(t,e,a=0,n=void 0){if(isNaN(a)){console.warn("Invalid index");return}let r=$a[t];if(!r){console.warn("No topic for update type "+t);return}switch(t){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":r=r.replace("%",S[a].chargeTemplate.toString());break;default:r=r.replace("%",String(a)),n!=null&&(r=r.replace("@",String(n)))}switch(typeof e){case"number":vt(r,JSON.stringify(+e));break;default:vt(r,JSON.stringify(e))}}function Te(t,e={}){console.log("send command "+t+" "+JSON.stringify(e)),vt(`openWB/set/command/${bt()}/todo`,JSON.stringify({command:t,data:e}))}class Ba{constructor(){d(this,"batterySoc",0);d(this,"isBatteryConfigured",!0);d(this,"chargeMode","0");d(this,"_pvBatteryPriority","ev_mode");d(this,"displayLiveGraph",!0);d(this,"isEtEnabled",!0);d(this,"etMaxPrice",0);d(this,"etCurrentPrice",0);d(this,"cpDailyExported",0);d(this,"evuId",0);d(this,"etProvider","");d(this,"ipAddress","");d(this,"systemTime",0);d(this,"version","");d(this,"versionDetails","");d(this,"devBranch","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,H("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}const Oa=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]],oe=J({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"}});class Ht{constructor(){d(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e){this._items[e]=ke(e)}setEnergy(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energy=a}setEnergyPv(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=a}setEnergyBat(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=a}setPvPercentage(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=a}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let C=new Ht;function _t(){C=new Ht}const j=J({evuIn:ke("evuIn"),pv:ke("pv"),batOut:ke("batOut")}),O=J({evuOut:ke("evuOut"),charging:ke("charging"),devices:ke("devices"),batIn:ke("batIn"),house:ke("house")}),F=J(new Ba);ue("");const nt=ue(!1);function ke(t){return{name:oe[t]?oe[t].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:oe[t]?oe[t].color:"var(--color-charging)",icon:oe[t]?oe[t].icon:""}}const K=J({active:!1,locked:!0,usePin:!1,code:"",timeout:60,localCpOnly:!1});function Je(){K.usePin&&K.locked?new st("#numberpad").toggle():(K.locked=!1,setTimeout(()=>{K.locked=!0},K.timeout*1e3))}function Ta(t){return t==K.code}const Pt=ue(new Date),Aa={class:"scaled"},Va=T({__name:"DisplayButton",props:{icon:{},bgcolor:{},color:{}},emits:["click"],setup(t,{emit:e}){const a=t,n=e;function r(){n("click",!0)}return(i,s)=>(p(),_("div",{style:re({"background-color":a.bgcolor?a.bgcolor:"var(--color-bg)",color:a.color?a.color:"var(--color-title)"}),class:"displaybutton rounded-pill",type:"button",onClick:r},[a.icon?(p(),_("span",{key:0,class:ne(["fas me-2 scaled",a.icon])},null,2)):k("",!0),o("span",Aa,[fe(i.$slots,"default",{},void 0)])],4))}}),N=(t,e)=>{const a=t.__vccOpts||t;for(const[n,r]of e)a[n]=r;return a},me=N(Va,[["__scopeId","data-v-0f8aebee"]]);class La{constructor(e){d(this,"id");d(this,"name","Gerät");d(this,"power",0);d(this,"status","off");d(this,"energy",0);d(this,"runningTime",0);d(this,"configured",!1);d(this,"_showInGraph",!0);d(this,"color","white");d(this,"canSwitch",!1);d(this,"countAsHouse",!1);d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"tempConfigured",0);d(this,"temp",[300,300,300]);d(this,"on",!1);d(this,"isAutomatic",!0);d(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,Q()}setShowInGraph(e){this._showInGraph=e}}const ae=J(new Map);function Yt(t){t in ae?console.info("Duplicate sh device message: "+t):(ae.set(t,new La(t)),ae.get(t).color="var(--color-sh"+ae.size+")")}class Da{constructor(){d(this,"graphToShow","powermeter");d(this,"cpToShow",0);d(this,"displayLocked",!0);d(this,"_showRelativeArcs",!1);d(this,"showTodayGraph",!0);d(this,"_graphPreference","live");d(this,"_usageStackOrder",0);d(this,"_displayMode","dark");d(this,"_showGrid",!1);d(this,"_smartHomeColors","normal");d(this,"_decimalPlaces",1);d(this,"_showQuickAccess",!0);d(this,"_simpleCpList",!1);d(this,"_shortCpList","no");d(this,"_showAnimations",!0);d(this,"_preferWideBoxes",!1);d(this,"_maxPower",4e3);d(this,"_fluidDisplay",!1);d(this,"_showClock","no");d(this,"_showButtonBar",!0);d(this,"_showCounters",!1);d(this,"_showVehicles",!1);d(this,"_showPrices",!1);d(this,"_debug",!1);d(this,"isEtEnabled",!1);d(this,"etPrice",20.5);d(this,"showRightButton",!0);d(this,"showLeftButton",!0);d(this,"animationDuration",300);d(this,"animationDelay",100);d(this,"zoomGraph",!1);d(this,"parentChargePoint1");d(this,"parentChargePoint2")}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,Q()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,Q()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,Q()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Wa(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,Q()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,Q()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,It(e),Q()}setSmartHomeColors(e){this._smartHomeColors=e,It(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,Q()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,Q()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,Q()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,Q()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,Q()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,Q()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,Q()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,Q()}setShowClock(e){this._showClock=e}get debug(){return this._debug}set debug(e){this._debug=e,Q()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,Q()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,Q()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,Q()}setShowVehicles(e){this._showVehicles=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,Q()}setShowPrices(e){this._showPrices=e}}const y=J(new Da),Ce=J({localIp:void 0,localBranch:void 0,localCommit:void 0,localVersion:void 0,parentChargePoint1:void 0,parentChargePoint2:void 0}),Ea=992,yt=J({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Ct(){yt.x=document.documentElement.clientWidth,yt.y=document.documentElement.clientHeight}m(()=>yt.x>=Ea);const De={pv_charging:{mode:ve.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},instant_charging:{mode:ve.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},scheduled_charging:{mode:ve.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:ve.standby,name:"Standby",color:"var(--color-axis)",icon:"fa-pause"},stop:{mode:ve.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};function Q(){Ga()}function Wa(t){const e=ye("html");e.classed("theme-dark",t=="dark"),e.classed("theme-light",t=="light"),e.classed("theme-blue",t=="blue"),Q()}function It(t){const e=ye("html");e.classed("shcolors-normal",t=="normal"),e.classed("shcolors-standard",t=="standard"),e.classed("shcolors-advanced",t=="advanced")}function Ga(){const t={};t.hideSH=[...ae.values()].filter(e=>!e.showInGraph).map(e=>e.id),t.showLG=y.graphPreference=="live",t.displayM=y.displayMode,t.stackO=y.usageStackOrder,t.showGr=y.showGrid,t.decimalP=y.decimalPlaces,t.smartHomeC=y.smartHomeColors,t.relPM=y.showRelativeArcs,t.maxPow=y.maxPower,t.showQA=y.showQuickAccess,t.simpleCP=y.simpleCpList,t.shortCP=y.shortCpList,t.animation=y.showAnimations,t.wideB=y.preferWideBoxes,t.fluidD=y.fluidDisplay,t.clock=y.showClock,t.showButtonBar=y.showButtonBar,t.showCounters=y.showCounters,t.showVehicles=y.showVehicles,t.showPrices=y.showPrices,t.debug=y.debug,document.cookie="openWBColorTheme="+JSON.stringify(t)+";max-age=16000000;samesite=strict"}const ja={class:"navigation"},za={class:"graphbuttons"},Na={class:"cpbuttons"},Ua={class:"timedisplay ms-4"},Fa=T({__name:"NavigationBar",setup(t){let e;function a(){let l=Object.values(S).length;y.cpToShow=(y.cpToShow+1)%l}function n(){let l=Object.values(S).length;y.cpToShow=((y.cpToShow-1)%l+l)%l}function r(){y.graphToShow="powermeter"}function i(){y.graphToShow="powergraph"}function s(){y.graphToShow="energymeter"}function u(){K.locked?Je():new st("#statuspage").toggle()}return He(()=>{e=setInterval(()=>{Pt.value=new Date},1e3)}),Dt(()=>{clearInterval(e)}),(l,g)=>(p(),_("div",ja,[o("span",za,[g[3]||(g[3]=o("span",{class:"brand me-4"},"openWB",-1)),w(me,{icon:"fa-chart-pie",onClick:r},{default:x(()=>g[0]||(g[0]=[W("Leistung")])),_:1}),w(me,{icon:"fa-chart-line",onClick:i},{default:x(()=>g[1]||(g[1]=[W("Verlauf")])),_:1}),w(me,{icon:"fa-chart-column",onClick:s},{default:x(()=>g[2]||(g[2]=[W("Energie")])),_:1})]),w(me,{icon:"fa-rectangle-list",onClick:u},{default:x(()=>g[4]||(g[4]=[W("Status")])),_:1}),o("span",Na,[Object.values(c(S)).length>1?(p(),B(me,{key:0,color:"var(--color-cp0)",onClick:n},{default:x(()=>g[5]||(g[5]=[o("span",{class:"fas fa-arrow-left px-2"},null,-1),o("span",{class:"fas fa-charging-station pe-2"},null,-1)])),_:1})):k("",!0),w(me,{bgcolor:c(K).locked?"var(--color-evu)":"var(--color-pv)",onClick:c(Je)},{default:x(()=>g[6]||(g[6]=[o("span",{class:"fas fa-lock px-4"},null,-1)])),_:1},8,["bgcolor","onClick"]),Object.values(c(S)).length>1?(p(),B(me,{key:1,color:"var(--color-cp0)",onClick:a},{default:x(()=>g[7]||(g[7]=[o("span",{class:"fas fa-charging-station px-2"},null,-1),o("span",{class:"fas fa-arrow-right pe-2"},null,-1)])),_:1})):k("",!0),o("span",Ua,I(c(fa)(c(Pt))),1)])]))}}),Ja=N(Fa,[["__scopeId","data-v-6d0b9541"]]),Ra=["origin"],Ha=T({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""},r=j;r["zz-empty"]=n;const i=Object.values(j).length-1,s=Et().value(g=>g.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),u=Wt().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),l=ye("g#pmSourceArc");return l.selectAll("*").remove(),l.selectAll("sources").data(s(Object.values(r))).enter().append("path").attr("d",u).attr("fill",g=>g.data.color).attr("stroke",(g,v)=>v==i?g.data.power>0?"var(--color-scale)":"null":g.data.color),"pmSourceArc.vue"});return ca(()=>{let n=j.pv.power+j.evuIn.power+j.batOut.power;n>y.maxPower&&(y.maxPower=n)}),(n,r)=>(p(),_("g",{id:"pmSourceArc",origin:a.value},null,8,Ra))}}),Ya=["origin"],qa=T({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""};const r=[O.evuOut,O.charging].concat([...ae.values()].filter(g=>g.configured&&!g.countAsHouse).sort((g,v)=>v.power-g.power)).concat([O.batIn,O.house]).concat(n),i=r.length-1,s=Et().value(g=>g.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),u=Wt().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),l=ye("g#pmUsageArc");return l.selectAll("*").remove(),l.selectAll("consumers").data(s(r)).enter().append("path").attr("d",u).attr("fill",g=>g.data.color).attr("stroke",(g,v)=>v==i?g.data.power>0?"var(--color-scale)":"null":g.data.color),"pmUsageArc.vue"});return(n,r)=>(p(),_("g",{id:"pmUsageArc",origin:a.value},null,8,Ya))}}),qt=T({__name:"FormatWatt",props:{watt:{}},setup(t){const e=t,a=m(()=>Xe(e.watt,y.decimalPlaces));return(n,r)=>I(a.value)}}),Qa={key:0,id:"pmLabel"},Za=["x","y","fill","text-anchor"],Xa=22,be=T({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(t){const e=t,a=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),n=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),r=m(()=>!e.data||e.data.power>0),i=m(()=>e.labeltext?"":"fas");return(s,u)=>r.value?(p(),_("g",Qa,[o("text",{x:s.x,y:s.y,fill:n.value,"text-anchor":s.anchor,"font-size":Xa,class:"pmLabel"},[o("tspan",{class:ne(i.value)},I(a.value),3),o("tspan",null,[s.data!==void 0?(p(),B(qt,{key:0,watt:s.data.power},null,8,["watt"])):k("",!0)])],8,Za)])):k("",!0)}}),Ka={},en={class:"p-2 m-0 cont"},tn={class:"wb-widget m-0 pb-2 shadow"},an={class:"header mt-4 mx-2"},nn={class:"titles"},rn={class:"title"},on={class:"subtitle"},sn={class:"buttons"},ln={class:"wb-subwidget mx-2"},cn={key:0},un={class:"wb-subwidget mx-2"};function dn(t,e){return p(),_("div",en,[o("div",tn,[o("div",an,[o("div",nn,[o("div",rn,[fe(t.$slots,"title",{},()=>[e[0]||(e[0]=o("div",{class:"p-0"},"(title goes here)",-1))])]),o("div",on,[fe(t.$slots,"subtitle",{},void 0)])]),o("div",sn,[fe(t.$slots,"buttons",{},void 0)])]),o("div",ln,[fe(t.$slots,"default",{},void 0)]),t.$slots.footer!=null?(p(),_("div",cn,[e[1]||(e[1]=o("hr",{class:"grid-col-12"},null,-1)),o("div",un,[fe(t.$slots,"footer",{},void 0)])])):k("",!0)])])}const lt=N(Ka,[["render",dn],["__scopeId","data-v-e8292acd"]]);class hn{constructor(){d(this,"active",!1);d(this,"etPriceList",new Map);d(this,"etProvider","");d(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=ee.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const ee=J(new hn),pn={class:"grid-col-12"},gn={id:"powermeter",class:"powermeter p-0 m-0 align-self-stretch"},mn=["viewBox"],fn=["transform"],vn={transform:"scale(0.9294,1)"},yn=["x"],Oe=500,we=20,$t=1,bn=T({__name:"PowerMeter",setup(t){const e=Oe,a=Math.PI/40,n=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],r=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],i=m(()=>Oe/2-we),s=m(()=>{let D="",G=Object.values(j).filter(q=>q.power>0);return G.length==1&&G[0].name=="PV"?D="Aktueller Verbrauch: ":D="Bezug/Verbrauch: ",D+Xe(O.house.power+O.charging.power+O.devices.power+O.batIn.power,y.decimalPlaces)}),u=m(()=>{let D=j.pv.power+j.evuIn.power+j.batOut.power;return y.maxPower>D?Xe(y.maxPower,y.decimalPlaces):Xe(D,y.decimalPlaces)}),l=m(()=>Object.values(S)),g=m(()=>{let D=0;return y.showRelativeArcs&&(D=y.maxPower-(j.pv.power+j.evuIn.power+j.batOut.power)),D<0?0:D}),v=m(()=>[O.evuOut,O.charging,O.devices,O.batIn,O.house].filter(D=>D.power>0)),P=m(()=>n[v.value.length-1]);function b(D){return r[P.value[D]]}function A(D){return Math.round(l.value[D].soc)}function U(D){return D.length>12?D.slice(0,11)+".":D}const ge=m(()=>{const[D]=ee.etPriceList.values();return Math.round(D*10)/10});return(D,G)=>(p(),B(lt,null,{title:x(()=>G[0]||(G[0]=[W(" Aktuelle Leistung ")])),default:x(()=>[o("div",pn,[o("figure",gn,[(p(),_("svg",{viewBox:"0 0 "+Oe+" "+c(e)},[o("g",{transform:"translate("+Oe/2+","+c(e)/2+")"},[o("g",vn,[w(Ha,{radius:i.value,"corner-radius":$t,"circle-gap-size":a,"empty-power":g.value},null,8,["radius","empty-power"]),w(qa,{"sh-device":c(ae),radius:i.value,"corner-radius":$t,"circle-gap-size":a,"empty-power":g.value},null,8,["sh-device","radius","empty-power"]),w(be,{x:0,y:-c(e)/10*2,data:c(j).pv,props:c(oe).pv,anchor:"middle",config:c(y)},null,8,["y","data","props","config"]),w(be,{x:0,y:-c(e)/10*3,data:c(j).evuIn,props:c(oe).evuIn,anchor:"middle",config:c(y)},null,8,["y","data","props","config"]),w(be,{x:0,y:-c(e)/10,data:c(j).batOut,props:c(oe).batOut,anchor:"middle",config:c(y)},null,8,["y","data","props","config"]),c(ee).active?(p(),B(be,{key:0,x:0,y:-c(e)/10,data:c(j).batOut,props:c(oe).batOut,anchor:"middle",config:c(y)},null,8,["y","data","props","config"])):k("",!0),(p(!0),_(pe,null,Be(v.value,(q,$)=>(p(),B(be,{key:$,x:b($).x,y:b($).y,data:q,labelicon:q.icon,labelcolor:q.color,anchor:"middle",config:c(y)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),l.value.length>0&&c(z)[l.value[0].connectedVehicle]?(p(),B(be,{key:1,x:-500/2-we/4+10,y:-c(e)/2+we+5,labeltext:U(c(z)[l.value[0].connectedVehicle].name)+": "+A(0)+"%",labelcolor:l.value[0].color,anchor:"start",config:c(y)},null,8,["x","y","labeltext","labelcolor","config"])):k("",!0),l.value.length>1&&c(z)[l.value[1].connectedVehicle]?(p(),B(be,{key:2,x:Oe/2+we/4-10,y:-c(e)/2+we+5,labeltext:U(c(z)[l.value[1].connectedVehicle].name)+": "+A(1)+"%",labelcolor:l.value[1].color,anchor:"end",config:c(y)},null,8,["x","y","labeltext","labelcolor","config"])):k("",!0),c(F).batterySoc>0?(p(),B(be,{key:3,x:-500/2-we/4+10,y:c(e)/2-we+15,labeltext:"Speicher: "+c(F).batterySoc+"%",labelcolor:c(O).batIn.color,anchor:"start",config:c(y)},null,8,["x","y","labeltext","labelcolor","config"])):k("",!0),c(ee).active?(p(),B(be,{key:4,x:Oe/2+we/4-10,y:c(e)/2-we+15,value:ge.value,labeltext:c(ee).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:c(y)},null,8,["x","y","value","labeltext","config"])):k("",!0),w(be,{x:0,y:0,labeltext:s.value,labelcolor:"var(--color-fg)",anchor:"middle",config:c(y)},null,8,["labeltext","config"]),c(y).showRelativeArcs?(p(),_("text",{key:5,x:Oe/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+I(u.value),9,yn)):k("",!0)])],8,fn)],8,mn))])])]),_:1}))}}),Se=500,Pe=500,L={top:10,right:20,bottom:10,left:25},wt=["charging","house","batIn","devices"];class _n{constructor(){d(this,"data",[]);d(this,"_graphMode","")}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const h=J(new _n);let rt=!0,Re=!0;function Bt(){rt=!1}function Ot(){Re=!1}function wn(t){Re=t}function Ye(t){h.data=t}const X=J({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(){h.data=[],this.unsubscribeUpdates(),this.subscribeRefresh(),Ae(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Pn(),nt.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),Le(this.configTopic)},subscribeRefresh(){for(let t=1;t<17;t++)Ae(this.refreshTopicPrefix+t)},unsubscribeRefresh(){for(let t=1;t<17;t++)Le(this.refreshTopicPrefix+t)},subscribeUpdates(){Ae(this.updateTopic)},unsubscribeUpdates(){Le(this.updateTopic)}}),Y=J({topic:"openWB/log/daily/#",date:new Date,activate(){if(h.graphMode=="day"||h.graphMode=="today"){h.graphMode=="today"&&(this.date=new Date);const t=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");Ae(this.topic),Te("getDailyLog",{day:t})}},deactivate(){Le(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(t){this.date=t},getDate(){return this.date}}),xe=J({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString()+this.month.toString().padStart(2,"0");h.data=[],Ae(this.topic),Te("getMonthlyLog",{month:t})},deactivate(){Le(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const t=new Date;t.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Ie=J({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString();h.data=[],Ae(this.topic),Te("getYearlyLog",{year:t})},deactivate(){Le(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(C.items[t].energyPv+=1e3/12*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),C.items[t].energyBat+=1e3/12*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function xn(t,e){e[t]>0&&(C.items[t].energyPv+=1e3*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),C.items[t].energyBat+=1e3*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Mn=["evuIn","pv","batIn","evuOut"],Ne=ue(!1);function St(t,e){Object.entries(t).length>0?(Ne.value=!1,Object.entries(t.counter).forEach(([a,n])=>{(e.length==0||e.includes(a))&&(C.items.evuIn.energy+=n.energy_imported,C.items.evuOut.energy+=n.energy_exported)}),C.items.pv.energy=t.pv.all.energy_exported,t.bat.all&&(C.items.batIn.energy=t.bat.all.energy_imported,C.items.batOut.energy=t.bat.all.energy_exported),Object.entries(t.cp).forEach(([a,n])=>{a=="all"?C.setEnergy("charging",n.energy_imported):C.setEnergy(a,n.energy_imported)}),C.setEnergy("devices",0),Object.entries(t.sh).forEach(([a,n])=>{C.setEnergy(a,n.energy_imported);const r=a.substring(2);ae.get(+r).countAsHouse||(C.items.devices.energy+=n.energy_imported)}),t.hc&&t.hc.all?C.setEnergy("house",t.hc.all.energy_imported):C.calculateHouseEnergy(),C.keys().map(a=>{Mn.includes(a)||(C.setPvPercentage(a,Math.round((C.items[a].energyPv+C.items[a].energyBat)/C.items[a].energy*100)),wt.includes(a)&&(O[a].energy=C.items[a].energy,O[a].energyPv=C.items[a].energyPv,O[a].energyBat=C.items[a].energyBat,O[a].pvPercentage=C.items[a].pvPercentage))}),h.graphMode=="today"&&(Object.values(S).map(a=>{const n=C.items["cp"+a.id];n&&(a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}),ae.forEach(a=>{const n=C.items["sh"+a.id];n&&(a.energy=n.energy,a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}))):Ne.value=!0,nt.value=!0}function Pn(){C.keys().map(t=>{wt.includes(t)&&(O[t].energy=C.items[t].energy,O[t].energyPv=0,O[t].energyBat=0,O[t].pvPercentage=0)}),Object.values(S).map(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0}),ae.forEach(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0})}const _e=m(()=>{const t=Ve(h.data,e=>e.date);return t[1]?mt().domain(Array.from({length:t[1]},(e,a)=>a+1)).paddingInner(.4).range([0,Se-L.left-2]):mt().range([0,0])});function kt(){switch(h.graphMode){case"live":h.graphMode="today",y.showRightButton=!0,te();break;case"today":h.graphMode="day",Y.date=new Date,Y.back(),te();break;case"day":Y.back(),te();break;case"month":xe.back();break;case"year":Ie.back();break}}function Qt(){const t=new Date;switch(h.graphMode){case"live":break;case"today":h.graphMode="live",y.showRightButton=!1,te();break;case"day":Y.forward(),Y.date.getDate()==t.getDate()&&Y.date.getMonth()==t.getMonth()&&Y.date.getFullYear()==t.getFullYear()&&(h.graphMode="today"),te();break;case"month":xe.forward();break;case"year":Ie.forward();break}}function Zt(){switch(h.graphMode){case"live":kt();break;case"day":case"today":h.graphMode="month",te();break;case"month":h.graphMode="year",te();break}}function Xt(){switch(h.graphMode){case"year":h.graphMode="month",te();break;case"month":h.graphMode="today",te();break;case"today":case"day":h.graphMode="live",te();break}}function Cn(t){if(h.graphMode=="day"||h.graphMode=="today"){Y.setDate(t);const e=new Date;Y.date.getDate()==e.getDate()&&Y.date.getMonth()==e.getMonth()&&Y.date.getFullYear()==e.getFullYear()?h.graphMode="today":h.graphMode="day",te()}}const In=["origin","transform"],$n=T({__name:"PGSourceGraph",props:{width:{},height:{},margin:{}},setup(t){const e=t,a={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var n,r;const i=y.showAnimations?y.animationDuration:0,s=y.showAnimations?y.animationDelay:0,u=m(()=>{const f=ye("g#pgSourceGraph");h.graphMode=="month"||h.graphMode=="year"?$(f):q(f),f.selectAll(".axis").remove();const M=f.append("g").attr("class","axis");return M.call(ge.value),M.selectAll(".tick").attr("font-size",12),M.selectAll(".tick line").attr("stroke",G.value).attr("stroke-width",D.value),M.select(".domain").attr("stroke","var(--color-bg)"),"pgSourceGraph.vue"}),l=m(()=>h.graphMode=="month"||h.graphMode=="year"?["evuIn","batOut","selfUsage","evuOut"]:["selfUsage","evuOut","batOut","evuIn"]),g=m(()=>$e().domain([0,h.data.length-1]).range([0,e.width])),v=m(()=>Gt().keys(l.value)),P=m(()=>v.value(h.data)),b=m(()=>$e().range([e.height-10,0]).domain(h.graphMode=="year"?[0,Math.ceil(A.value[1]*10)/10]:[0,Math.ceil(A.value[1])])),A=m(()=>{let f=Ve(h.data,M=>Math.max(M.pv+M.evuIn+M.batOut,M.selfUsage+M.evuOut));return f[0]!=null&&f[1]!=null?(h.graphMode=="year"&&(f[0]=f[0]/1e3,f[1]=f[1]/1e3),f):[0,0]}),U=m(()=>h.graphMode=="month"||h.graphMode=="year"?-e.width-e.margin.right-22:-e.width),ge=m(()=>it(b.value).tickSizeInner(U.value).ticks(4).tickFormat(f=>(f==0?"":Math.round(f*10)/10).toLocaleString(void 0))),D=m(()=>y.showGrid?"0.5":"1"),G=m(()=>y.showGrid?"var(--color-grid)":"var(--color-bg)");function q(f){const M=et().x((E,R)=>g.value(R)).y(b.value(0)),V=et().x((E,R)=>g.value(R)).y0(E=>b.value(h.graphMode=="year"?E[0]/1e3:E[0])).y1(E=>b.value(h.graphMode=="year"?E[1]/1e3:E[1]));rt?(f.selectAll("*").remove(),n=f.selectAll(".sourceareas").data(P.value).enter().append("path").attr("fill",(E,R)=>a[l.value[R]]).attr("d",E=>M(E)),n.transition().duration(i).delay(s).ease(We).attr("d",E=>V(E)),Bt()):n.data(P.value).transition().duration(0).ease(We).attr("d",E=>V(E))}function $(f){rt?(f.selectAll("*").remove(),r=f.selectAll(".sourcebar").data(P.value).enter().append("g").attr("fill",(M,V)=>a[l.value[V]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,V)=>_e.value(h.data[V].date)??0).attr("y",()=>b.value(0)).attr("height",0).attr("width",_e.value.bandwidth()),r.transition().duration(i).delay(s).ease(We).attr("height",M=>h.graphMode=="year"?b.value(M[0]/1e3)-b.value(M[1]/1e3):b.value(M[0])-b.value(M[1])).attr("y",M=>h.graphMode=="year"?b.value(M[1]/1e3):b.value(M[1])),Bt()):(f.selectAll("*").remove(),r=f.selectAll(".sourcebar").data(P.value).enter().append("g").attr("fill",(M,V)=>a[l.value[V]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,V)=>_e.value(h.data[V].date)??0).attr("y",M=>h.graphMode=="year"?b.value(M[1]/1e3):b.value(M[1])).attr("width",_e.value.bandwidth()).attr("height",M=>h.graphMode=="year"?b.value(M[0]/1e3)-b.value(M[1]/1e3):b.value(M[0])-b.value(M[1])))}return(f,M)=>(p(),_("g",{id:"pgSourceGraph",origin:u.value,transform:"translate("+f.margin.left+","+f.margin.top+")"},null,8,In))}}),Bn=["origin","transform"],On=T({__name:"PGUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(t){const e=t,a=[["house","charging","devices","batIn"],["charging","devices","house","batIn"],["devices","charging","house","batIn"]],n={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var r,i;const s=y.showAnimations?y.animationDuration:0,u=y.showAnimations?y.animationDelay:0,l=m(()=>{const $=ye("g#pgUsageGraph");h.graphMode=="month"||h.graphMode=="year"?q($):G($),$.selectAll(".axis").remove();const f=$.append("g").attr("class","axis");return f.call(D.value),f.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),y.showGrid?f.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):f.selectAll(".tick line").attr("stroke","var(--color-bg)"),f.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),g=m(()=>Gt().keys(A.value)),v=m(()=>g.value(h.data)),P=m(()=>$e().domain([0,h.data.length-1]).range([0,e.width])),b=m(()=>$e().range([e.height+10,2*e.height]).domain(h.graphMode=="year"?[0,Math.ceil(U.value[1]*10)/10]:[0,Math.ceil(U.value[1])])),A=m(()=>{if(h.graphMode!="today"&&h.graphMode!="day")return a[e.stackOrder];{const $=a[e.stackOrder].slice(),f=$.indexOf("charging");$.splice(f,1);const M=/cp\d+/;let V=[];return h.data.length>0&&(V=Object.keys(h.data[0]).reduce((E,R)=>(R.match(M)&&E.push(R),E),[])),V.map((E,R)=>{$.splice(f+R,0,E),n[E]="var(--color-cp"+R+")"}),$}}),U=m(()=>{let $=Ve(h.data,f=>f.house+f.charging+f.batIn+f.devices);return $[0]!=null&&$[1]!=null?(h.graphMode=="year"&&($[0]=$[0]/1e3,$[1]=$[1]/1e3),$):[0,0]}),ge=m(()=>h.graphMode=="month"||h.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=m(()=>it(b.value).tickSizeInner(ge.value).ticks(4).tickFormat($=>($==0?"":Math.round($*10)/10).toLocaleString(void 0)));function G($){const f=et().x((V,E)=>P.value(E)).y(b.value(0)),M=et().x((V,E)=>P.value(E)).y0(V=>b.value(V[0])).y1(V=>b.value(V[1]));y.showAnimations?Re?($.selectAll("*").remove(),r=$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",V=>f(V)).attr("fill",(V,E)=>n[A.value[E]]),r.transition().duration(300).delay(100).ease(We).attr("d",V=>M(V)),Ot()):($.selectAll("*").remove(),$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",V=>M(V)).attr("fill",(V,E)=>n[A.value[E]])):($.selectAll("*").remove(),$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",V=>M(V)).attr("fill",(V,E)=>n[A.value[E]]))}function q($){Re?($.selectAll("*").remove(),i=$.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(f,M)=>n[a[e.stackOrder][M]]).selectAll("rect").data(f=>f).enter().append("rect").attr("x",(f,M)=>_e.value(h.data[M].date)??0).attr("y",()=>b.value(0)).attr("height",0).attr("width",_e.value.bandwidth()),i.transition().duration(s).delay(u).ease(We).attr("y",f=>h.graphMode=="year"?b.value(f[0]/1e3):b.value(f[0])).attr("height",f=>h.graphMode=="year"?b.value(f[1]/1e3)-b.value(f[0]/1e3):b.value(f[1])-b.value(f[0])),Ot()):($.selectAll("*").remove(),i=$.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(f,M)=>n[a[e.stackOrder][M]]).selectAll("rect").data(f=>f).enter().append("rect").attr("x",(f,M)=>_e.value(h.data[M].date)??0).attr("y",f=>h.graphMode=="year"?b.value(f[0]/1e3):b.value(f[0])).attr("height",f=>h.graphMode=="year"?b.value(f[1]/1e3)-b.value(f[0]/1e3):b.value(f[1])-b.value(f[0])).attr("width",_e.value.bandwidth()))}return($,f)=>(p(),_("g",{id:"pgUsageGraph",origin:l.value,transform:"translate("+$.margin.left+","+$.margin.top+")"},null,8,Bn))}}),Tn=["transform"],An=["origin","transform"],Vn=["origin","transform"],Ln={key:0},Dn=["width","height"],En={key:1},Wn=["y","width","height"],ut=12,Gn=T({__name:"PGXAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=m(()=>Ze(u.value).ticks(4).tickSizeInner(s.value).tickFormat(ft("%H:%M"))),n=m(()=>ua(u.value).ticks(4).tickSizeInner(s.value+3).tickFormat(ft(""))),r=m(()=>Ze(_e.value).ticks(4).tickSizeInner(s.value).tickFormat(v=>v.toString())),i=m(()=>Ze(_e.value).ticks(4).tickSizeInner(s.value).tickFormat(()=>"")),s=m(()=>h.graphMode!=="month"&&h.graphMode!=="year"?y.showGrid?-(e.height/2-7):-10:0),u=m(()=>{let v=Ve(h.data,P=>P.date);return v[0]&&v[1]?Fe().domain(v).range([0,e.width]):Fe().range([0,0])}),l=m(()=>{let v=ye("g#PGXAxis");return v.selectAll("*").remove(),h.graphMode=="month"||h.graphMode=="year"?v.call(r.value):v.call(a.value),v.selectAll(".tick > text").attr("fill",(P,b)=>b>0||h.graphMode=="month"||h.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",ut),y.showGrid?v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),v.append("text").attr("x",-e.margin.left).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",ut).text(h.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),g=m(()=>{let v=ye("g#PGXAxis2");return v.selectAll("*").remove(),h.graphMode=="month"||h.graphMode=="year"?v.call(i.value):v.call(n.value),v.selectAll(".tick > text").attr("fill",(P,b)=>b>0||h.graphMode=="month"||h.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",ut),y.showGrid?(v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),v.select(".domain").attr("stroke","var(--color-bg)")):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"});return(v,P)=>(p(),_("g",{transform:"translate("+v.margin.left+","+v.margin.top+")"},[o("g",{id:"PGXAxis",class:"axis",origin:l.value,transform:"translate(0,"+(v.height/2-6)+")"},null,8,An),o("g",{id:"PGXAxis2",class:"axis",origin:g.value,transform:"translate(0,"+(v.height/2+10)+")"},null,8,Vn),c(y).showGrid?(p(),_("g",Ln,[o("rect",{x:"0",y:"0",width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Dn)])):k("",!0),c(y).showGrid?(p(),_("g",En,[o("rect",{x:"0",y:v.height/2+10,width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Wn)])):k("",!0)],8,Tn))}}),jn=["d"],zn=["d","stroke"],Nn=["x","y","text-anchor"],dt=T({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(t){const e=t,a=m(()=>{let b=Ve(h.data,A=>A.date);return b[0]&&b[1]?Fe().domain(b).range([0,e.width]):Fe().range([0,0])}),n=m(()=>$e().range([e.height-10,0]).domain([0,100])),r=m(()=>jt().x(U=>a.value(U.date)).y(U=>n.value(e.order==2?U.batSoc:U["soc"+g.value.connectedVehicle])??n.value(0))(h.data)??""),i=m(()=>e.order==2?"Speicher":g.value.connectedVehicle),s=m(()=>e.order==2?"Speicher":g.value.vehicleName),u=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),l=m(()=>{switch(e.order){case 0:return e.width-3;case 1:return 3;case 2:return e.width/2;default:return 0}}),g=m(()=>{const b=e.order==2?0:e.order;return Object.values(S)[b]}),v=m(()=>{if(h.data.length>0){let b;switch(e.order){case 0:return b=h.data.length-1,n.value(h.data[b]["soc"+i.value]+2);case 1:return b=0,n.value(h.data[b]["soc"+i.value]+2);case 2:return b=Math.round(h.data.length/2),n.value(h.data[b].batSoc+2);default:return 0}}else return 0}),P=m(()=>{switch(e.order){case 0:return"end";case 1:return"start";case 2:return"middle";default:return"middle"}});return(b,A)=>(p(),_(pe,null,[o("path",{class:"soc-baseline",d:r.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,8,jn),o("path",{class:"soc-dashes",d:r.value,stroke:u.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,zn),o("text",{class:"cpname",x:l.value,y:v.value,style:re({fill:u.value,fontSize:10}),"text-anchor":P.value},I(s.value),13,Nn)],64))}}),Un=["transform"],Fn=T({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=m(()=>$e().range([e.height-10,0]).domain([0,100])),n=m(()=>da(a.value).ticks(5).tickFormat(i=>i.toString()+"%"));function r(){let i=ye("g#PGSocAxis");i.call(n.value),i.selectAll(".tick").attr("font-size",12),i.selectAll(".tick line").attr("stroke","var(--color-bg)"),i.select(".domain").attr("stroke","var(--color-bg)")}return He(()=>{r()}),(i,s)=>(p(),_("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(i.width-20)+",0)"},null,8,Un))}}),Jn={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Rn=["id","value"],Hn=T({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(u){n("update:modelValue",u)}});function i(u){let l=a.options[u].color?a.options[u].color:"var(--color-fg)";return a.options[u].active?{color:"var(--color-bg)",background:l}:{color:l}}function s(u){let l=u.target;for(;l&&!l.value&&l.parentElement;)l=l.parentElement;l.value&&(r.value=l.value)}return(u,l)=>(p(),_("div",null,[o("div",Jn,[(p(!0),_(pe,null,Be(u.options,(g,v)=>(p(),_("button",{id:"radio-"+g.value,key:v,class:ne(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",g.value==r.value?"active":""]),value:g.value,style:re(i(v)),onClick:s},[o("span",{style:re(i(v)),class:"scaled d-flex flex-column pt-2"},[g.icon?(p(),_("i",{key:0,class:ne(["fa-solid",g.icon])},null,2)):k("",!0),W(" "+I(g.text),1)],4)],14,Rn))),128))])]))}}),Kt=N(Hn,[["__scopeId","data-v-270067ed"]]),Yn={key:0,class:"fa-solid fa-xl fa-chevron-circle-down p-1",style:{color:"var(--color-bg)"}},qn=T({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(t){const e=t,a=ue(0),n=m(()=>{switch(h.graphMode){case"live":return e.ignoreLive?"heute":`${X.duration} min`;case"today":return"heute";case"day":return Y.date.getDate()+"."+(Y.date.getMonth()+1)+".";case"month":return va(xe.month-1,xe.year);case"year":return Ie.year.toString();default:return"???"}}),r=["live","today","day","month","year"],i=["Live","Heute","Tag","Monat","Jahr"],s=m({get(){return h.graphMode},set(D){switch(D){case"day":g();break;case"today":v();break;case"live":l();break;case"month":P();break;case"year":b()}}});function u(){a.value+=1,a.value>1&&(a.value=0)}function l(){h.graphMode!="live"&&(h.graphMode="live",te())}function g(){h.graphMode!="day"&&h.graphMode!="today"&&(h.graphMode="day",te())}function v(){h.graphMode!="today"&&(h.graphMode="today",Cn(new Date),te())}function P(){h.graphMode!="month"&&(h.graphMode="month",te())}function b(){h.graphMode!="year"&&(h.graphMode="year",te())}const A=m(()=>a.value>0?{border:"1px solid var(--color-frame)"}:""),U=m(()=>a.value==1?"justify-content-between":"justify-content-end"),ge=m(()=>a.value==1?"justify-content-between":"justify-content-center");return(D,G)=>(p(),_("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:re(A.value)},[a.value==2?(p(),B(Kt,{key:0,id:"pgm2",modelValue:s.value,"onUpdate:modelValue":G[0]||(G[0]=q=>s.value=q),class:"m-2",options:r.map((q,$)=>({text:i[$],value:q,color:"var(--color-menu)",active:q==c(h).graphMode}))},null,8,["modelValue","options"])):k("",!0),a.value==1?(p(),_("span",{key:1,type:"button",class:ne(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:G[1]||(G[1]=q=>D.$emit("shiftUp"))},G[6]||(G[6]=[o("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):k("",!0),o("div",{class:ne(["d-flex align-items-center",ge.value])},[a.value==1?(p(),_("span",{key:0,type:"button",class:ne(["p-1",{disabled:!e.showLeftButton}]),onClick:G[2]||(G[2]=q=>D.$emit("shiftLeft"))},G[7]||(G[7]=[o("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):k("",!0),a.value<2?(p(),_("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:u},I(n.value),1)):k("",!0),a.value==1?(p(),_("span",{key:2,id:"graphRightButton",type:"button",class:ne(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:G[3]||(G[3]=q=>D.$emit("shiftRight"))},null,2)):k("",!0)],2),o("div",{class:ne(["d-flex align-items-center",U.value])},[a.value==1?(p(),_("span",Yn)):k("",!0),a.value==1?(p(),_("span",{key:1,id:"graphLeftButton",type:"button",class:ne(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:G[4]||(G[4]=q=>D.$emit("shiftDown"))},null,2)):k("",!0),a.value>0?(p(),_("span",{key:2,type:"button",class:"p-1",onClick:G[5]||(G[5]=q=>a.value=0)},G[8]||(G[8]=[o("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):k("",!0)],2)],4))}}),ea=N(qn,[["__scopeId","data-v-7fd067cd"]]),Qn={class:"d-flex justify-content-end"},Zn={class:"grid-col-12"},Xn=["viewBox"],Kn=["transform"],er=2,tr="Leistung / Ladestand ",ar=T({__name:"PowerGraph",setup(t){function e(){let a=y.usageStackOrder+1;a>er&&(a=0),y.usageStackOrder=a,wn(!0)}return(a,n)=>(p(),B(lt,null,{title:x(()=>[W(I(tr))]),buttons:x(()=>[o("div",Qn,[w(ea,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:c(kt),onShiftRight:c(Qt),onShiftUp:c(Zt),onShiftDown:c(Xt)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])])]),default:x(()=>[o("div",Zn,[o("figure",{id:"powergraph",class:"p-0 m-0 align-self-stretch",onClick:e},[(p(),_("svg",{viewBox:"0 0 "+c(Se)+" "+c(Pe)},[w($n,{width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L)},null,8,["width","height","margin"]),w(On,{width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),"stack-order":c(y).usageStackOrder},null,8,["width","height","margin","stack-order"]),w(Gn,{width:c(Se)-c(L).left-2*c(L).right,height:c(Pe)-c(L).top-c(L).bottom,margin:c(L),"graph-data":c(h)},null,8,["width","height","margin","graph-data"]),o("g",{transform:"translate("+c(L).left+","+c(L).top+")"},[(c(h).graphMode=="day"||c(h).graphMode=="today"||c(h).graphMode=="live")&&Object.values(c(S)).length>0?(p(),B(dt,{key:0,width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),order:0},null,8,["width","height","margin"])):k("",!0),(c(h).graphMode=="day"||c(h).graphMode=="today"||c(h).graphMode=="live")&&Object.values(c(S)).length>1?(p(),B(dt,{key:1,width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),order:1},null,8,["width","height","margin"])):k("",!0),["day","today","live"].includes(c(h).graphMode)&&c(F).isBatteryConfigured?(p(),B(dt,{key:2,width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),order:2},null,8,["width","height","margin"])):k("",!0),["day","today","live"].includes(c(h).graphMode)?(p(),B(Fn,{key:3,width:c(Se)-c(L).left-c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L)},null,8,["width","height","margin"])):k("",!0)],8,Kn)],8,Xn))])])]),_:1}))}}),nr=N(ar,[["__scopeId","data-v-ba892fa4"]]),rr=["id"],or=["x","width","height","fill"],sr=["x","width","height"],ir=["x","y","width","height"],lr=T({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),n=m(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom:0),r=m(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom:0);return(i,s)=>(p(),_("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[o("rect",{class:"bar",x:e.xScale(i.item.name),y:"0",width:e.xScale.bandwidth(),height:a.value,fill:i.item.color},null,8,or),o("rect",{class:"bar",x:e.xScale(i.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:n.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,sr),o("rect",{class:"bar",x:e.xScale(i.item.name)+e.xScale.bandwidth()/6,y:n.value,width:e.xScale.bandwidth()*2/3,height:r.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,ir)],8,rr))}}),cr={id:"emBargraph"},ur=T({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(t){const e=t;function a(r){if(r.name=="PV"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,u=(h.graphMode=="live"||h.graphMode=="day"?O:C.items).evuOut.energy,l=i.pv.energy;return Math.round((l-u)/l*100)}else if(r.name=="Netz"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,s=h.graphMode=="live"||h.graphMode=="day"?O:C.items,u=s.evuOut.energy,l=i.evuIn.energy,g=i.pv.energy,v=i.batOut.energy,P=s.batIn.energy;return Math.round((g+v-u-P)/(g+v+l-u-P)*100)}else return r.pvPercentage}function n(r){return r.name=="PV"?"Eigen":"Aut"}return(r,i)=>(p(),_("g",cr,[(p(!0),_(pe,null,Be(e.plotdata,(s,u)=>(p(),_("g",{key:u},[w(lr,{item:s,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(s),autarchy:a(s)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),i[0]||(i[0]=o("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),dr=["origin"],hr=T({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(t){const e=t,a=m(()=>it(e.yScale).tickFormat(r=>r>0?(r/1e3).toString():"").ticks(6).tickSizeInner(-e.width)),n=m(()=>{const r=ye("g#emYAxis");return r.attr("class","axis").call(a.value),r.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),r.selectAll(".tick").attr("font-size",e.fontsize),y.showGrid?r.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):r.selectAll(".tick line").attr("stroke","var(--color-bg)"),r.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});return(r,i)=>(p(),_("g",{id:"emYAxis",class:"axis",origin:n.value},null,8,dr))}}),pr=["id"],gr=["x","y","font-size"],mr=["x","y","font-size","fill"],fr=["x","y","font-size","fill"],vr=T({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),n=m(()=>{let l=16,g=e.barcount;return g<=5?l=16:g==6?l=14:g>6&&g<=8?l=13:g==9?l=11:g==10?l=10:l=9,l}),r=m(()=>{let l=12,g=e.barcount;return g<=5?l=12:g==6?l=11:g>6&&g<=8||g==9?l=8:g==10?l=7:l=6,l});function i(l,g){return g.length>r.value?g.substring(0,r.value)+".":g}function s(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function u(){return"var(--color-pv)"}return(l,g)=>(p(),_("g",{id:"barlabel-"+e.item.name},[o("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:a.value,"font-size":n.value,"text-anchor":"middle",fill:"var(--color-menu)"},I(c(Nt)(l.item.energy,c(y).decimalPlaces,!1)),9,gr),o("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:e.yScale(l.item.energy)-10,"font-size":n.value-2,"text-anchor":"middle",fill:u()},I(s()),9,mr),o("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":n.value,"text-anchor":"middle",fill:l.item.color,class:ne(l.item.icon.length<=2?"fas":"")},I(i(l.item.name,l.item.icon)),11,fr)],8,pr))}}),yr={id:"emBarLabels"},br=T({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(t){const e=t;function a(r){if(r.name=="PV"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,u=(h.graphMode=="live"||h.graphMode=="day"?O:C.items).evuOut.energy,l=i.pv.energy;return Math.round((l-u)/l*100)}else if(r.name=="Netz"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,s=h.graphMode=="live"||h.graphMode=="day"?O:C.items,u=s.evuOut.energy,l=i.evuIn.energy,g=i.pv.energy,v=i.batOut.energy,P=s.batIn.energy;return g+v-u-P>0?Math.round((g+v-u-P)/(g+v+l-u-P)*100):0}else return r.pvPercentage}function n(r){return r.name=="PV"?"Eigen":"Aut"}return(r,i)=>(p(),_("g",yr,[(p(!0),_(pe,null,Be(e.plotdata,(s,u)=>(p(),_("g",{key:u},[w(vr,{item:s,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(s),autarchy:a(s)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),_r={class:"grid-col-12"},wr={id:"energymeter",class:"energymeter p-0 m-0 align-self-stretch"},Sr={viewBox:"0 0 500 500"},kr=["transform"],xr=["x"],Mr={key:0},Tt=500,ht=500,At=12,Pr="Energie",Cr=T({__name:"EnergyMeter",setup(t){const e={top:25,bottom:30,left:25,right:0},a=m(()=>{let s=Object.values(j),u=i.value,l=C.values(),g=[];switch(y.debug&&(console.debug("----------------------- source summary -----------------"),console.debug(j),console.debug("----------------------- usage details ------------------"),console.debug(i.value),console.debug("----------------------- historic summary ---------------"),console.debug(C),console.debug("--------------------------------------------------------")),nt.value==!0&&(nt.value=!1),h.graphMode){default:case"live":case"today":g=s.concat(u).filter(v=>v.energy>0);break;case"day":case"month":case"year":l.length==0?Ne.value=!0:(Ne.value=!1,g=l.filter(v=>v.energy>0))}return g}),n=m(()=>mt().range([0,Tt-e.left-e.right]).domain(a.value.map(s=>s.name)).padding(.4)),r=m(()=>$e().range([ht-e.bottom-e.top,15]).domain([0,ha(a.value,s=>s.energy)])),i=m(()=>{const s=Object.values(S).length,u=[...ae.values()].filter(l=>l.configured).length;return[O.evuOut,O.devices,O.charging].concat(s>1?Object.values(S).map(l=>l.toPowerItem()):[]).concat(u>1?[...ae.values()].filter(l=>l.configured&&l.showInGraph):[]).concat([O.batIn,O.house])});return(s,u)=>(p(),B(lt,null,{title:x(()=>[W(I(Pr))]),buttons:x(()=>[w(ea,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:c(kt),onShiftRight:c(Qt),onShiftUp:c(Zt),onShiftDown:c(Xt)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])]),default:x(()=>[o("div",_r,[o("figure",wr,[(p(),_("svg",Sr,[o("g",{transform:"translate("+e.left+","+e.top+")"},[w(ur,{plotdata:a.value,"x-scale":n.value,"y-scale":r.value,height:ht,margin:e},null,8,["plotdata","x-scale","y-scale"]),w(hr,{"y-scale":r.value,width:Tt,fontsize:At,config:c(y)},null,8,["y-scale","config"]),o("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":At},I(c(h).graphMode=="year"?"MWh":"kWh"),9,xr),w(br,{plotdata:a.value,"x-scale":n.value,"y-scale":r.value,height:ht,margin:e,config:c(y)},null,8,["plotdata","x-scale","y-scale","config"])],8,kr)]))])]),c(Ne)?(p(),_("p",Mr,"No data")):k("",!0)]),_:1}))}}),Ir=N(Cr,[["__scopeId","data-v-35f92695"]]),$r=["id"],Br={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Or={class:"modal-content"},Tr={class:"modal-header"},Ar={class:"modal-title scaled"},Vr={class:"modal-body"},Lr=T({__name:"ModalComponent",props:{modalId:{}},setup(t){const e=t;return(a,n)=>(p(),_("div",{id:e.modalId,class:"modal fade"},[o("div",Br,[o("div",Or,[o("div",Tr,[o("h3",Ar,[fe(a.$slots,"title",{},void 0)]),n[0]||(n[0]=o("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[o("i",{class:"fa-solid fa-lg fa-circle-check m-0 p-0"})],-1))]),o("div",Vr,[fe(a.$slots,"default",{},void 0)]),n[1]||(n[1]=o("div",{class:"modal-footer"},null,-1))])])],8,$r))}}),pt=N(Lr,[["__scopeId","data-v-dff8d7c2"]]),Dr={class:"digit scaled",type:"button"},Er=T({__name:"PadButton",props:{modelValue:{},color:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=ue(!1);function r(){n.value=!0,s("update:modelValue",a.modelValue),setTimeout(()=>{n.value=!1},300)}const i=m(()=>n.value?{"background-color":"white",color:"black"}:{"background-color":a.color??"var(--color-axis)"}),s=e;return(u,l)=>(p(),_("div",{class:"padbutton",style:re(i.value),onClick:r},[o("span",Dr,[fe(u.$slots,"default",{},void 0)])],4))}}),qe=N(Er,[["__scopeId","data-v-cc256a6f"]]),Wr={class:"numberpad"},Gr={class:"codedisplay scaled"},jr={class:"numberentry"},zr=T({__name:"NumberPad",props:{modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const n=ue(t.modelValue),r=e,i=m(()=>n.value.length==0?"Bitte geben Sie die PIN ein":"*".repeat(n.value.length));function s(u){u==-1?n.value=n.value.slice(0,-1):u==-2?(r("update:modelValue",n.value),n.value=""):n.value=n.value+u.toString()}return(u,l)=>(p(),_("div",Wr,[o("p",Gr,I(i.value),1),o("div",jr,[(p(),_(pe,null,Be(9,g=>w(qe,{key:g,"model-value":g,"onUpdate:modelValue":s},{default:x(()=>[W(I(g),1)]),_:2},1032,["model-value"])),64)),w(qe,{"model-value":0,"onUpdate:modelValue":s},{default:x(()=>l[0]||(l[0]=[W("0")])),_:1}),w(qe,{"model-value":-1,color:"var(--color-devices)","onUpdate:modelValue":s},{default:x(()=>l[1]||(l[1]=[o("span",{class:"fas fa-delete-left"},null,-1)])),_:1}),w(qe,{"model-value":-2,color:"var(--color-devices)","data-bs-dismiss":"modal","onUpdate:modelValue":s},{default:x(()=>l[2]||(l[2]=[o("span",{class:"fas fa-circle-check"},null,-1)])),_:1})])]))}}),Nr=N(zr,[["__scopeId","data-v-63c8fa5c"]]),Ur={class:"statustable"},Fr={key:0,class:"controlbuttons d-flex justify-content-between p-5"},Jr={key:1,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Rr={class:"d-flex justify-content-between mt-3"},Hr={key:2,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Yr={class:"d-flex justify-content-between mt-3"},qr={key:3,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Qr={key:4,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Zr=T({__name:"StatusPage",setup(t){let e=ue(0);function a(){e.value=4,Ce.parentChargePoint1!==void 0?(console.log("Shutting down secondary charge point: ",Ce.parentChargePoint1),Te("chargepointShutdown",{chargePoint:Ce.parentChargePoint1})):(console.log("Shutting down primary system"),Te("systemShutdown"))}function n(){e.value=3,Ce.parentChargePoint1!==void 0?(console.log("Rebooting secondary charge point:",Ce.parentChargePoint1),Te("chargepointReboot",{chargePoint:Ce.parentChargePoint1})):(console.log("Rebooting primary system"),Te("systemReboot"))}function r(){location.reload()}return(i,s)=>(p(),_(pe,null,[o("div",Ur,[s[7]||(s[7]=o("span",{class:"header"},"IP-Adresse:",-1)),o("span",null,I(c(F).ipAddress),1),s[8]||(s[8]=o("span",{class:"header"},"Systemzeit:",-1)),o("span",null,I(new Date(c(F).systemTime*1e3).toLocaleString(void 0)),1),s[9]||(s[9]=o("span",{class:"header"},"Version:",-1)),o("span",null,I(c(F).version),1),s[10]||(s[10]=o("span",{class:"header"},"Version (Details):",-1)),o("span",null,I(c(F).versionDetails),1),s[11]||(s[11]=o("span",{class:"header"},"Entwicklungszweig:",-1)),o("span",null,I(c(F).devBranch),1)]),c(e)==0?(p(),_("div",Fr,[o("button",{class:"btn controlbutton",style:{"background-color":"var(--color-battery)"},onClick:s[0]||(s[0]=u=>r())},s[12]||(s[12]=[o("i",{class:"fa-solid fa-rotate-left"},null,-1),W(" Display neu laden ")])),o("button",{class:"btn controlbutton",style:{"background-color":"var(--color-evu)"},onClick:s[1]||(s[1]=u=>Ee(e)?e.value=1:e=1)},s[13]||(s[13]=[o("i",{class:"fa-solid fa-power-off"},null,-1),W(" openWB neu starten ")])),o("button",{class:"btn controlbutton",style:{"background-color":"var(--color-evu)"},onClick:s[2]||(s[2]=u=>Ee(e)?e.value=2:e=2)},s[14]||(s[14]=[o("i",{class:"fa-solid fa-power-off"},null,-1),W(" openWB abschalten ")]))])):k("",!0),c(e)==1?(p(),_("div",Jr,[s[15]||(s[15]=o("span",{class:"confirmTitle"},"Neustart",-1)),s[16]||(s[16]=o("span",{class:"confirmQuestion"},"Die openWB jetzt neu starten?",-1)),o("div",Rr,[o("button",{class:"btn cancelButton mx-3 px-3",onClick:s[3]||(s[3]=u=>Ee(e)?e.value=0:e=0)}," Abbrechen "),o("button",{class:"btn confirmButton mx-3 px-3",onClick:s[4]||(s[4]=u=>n())}," Neustart ")])])):k("",!0),c(e)==2?(p(),_("div",Hr,[s[17]||(s[17]=o("span",{class:"confirmTitle"},"Abschalten",-1)),s[18]||(s[18]=o("span",{class:"confirmQuestion"},"Die openWB jetzt abschalten?",-1)),o("div",Yr,[o("button",{class:"btn cancelButton mx-3 px-3",onClick:s[5]||(s[5]=u=>Ee(e)?e.value=0:e=0)}," Abbrechen "),o("button",{class:"btn confirmButton mx-3 px-3",onClick:s[6]||(s[6]=u=>a())}," Abschalten ")])])):k("",!0),c(e)==3?(p(),_("div",qr,s[19]||(s[19]=[o("span",{class:"confirmTitle"},"Die openWB startet jetzt neu. Bitte warten.",-1)]))):k("",!0),c(e)==4?(p(),_("div",Qr,s[20]||(s[20]=[o("span",{class:"confirmTitle"},"Die openWB wird heruntergefahren. Zum Starten die Stromversorgung aus- und wieder einschalten.",-1)]))):k("",!0)],64))}}),Xr=N(Zr,[["__scopeId","data-v-74ffcddc"]]),Kr={class:"d-flex align-items-baseline m-0 p-0 scaled"},eo={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},to={class:"justify-content-stretch d-flex"},ao=T({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},iconcolor:{},fullwidth:{type:Boolean}},setup(t){const e=t;return(a,n)=>(p(),_(pe,null,[o("span",Kr,[e.icon?(p(),_("i",{key:0,class:ne(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon]),style:re({color:e.iconcolor?e.iconcolor:"var(--color-charging)"})},null,6)):k("",!0),W(" "+I(a.title),1)]),o("div",eo,[o("span",to,[fe(a.$slots,"default",{},void 0)])])],64))}}),Z=N(ao,[["__scopeId","data-v-45020119"]]),no={class:"rangewidget d-flex flex-column"},ro={class:"rangeslider d-flex flex-fill justify-content-between align-items-center"},oo=["id","min","max","step"],so={class:"d-flex justify-content-between align-items-center"},io={class:"minlabel ps-4"},lo={class:"valuelabel"},co={class:"maxlabel pe-4"},uo=T({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=a.decimals??0,r=e,i=m({get(){return Math.round(a.modelValue*Math.pow(10,n))/Math.pow(10,n)},set(l){r("update:modelValue",l)}});function s(){i.value>a.min&&(i.value=Math.round((i.value-a.step)*Math.pow(10,n))/Math.pow(10,n))}function u(){i.value(p(),_("span",no,[o("span",ro,[o("span",{type:"button",class:"minusButton",onClick:s},g[1]||(g[1]=[o("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),Ge(o("input",{id:l.id,"onUpdate:modelValue":g[0]||(g[0]=v=>i.value=v),type:"range",class:"form-range flex-fill",min:l.min,max:l.max,step:l.step},null,8,oo),[[pa,i.value,void 0,{number:!0}]]),o("span",{type:"button",class:"plusButton",onClick:u},g[2]||(g[2]=[o("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),o("span",so,[o("span",io,I(l.min),1),o("span",lo,I(i.value)+" "+I(l.unit),1),o("span",co,I(l.max),1)])]))}}),Me=N(uo,[["__scopeId","data-v-0e01f92a"]]),ho=["id","value"],po=T({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(u){n("update:modelValue",u)}});function i(u){return a.options[u][2]?{color:a.options[u][2]}:{color:"var(--color-fg)"}}function s(u){let l=u.target;for(;l&&!l.value&&l.parentElement;)l=l.parentElement;l.value&&(r.value=l.value)}return(u,l)=>(p(),_("div",null,[(p(!0),_(pe,null,Be(u.options,(g,v)=>(p(),_("button",{id:"radio-"+g[1],key:v,class:ne(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",g[1]==r.value?"active":""]),value:g[1],style:re(i(v)),onClick:s},[o("span",{style:re(i(v)),class:"scaled"},[g[3]?(p(),_("i",{key:0,class:ne(["fa-solid",g[3]])},null,2)):k("",!0),W(" "+I(g[0]),1)],4)],14,ho))),128))]))}}),Ke=N(po,[["__scopeId","data-v-005a14a9"]]),go={class:"instantsettings"},mo={key:0},fo=T({__name:"CPConfigInstant",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],r=m({get(){return a.value.instantMaxEnergy/1e3},set(i){a.value.instantMaxEnergy=i*1e3}});return(i,s)=>(p(),_("div",go,[w(Z,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:x(()=>[w(Me,{id:"targetCurrent",modelValue:a.value.instantTargetCurrent,"onUpdate:modelValue":s[0]||(s[0]=u=>a.value.instantTargetCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),a.value.instantChargeLimitMode!="none"?(p(),_("hr",mo)):k("",!0),w(Z,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:x(()=>[w(Ke,{modelValue:a.value.instantChargeLimitMode,"onUpdate:modelValue":s[1]||(s[1]=u=>a.value.instantChargeLimitMode=u),options:n.map(u=>[u.name,u.id])},null,8,["modelValue","options"])]),_:1}),a.value.instantChargeLimitMode=="soc"?(p(),B(Z,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:x(()=>[w(Me,{id:"maxSoc",modelValue:a.value.instantTargetSoc,"onUpdate:modelValue":s[2]||(s[2]=u=>a.value.instantTargetSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):k("",!0),a.value.instantChargeLimitMode=="amount"?(p(),B(Z,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:x(()=>[w(Me,{id:"maxEnergy",modelValue:r.value,"onUpdate:modelValue":s[3]||(s[3]=u=>r.value=u),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):k("",!0)]))}}),vo=N(fo,[["__scopeId","data-v-6c87e539"]]),yo={class:"form-check form-switch d-flex align-items-center justify-content-center"},bo=T({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(i){n("update:modelValue",i)}});return(i,s)=>(p(),_("div",yo,[Ge(o("input",{"onUpdate:modelValue":s[0]||(s[0]=u=>r.value=u),class:"form-check-input",type:"checkbox",role:"switch"},null,512),[[ga,r.value]])]))}}),he=N(bo,[["__scopeId","data-v-547e6de4"]]),_o={class:"pvsettings pt-2"},wo=T({__name:"CPConfigPv",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=m({get(){return a.value.pvMinCurrent>5},set(s){s?a.value.pvMinCurrent=6:a.value.pvMinCurrent=0}}),r=m({get(){return a.value.pvMinSoc>0},set(s){s?a.value.pvMinSoc=50:a.value.pvMinSoc=0}}),i=m({get(){return a.value.pvMaxSoc<=100},set(s){s?a.value.pvMaxSoc=100:a.value.pvMaxSoc=101}});return(s,u)=>(p(),_("div",_o,[w(Z,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:x(()=>[w(he,{id:"limitSoc",modelValue:i.value,"onUpdate:modelValue":u[0]||(u[0]=l=>i.value=l)},null,8,["modelValue"])]),_:1}),i.value?(p(),B(Z,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:x(()=>[w(Me,{id:"maxSoc",modelValue:a.value.pvMaxSoc,"onUpdate:modelValue":u[1]||(u[1]=l=>a.value.pvMaxSoc=l),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):k("",!0),w(Z,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:x(()=>[w(he,{modelValue:a.value.pvFeedInLimit,"onUpdate:modelValue":u[2]||(u[2]=l=>a.value.pvFeedInLimit=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Mindest-Ladestand",icon:"fa-battery-half",fullwidth:!0},{default:x(()=>[w(he,{modelValue:r.value,"onUpdate:modelValue":u[3]||(u[3]=l=>r.value=l)},null,8,["modelValue"])]),_:1}),r.value?(p(),B(Z,{key:1,title:"...bis SoC",fullwidth:!0},{default:x(()=>[w(Me,{id:"minSoc",modelValue:a.value.pvMinSoc,"onUpdate:modelValue":u[4]||(u[4]=l=>a.value.pvMinSoc=l),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):k("",!0),r.value?(p(),B(Z,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:x(()=>[w(Me,{id:"minSocCurrent",modelValue:a.value.pvMinSocCurrent,"onUpdate:modelValue":u[5]||(u[5]=l=>a.value.pvMinSocCurrent=l),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):k("",!0),w(Z,{title:"Minimaler Ladestrom",icon:"fa-bolt",fullwidth:!0},{default:x(()=>[w(he,{modelValue:n.value,"onUpdate:modelValue":u[6]||(u[6]=l=>n.value=l)},null,8,["modelValue"])]),_:1}),n.value?(p(),B(Z,{key:3,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:x(()=>[w(Me,{id:"minCurrent",modelValue:a.value.pvMinCurrent,"onUpdate:modelValue":u[7]||(u[7]=l=>a.value.pvMinCurrent=l),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):k("",!0)]))}}),So=N(wo,[["__scopeId","data-v-908e4b46"]]),ko={class:"d-flex flex-column p-3"},xo={key:0,class:"warning p-5"},Mo={class:"table table-dark"},Po=T({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=m(()=>je[a.chargeTemplateId]?Object.values(je[a.chargeTemplateId]):[]);function r(u){console.log(`update ${u}`),H("cpScheduledPlanActive",n.value[u].active,a.chargeTemplateId,u)}function i(u){return n.value[u].time}function s(u){return{"font-weight":n.value[u].active?"bold":"regular"}}return(u,l)=>(p(),_("div",ko,[l[1]||(l[1]=o("div",{class:"subtitle mb-4"},"Pläne für Zielladen:",-1)),n.value.length==0?(p(),_("div",xo," Es sind noch keine Pläne definiert. Pläne für das Zielladen können in der Web-App festgelegt werden. ")):k("",!0),o("table",Mo,[l[0]||(l[0]=o("thead",null,[o("tr",null,[o("th"),o("th",null,"Startzeit"),o("th",null,"SoC-Ziel"),o("th",null,"SoC-Limit"),o("th",null,"Wiederholung")])],-1)),o("tbody",null,[(p(!0),_(pe,null,Be(n.value,(g,v)=>(p(),_("tr",{key:v,style:re(s(v))},[o("td",null,[w(he,{modelValue:g.active,"onUpdate:modelValue":[P=>g.active=P,P=>r(v)]},null,8,["modelValue","onUpdate:modelValue"])]),o("td",null,I(i(v)),1),o("td",null,I(g.limit.soc_scheduled)+"%",1),o("td",null,I(g.limit.soc_limit)+"%",1),o("td",null,I(e[g.frequency.selected]),1)],4))),128))])])]))}}),Co=N(Po,[["__scopeId","data-v-09a476b7"]]),Io={class:"d-flex flex-column p-3"},$o={key:0,class:"warning p-5"},Bo={class:"table table-dark"},Oo=T({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=m(()=>ze[a.chargeTemplateId]?Object.values(ze[a.chargeTemplateId])??[]:[]);function r(s){console.log(`update ${s}`),H("cpTimedPlanActive",n.value[s].active,a.chargeTemplateId,s)}function i(s){return{"font-weight":n.value[s].active?"bold":"regular"}}return(s,u)=>(p(),_("div",Io,[u[1]||(u[1]=o("div",{class:"subtitle mb-4"},"Zeitpläne:",-1)),n.value.length==0?(p(),_("div",$o," Es sind noch keine Pläne definiert. Zeitpläne können in der Web-App festgelegt werden. ")):k("",!0),o("table",Bo,[u[0]||(u[0]=o("thead",null,[o("tr",null,[o("th"),o("th",null,"Von"),o("th",null,"Bis"),o("th",null,"Ladestrom"),o("th",null,"Wiederholung")])],-1)),o("tbody",null,[(p(!0),_(pe,null,Be(n.value,(l,g)=>(p(),_("tr",{key:g,style:re(i(g))},[o("td",null,[w(he,{modelValue:l.active,"onUpdate:modelValue":[v=>l.active=v,v=>r(g)]},null,8,["modelValue","onUpdate:modelValue"])]),o("td",null,I(l.time[0]),1),o("td",null,I(l.time[1]),1),o("td",null,I(l.current)+"A",1),o("td",null,I(e[l.frequency.selected]),1)],4))),128))])])]))}}),To=N(Oo,[["__scopeId","data-v-93a76758"]]),Ao={class:"chargesettings pt-2"},Vo={key:2,class:"grid-col-2 my-2"},Lo=T({__name:"CPChargeConfig",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=m({get:()=>a.value.connectedVehicle,set:s=>{S[a.value.id].connectedVehicle=s}}),r=m({get:()=>a.value.etActive,set:s=>{S[a.value.id].etActive=s}}),i=m({get:()=>a.value.timedCharging,set:s=>{S[a.value.id].timedCharging=s}});return(s,u)=>(p(),_("div",Ao,[Object.keys(c(z)).length>1?(p(),B(Z,{key:0,title:"Fahrzeug wechseln",icon:"fa-car",fullwidth:!0},{default:x(()=>[w(Ke,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=l=>n.value=l),modelModifiers:{number:!0},options:Object.values(c(z)).map(l=>[l.name,l.id])},null,8,["modelValue","options"])]),_:1})):k("",!0),Object.keys(c(se)).length>1?(p(),B(Z,{key:1,title:"Ladeprofil",icon:"fa-sliders",iconcolor:"var(--color-pv)"},{default:x(()=>[c(z)[n.value]?(p(),B(Ke,{key:0,modelValue:c(z)[n.value].chargeTemplateId,"onUpdate:modelValue":u[1]||(u[1]=l=>c(z)[n.value].chargeTemplateId=l),modelModifiers:{number:!0},options:Object.keys(c(se)).map(l=>[c(se)[+l].name,l])},null,8,["modelValue","options"])):k("",!0)]),_:1})):k("",!0),u[7]||(u[7]=o("hr",{class:"grid-col-2 my-2"},null,-1)),w(Z,{title:"Priorität",icon:"fa-star",iconcolor:"var(--color-evu)",fullwidth:!0},{default:x(()=>[w(he,{modelValue:a.value.hasPriority,"onUpdate:modelValue":u[2]||(u[2]=l=>a.value.hasPriority=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Zeitplan aktivieren",icon:"fa-clock",iconcolor:"var(--color-battery)"},{default:x(()=>[w(he,{modelValue:i.value,"onUpdate:modelValue":u[3]||(u[3]=l=>i.value=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Sperren",icon:"fa-lock",iconcolor:"var(--color-evu)",fullwidth:!0},{default:x(()=>[w(he,{modelValue:a.value.isLocked,"onUpdate:modelValue":u[4]||(u[4]=l=>a.value.isLocked=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Strompreisbasiert laden",icon:"fa-coins",iconcolor:"var(--color-battery)"},{default:x(()=>[w(he,{modelValue:r.value,"onUpdate:modelValue":u[5]||(u[5]=l=>r.value=l)},null,8,["modelValue"])]),_:1}),c(F).isBatteryConfigured?(p(),_("hr",Vo)):k("",!0),c(F).isBatteryConfigured?(p(),B(Z,{key:3,title:"PV-Priorität (global)",icon:"fa-car-battery",iconcolor:"var(--color-battery)",fullwidth:!0},{default:x(()=>[w(Ke,{modelValue:c(F).pvBatteryPriority,"onUpdate:modelValue":u[6]||(u[6]=l=>c(F).pvBatteryPriority=l),options:c(Oa)},null,8,["modelValue","options"])]),_:1})):k("",!0)]))}}),Do=N(Lo,[["__scopeId","data-v-1cad71ed"]]),Eo={class:"pricesettings grid12"},Wo={class:"subtitle grid-col-12"},Go={class:"grapharea"},jo={id:"pricechart"},zo={viewBox:"0 0 400 300"},No=["id","origin","transform"],Uo={class:"controlarea d-flex align-items-center"},Fo={class:"priceinput d-flex flex-column justify-content-center align-items-center"},Jo={class:"grid12 pb-5"},gt=400,Vt=250,Lt=12,Ro=T({__name:"PriceChart",props:{chargePointId:{},globalview:{type:Boolean}},setup(t){const e=t,a=m(()=>S[e.chargePointId]);let n=ue(a.value.etMaxPrice);const r=ue(!1),i=m({get:()=>a.value.etActive,set:f=>{a.value.etActive=f}});function s(){a.value&&(a.value.etMaxPrice=n.value),r.value=!1}const u=ue(!1),l={top:0,bottom:15,left:20,right:15},g=m(()=>{let f=[];return ee.etPriceList.size>0&&ee.etPriceList.forEach((M,V)=>{f.push([V,M])}),f}),v=m(()=>g.value.length>1?(gt-l.left-l.right)/g.value.length-1:0),P=m(()=>({background:"var(--color-charging)"})),b=m(()=>{let f=Ve(g.value,M=>M[0]);return f[1]&&(f[1]=new Date(f[1]),f[1].setTime(f[1].getTime()+36e5)),Fe().range([l.left,gt-l.right]).domain(f)}),A=m(()=>{let f=Ve(g.value,M=>M[1]);return f[0]=f[0]?Math.floor(f[0]-1):0,f[1]=f[1]?Math.floor(f[1]+1):0,f}),U=m(()=>$e().range([Vt-l.bottom,0]).domain(A.value)),ge=m(()=>{const f=jt(),M=[[l.left,U.value(n.value)],[gt-l.right-1,U.value(n.value)]];return f(M)}),D=m(()=>Ze(b.value).ticks(g.value.length).tickSize(5).tickSizeInner(-250).tickFormat(f=>f.getHours()%6==0?ft("%H:%M")(f):"")),G=m(()=>it(U.value).ticks(6).tickSizeInner(-365).tickFormat(f=>f.toString())),q=m(()=>{u.value==!0;const f=ye("g#"+$.value);f.selectAll("*").remove(),f.selectAll("bar").data(g.value).enter().append("g").append("rect").attr("class","bar").attr("x",R=>b.value(R[0])).attr("y",R=>U.value(R[1])).attr("width",v.value).attr("height",R=>U.value(A.value[0])-U.value(R[1])).attr("fill",R=>R[1]<=n.value?"var(--color-charging)":"var(--color-axis)");const V=f.append("g").attr("class","axis").call(D.value);V.attr("transform","translate(0,"+(Vt-l.bottom)+")"),V.selectAll(".tick").attr("font-size",Lt).attr("color","var(--color-bg)"),V.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",R=>R.getHours()%6==0?"2":"0.5"),V.select(".domain").attr("stroke","var(--color-bg");const E=f.append("g").attr("class","axis").call(G.value);return E.attr("transform","translate("+l.left+",0)"),E.selectAll(".tick").attr("font-size",Lt).attr("color","var(--color-bg)"),E.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",R=>R%5==0?"2":"0.5"),E.select(".domain").attr("stroke","var(--color-bg)"),f.append("path").attr("d",ge.value).attr("stroke","yellow"),"PriceChart.vue"}),$=m(()=>a.value?"priceChartCanvas"+a.value.id:"priceChartCanvasGlobal");return He(()=>{u.value=!u.value}),(f,M)=>(p(),_("div",Eo,[o("div",Wo,"Anbieter: "+I(c(ee).etProvider),1),o("div",Go,[o("figure",jo,[(p(),_("svg",zo,[o("g",{id:$.value,origin:q.value,transform:"translate("+l.top+","+l.right+")"},null,8,No)]))])]),o("div",Uo,[o("div",Fo,[o("div",Jo,[w(Z,{title:"Strompreisbasiert laden",icon:"fa-coins",iconcolor:"var(--color-battery)"},{default:x(()=>[w(he,{modelValue:i.value,"onUpdate:modelValue":M[0]||(M[0]=V=>i.value=V)},null,8,["modelValue"])]),_:1})]),w(Me,{id:"etmaxprice",modelValue:c(n),"onUpdate:modelValue":M[1]||(M[1]=V=>Ee(n)?n.value=V:n=V),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"]),o("span",{class:"pt-3",onClick:s},[o("button",{type:"button",class:"btn btn-lg btn-secondary",style:re(P.value)}," Bestätigen ",4)])])])]))}}),Ho=N(Ro,[["__scopeId","data-v-ca62d6fe"]]),Yo={class:"m-0 mt-1 p-0 grid-col-12 tabarea"},qo={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},Qo=["id","data-bs-target"],Zo=["id","data-bs-target"],Xo=["id","data-bs-target"],Ko=["id","data-bs-target"],es=["id","data-bs-target"],ts=["id","data-bs-target"],as={id:"settingsPanes",class:"tab-content mt-2"},ns=["id"],rs=["id"],os=["id"],ss=["id"],is=["id"],ls=["id"],cs=T({__name:"SettingsPage",props:{chargepoint:{}},setup(t){const e=t,a=m(()=>se[e.chargepoint.chargeTemplate]),n=m(()=>e.chargepoint.id);return(r,i)=>(p(),_("div",Yo,[o("nav",qo,[o("a",{id:"chSettings"+n.value,class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+n.value},i[0]||(i[0]=[o("i",{class:"fa-solid fa-charging-station"},null,-1),W(" Allgemein ")]),8,Qo),o("a",{id:"inSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+n.value},i[1]||(i[1]=[o("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),W(" Sofort ")]),8,Zo),o("a",{id:"phvSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+n.value},i[2]||(i[2]=[o("i",{class:"fa-solid fa-solar-panel me-1"},null,-1),W(" PV ")]),8,Xo),o("a",{id:"scSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+n.value},i[3]||(i[3]=[o("i",{class:"fa-solid fa-bullseye me-1"},null,-1),W(" Zielladen ")]),8,Ko),o("a",{id:"tmSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+n.value},i[4]||(i[4]=[o("i",{class:"fa-solid fa-clock"},null,-1),W(" Zeitpläne ")]),8,es),o("a",{id:"prSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceSettings"+n.value},i[5]||(i[5]=[o("i",{class:"fa-solid fa-coins"},null,-1),W(" Strompreis ")]),8,ts)]),o("div",as,[o("div",{id:"chargeSettings"+n.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[w(Do,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,ns),o("div",{id:"instantSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[w(vo,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,rs),o("div",{id:"pvSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[w(So,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,os),o("div",{id:"scheduledSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[a.value!=null?(p(),B(Co,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):k("",!0)],8,ss),o("div",{id:"timeSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[a.value!=null?(p(),B(To,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):k("",!0)],8,is),o("div",{id:"priceSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[c(ee).active?(p(),B(Ho,{key:0,"charge-point-id":e.chargepoint.id},null,8,["charge-point-id"])):k("",!0)],8,ls)])]))}}),us=N(cs,[["__scopeId","data-v-c9394349"]]);function ds(t,e){t=="openWB/graph/boolDisplayLiveGraph"?F.displayLiveGraph=+e==1:t.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?hs(t,e):t=="openWB/graph/lastlivevaluesJson"?ps(t,e):t=="openWB/graph/config/duration"&&(X.duration=JSON.parse(e))}function hs(t,e){if(!X.initialized){let a=[];const n=e.toString().split(` +`);n.length>1?a=n.map(s=>JSON.parse(s)):a=[];const r=t.match(/(\d+)$/g),i=r?r[0]:"";i!=""&&typeof X.rawDataPacks[+i-1]>"u"&&(X.rawDataPacks[+i-1]=a,X.initCounter++)}if(X.initCounter==16){const a=[];X.unsubscribeRefresh(),X.initialized=!0,X.rawDataPacks.map(n=>{n.map(r=>{const i=ta(r);a.push(i)})}),Ye(a),X.subscribeUpdates()}}function ps(t,e){const a=JSON.parse(e),n=ta(a);X.graphRefreshCounter++,Ye(h.data.concat(n)),X.graphRefreshCounter>60&&X.activate()}function ta(t){const e=Object.values(S).length>0?Object.values(S)[0].connectedVehicle:0,a=Object.values(S).length>1?Object.values(S)[1].connectedVehicle:1,n="ev"+e+"-soc",r="ev"+a+"-soc",i={};i.date=gs(t.time).valueOf(),+t.grid>0?(i.evuIn=+t.grid,i.evuOut=0):+t.grid<=0?(i.evuIn=0,i.evuOut=-t.grid):(i.evuIn=0,i.evuOut=0),+t["pv-all"]>=0?(i.pv=+t["pv-all"],i.inverter=0):(i.pv=0,i.inverter=-t["pv-all"]),i.house=+t["house-power"],+t["bat-all-power"]>0?(i.batOut=0,i.batIn=+t["bat-all-power"]):+t["bat-all-power"]<0?(i.batOut=-t["bat-all-power"],i.batIn=0):(i.batOut=0,i.batIn=0),t["bat-all-soc"]?i.batSoc=+t["bat-all-soc"]:i.batSoc=0,t[n]&&(i["soc"+e]=+t[n]),t[r]&&(i["soc"+a]=+t[r]),i.charging=+t["charging-all"];for(let s=0;s<10;s++){const u="cp"+s;i[u]=+(t[u+"-power"]??0)}return i.selfUsage=i.pv-i.evuOut,i.selfUsage<0&&(i.selfUsage=0),i.devices=0,i}function gs(t){const e=new Date(Date.now()),a=864e5;let n=new Date;const r=tt("%H:%M:%S")(t);return r&&(n=r,n.setDate(e.getDate()),n.setMonth(e.getMonth()),n.setFullYear(e.getFullYear()),n.getHours()>e.getHours()&&(n=new Date(n.getTime()-a))),n}const ms=["evuIn","pv","batIn","evuOut"];let ot=[];function fs(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;_t(),ot=[],wt.map(i=>{C.setEnergyPv(i,0),C.setEnergyBat(i,0)});const r=vs(a);Ye(r),St(n,ot),y.debug&&(console.debug("---------------------------------------- Graph Data ---------------------------"),console.debug("--- Incoming graph data:"),console.debug(a),console.debug("data to be displayed:"),console.debug(r),console.debug("-------------------------------------------------------------------------------")),h.graphMode=="today"&&setTimeout(()=>Y.activate(),3e5)}function vs(t){const e=[];let a={};return t.map(n=>{a=ys(n);const r=a;e.push(r)}),e}function ys(t){const e={};if(h.graphMode=="day"||h.graphMode=="today")if(typeof t.date=="number")e.date=new Date(+t.date*1e3).getTime();else{const n=tt("%H:%M")(t.date);n&&(n.setMonth(Y.date.getMonth()),n.setDate(Y.date.getDate()),n.setFullYear(Y.date.getFullYear()),e.date=n.getTime())}else if(typeof t.date=="string"){const n=tt("%Y%m%d")(t.date);n&&(e.date=n.getDate())}return e.evuOut=0,e.evuIn=0,Object.entries(t.counter).forEach(([n,r])=>{r.grid&&(e.evuOut+=r.power_exported,e.evuIn+=r.power_imported,ot.includes(n)||ot.push(n))}),e.evuOut==0&&e.evuIn==0&&Object.entries(t.counter).forEach(n=>{e.evuOut+=n[1].power_exported,e.evuIn+=n[1].power_imported}),e.pv=t.pv.all.power_exported,Object.entries(t.bat).length>0?(e.batIn=t.bat.all.power_imported,e.batOut=t.bat.all.power_exported,e.batSoc=t.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(t.cp).forEach(([n,r])=>{n!="all"?(e[n]=r.power_imported,C.keys().includes(n)||C.addItem(n)):e.charging=r.power_imported}),Object.entries(t.ev).forEach(([n,r])=>{n!="all"&&(e["soc"+n.substring(2)]=r.soc)}),e.devices=0,Object.entries(t.sh).forEach(([n,r])=>{n!="all"&&(e[n]=r.power_imported??0,e.devices+=r.power_imported??0,C.keys().includes(n)||C.addItem(n))}),e.selfUsage=e.pv-e.evuOut,t.hc&&t.hc.all?e.house=t.hc.all.power_imported:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?C.keys().filter(n=>!ms.includes(n)).map(n=>{kn(n,e)}):Object.keys(e).map(n=>{e[n+"Pv"]=0,e[n+"Bat"]=0}),e}let Qe={};const xt=["charging","house","batIn","devices"],bs=["evuIn","pv","batIn","evuOut"];let Ue=[];function _s(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;_t(),Ue=[],xt.map(r=>{C.items[r].energyPv=0,C.items[r].energyBat=0}),a.length>0&&Ye(aa(a)),St(n,[])}function ws(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;_t(),Ue=[],xt.forEach(r=>{C.items[r].energyPv=0,C.items[r].energyBat=0}),Ye(aa(a)),St(n,[])}function aa(t){const e=[];let a={};return Qe={},t.map(n=>{a=Ss(n),e.push(a),Object.keys(a).forEach(r=>{r!="date"&&(a[r]<0&&(console.warn(`Negative energy value for ${r} in row ${a.date}. Ignoring the value.`),a[r]=0),Qe[r]?Qe[r]+=a[r]:Qe[r]=a[r])})}),e}function Ss(t){const e={},a=tt("%Y%m%d")(t.date);a&&(e.date=h.graphMode=="month"?a.getDate():a.getMonth()+1),e.evuOut=0,e.evuIn=0;let n=0,r=0;return Object.entries(t.counter).forEach(([s,u])=>{n+=u.energy_exported,r+=u.energy_imported,u.grid&&(e.evuOut+=u.energy_exported,e.evuIn+=u.energy_imported,Ue.includes(s)||Ue.push(s))}),Ue.length==0&&(e.evuOut=n,e.evuIn=r),e.pv=t.pv.all.energy_exported,Object.entries(t.bat).length>0?(t.bat.all.energy_imported>=0?e.batIn=t.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),t.bat.all.energy_exported>=0?e.batOut=t.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(t.cp).forEach(([s,u])=>{s!="all"?(C.keys().includes(s)||C.addItem(s),e[s]=u.energy_imported):e.charging=u.energy_imported}),Object.entries(t.ev).forEach(([s,u])=>{s!="all"&&(e["soc-"+s]=u.soc)}),e.devices=Object.entries(t.sh).reduce((s,u)=>(C.keys().includes(u[0])||C.addItem(u[0]),u[1].energy_imported>=0?s+=u[1].energy_imported:console.warn(`Negative energy value for device ${u[0]} in row ${e.date}. Ignoring this value`),s),0),e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?C.keys().filter(s=>!bs.includes(s)).map(s=>{xn(s,e)}):xt.map(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}class ks{constructor(e){d(this,"id");d(this,"dailyYieldExport",0);d(this,"dailyYieldImport",0);d(this,"exported",0);d(this,"faultState",0);d(this,"faultStr","");d(this,"imported",0);d(this,"power",0);d(this,"soc",0);this.id=e}}class xs{constructor(){d(this,"dailyExport",0);d(this,"dailyImport",0);d(this,"exported",0);d(this,"imported",0);d(this,"power",0);d(this,"soc",0)}}const ie=J({});J(new xs);function Ms(t){t in ie?console.info("Duplicate battery message: "+t):ie[t]=new ks(t)}function Ps(){Object.keys(ie).forEach(t=>{delete ie[parseInt(t)]})}function Cs(t,e){const a=Is(t);if(a&&!(a in ie)){console.warn("Invalid battery index received: "+a);return}t=="openWB/bat/config/configured"?F.isBatteryConfigured=e=="true":t=="openWB/bat/get/power"?+e>0?(O.batIn.power=+e,j.batOut.power=0):(O.batIn.power=0,j.batOut.power=-e):t=="openWB/bat/get/soc"?F.batterySoc=+e:t=="openWB/bat/get/daily_exported"?j.batOut.energy=+e:t=="openWB/bat/get/daily_imported"?O.batIn.energy=+e:a&&(t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_export$/i)?ie[a].dailyYieldExport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_import$/i)?ie[a].dailyYieldImport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?ie[a].exported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?ie[a].faultState=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?ie[a].faultStr=e:t.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?ie[a].imported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?ie[a].power=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(ie[a].soc=+e))}function Is(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function $s(t,e){if(t=="openWB/optional/et/provider")JSON.parse(e).type==null?ee.active=!1:(ee.active=!0,ee.etProvider=JSON.parse(e).name);else if(t=="openWB/optional/et/get/prices"){const a=JSON.parse(e);ee.etPriceList=new Map,Object.keys(a).map(n=>{ee.etPriceList.set(new Date(+n*1e3),a[n]*1e5)})}}function Bs(t,e){const a=na(t);if(a&&!(a in S)){console.warn("Invalid chargepoint id received: "+a);return}if(t=="openWB/chargepoint/get/power"?O.charging.power=+e:t=="openWB/chargepoint/get/daily_imported"&&(O.charging.energy=+e),t=="openWB/chargepoint/get/daily_exported")F.cpDailyExported=+e;else if(a){if(t.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(S[a]){const n=JSON.parse(e);S[a].name=n.name,S[a].icon=n.name,oe["cp"+a]?(oe["cp"+a].name=n.name,oe["cp"+a].icon=n.name):oe["cp"+a]={name:n.name,icon:n.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+a);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))S[a].stateStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))S[a].faultStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))S[a].faultState=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))S[a].power=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))S[a].dailyYield=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))S[a].isPluggedIn=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))S[a].isCharging=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))S[a].updateIsLocked(e=="true");else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))S[a].isEnabled=e=="1";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))S[a].phasesInUse=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))S[a].current=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))S[a].currents=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const n=JSON.parse(e);S[a].chargedSincePlugged=n.imported_since_plugged}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const n=JSON.parse(e);S[a].soc=n.soc,S[a].waitingForSoc=!1,S[a].rangeCharged=n.range_charged,S[a].rangeUnit=n.range_unit}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const n=JSON.parse(e);S[a].vehicleName=String(n.name),S[a].updateConnectedVehicle(+n.id)}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const n=JSON.parse(e);switch(n.chargemode){case"instant_charging":S[a].updateChargeMode(ve.instant_charging);break;case"pv_charging":S[a].updateChargeMode(ve.pv_charging);break;case"scheduled_charging":S[a].updateChargeMode(ve.scheduled_charging);break;case"standby":S[a].updateChargeMode(ve.standby);break;case"stop":S[a].updateChargeMode(ve.stop);break}S[a].chargeTemplate=n.charge_template,S[a].averageConsumption=n.average_consumption}}}function Os(t,e){const a=na(t);if(a!=null){if(!(a in z)){const n=new Ma(a);z[a]=n}if(t.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(S).forEach(n=>{n.connectedVehicle==a&&(n.vehicleName=JSON.parse(e))}),z[a].name=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))z[a].soc=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?z[a].range=0:z[a].range=+e;else if(t.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))z[a].updateChargeTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))z[a].updateEvTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const n=JSON.parse(e);Object.values(S).forEach(r=>{r.connectedVehicle==a&&(r.isSocConfigured=n.type!==null,r.isSocManual=n.type=="manual")})}}}function Ts(t,e){if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],r=JSON.parse(e);se[n]=r,As(n,r)}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const r=+a[0].replace(/[^0-9]+/g,""),i=+n[0],s=JSON.parse(e);r in ze||(ze[r]=[]),ze[r][i]=s}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const r=+a[0].replace(/[^0-9]+/g,""),i=+n[0],s=JSON.parse(e);r in je||(je[r]=[]),je[r][i]=s}}else if(t.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],r=JSON.parse(e);Pa[n]=r}}}function As(t,e){Object.values(S).forEach(a=>{a.chargeTemplate==t&&(a.updateCpPriority(e.prio),a.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),a.updateInstantTargetCurrent(e.chargemode.instant_charging.current),a.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),a.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),a.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),a.updatePvMinCurrent(e.chargemode.pv_charging.min_current),a.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),a.updatePvMinSoc(e.chargemode.pv_charging.min_soc),a.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function na(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function Vs(t,e){t.match(/^openWB\/LegacySmarthome\/config\//i)?Ls(t,e):t.match(/^openWB\/LegacySmarthome\/Devices\//i)&&Ds(t,e)}function Ls(t,e){const a=ra(t);if(a==null)return;ae.has(a)||Yt(a);const n=ae.get(a);t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?n.configured=e!="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(n.name=e.toString(),n.icon=e.toString(),oe["sh"+a].name=e.toString(),oe["sh"+a].icon=e.toString()):t.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?n.isAutomatic=e=="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?n.canSwitch=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?n.countAsHouse=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(n.tempConfigured=+e)}function Ds(t,e){const a=ra(t);if(a==null){console.warn("Smarthome: Missing index in "+t);return}ae.has(a)||Yt(a);const n=ae.get(a);if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))n.power=+e,Es("power");else if(!t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))n.runningTime=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))n.temp[0]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))n.temp[1]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))n.temp[2]=+e;else if(t.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:n.status="off";break;case 11:n.status="on";break;case 20:n.status="detection";break;case 30:n.status="timeout";break;default:n.status="off"}}}function Es(t){switch(t){case"power":O.devices.power=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.power,0);break;case"energy":O.devices.energy=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.energy,0);break;default:console.error("Unknown category")}}function ra(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}class Ws{constructor(e){d(this,"id");d(this,"name","Zähler");d(this,"power",0);d(this,"energy_imported",0);d(this,"energy_exported",0);d(this,"grid",!1);d(this,"type","counter");d(this,"color","var(--color-evu)");d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"icon","");this.id=e}}const de=J({});function Gs(t,e){if(t in de)console.info("Duplicate counter message: "+t);else switch(de[t]=new Ws(t),de[t].type=e,e){case"counter":de[t].color="var(--color-evu)";break;case"inverter":de[t].color="var(--color-pv)";break;case"cp":de[t].color="var(--color-charging)";break;case"bat":de[t].color="var(--color-bat)";break}}const js=["openWB/counter/#","openWB/bat/#","openWB/pv/get/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+bt()+"/#","openWB/optional/int_display/#"];function zs(){ka(Ns),js.forEach(t=>{Ae(t)}),te()}function Ns(t,e){const a=e.toString();t.match(/^openwb\/counter\/[0-9]+\//i)?Us(t,a):t.match(/^openwb\/counter\//i)?Fs(t,a):t.match(/^openwb\/bat\//i)?Cs(t,a):t.match(/^openwb\/pv\//i)?Js(t,a):t.match(/^openwb\/chargepoint\//i)?Bs(t,a):t.match(/^openwb\/vehicle\/template\//i)?Ts(t,a):t.match(/^openwb\/vehicle\//i)?Os(t,a):t.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?Rs(t,a):t.match(/^openwb\/graph\//i)?ds(t,a):t.match(/^openwb\/log\/daily\//i)?fs(t,a):t.match(/^openwb\/log\/monthly\//i)?_s(t,a):t.match(/^openwb\/log\/yearly\//i)?ws(t,a):t.match(/^openwb\/optional\/et\//i)?$s(t,a):t.match(/^openwb\/system\//i)?Ys(t,a):t.match(/^openwb\/LegacySmartHome\//i)?Vs(t,a):t.match(/^openwb\/command\//i)?qs(t,a):t.match(/^openwb\/optional\//i)&&Qs(t,a)}function Us(t,e){const a=t.split("/"),n=+a[2];if(n==F.evuId?Hs(t,e):a[3]=="config",a[3]=="get"&&n in de)switch(a[4]){case"power":de[n].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":de[n].energy_imported=+e;break;case"daily_exported":de[n].energy_exported=+e;break}}function Fs(t,e){if(t.match(/^openwb\/counter\/get\/hierarchy$/i)){const a=JSON.parse(e);if(a.length){Ia(),Ps();for(const n of a)n.type=="counter"&&(F.evuId=n.id);oa(a[0])}}else t.match(/^openwb\/counter\/set\/home_consumption$/i)?O.house.power=+e:t.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(O.house.energy=+e)}function oa(t){switch(t.type){case"counter":Gs(t.id,t.type);break;case"cp":Ca(t.id);break;case"bat":Ms(t.id);break}t.children.forEach(e=>oa(e))}function Js(t,e){switch(t){case"openWB/pv/get/power":j.pv.power=-e;break;case"openWB/pv/get/daily_exported":j.pv.energy=+e;break}}function Rs(t,e){const a=t.split("/");if(a.length>0)switch(a[4]){case"bat_mode":F.updatePvBatteryPriority(JSON.parse(e));break}}function Hs(t,e){switch(t.split("/")[4]){case"power":+e>0?(j.evuIn.power=+e,O.evuOut.power=0):(j.evuIn.power=0,O.evuOut.power=-e);break;case"daily_imported":j.evuIn.energy=+e;break;case"daily_exported":O.evuOut.energy=+e;break}}function Ys(t,e){if(t.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const a=JSON.parse(e);a.type=="counter"&&(de[a.id].name=a.name)}else t.match(/^openWB\/system\/ip_address$/i)?F.ipAddress=JSON.parse(e):t.match(/^openWB\/system\/time$/i)?F.systemTime=JSON.parse(e):t.match(/^openWB\/system\/version$/i)?F.version=JSON.parse(e):t.match(/^openWB\/system\/current_commit$/i)?F.versionDetails=JSON.parse(e):t.match(/^openWB\/system\/current_branch$/i)&&(F.devBranch=JSON.parse(e))}function qs(t,e){const a=t.split("/");if(t.match(/^openWB\/command\/[a-z]+\/error$/i)&&a[2]==bt()){const n=JSON.parse(e);console.error(`Error message from openWB: +Command: ${n.command} +Data: JSON.stringify(err.data) +Error: + ${n.error}`)}}function Qs(t,e){if(t.match(/^openwb\/optional\/int_display\/active$/i))K.active=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/only_local_charge_points$/i))K.localCpOnly=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/theme$/i)){const a=JSON.parse(e);K.usePin=a.configuration.lock_changes,K.code=a.configuration.lock_changes_code}}const Zs={class:"d-flex flex-column align-items-center justify-content-start infoitem"},Xs=T({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(t){const e=t,a=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),n=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),r=m(()=>e.small?"mt-0":"mt-1");return(i,s)=>(p(),_("span",Zs,[o("span",{class:ne(["d-flex heading scaled",r.value]),style:re(a.value)},I(e.heading),7),o("span",{class:"d-flex my-0 me-0 align-items-center content scaled",style:re(n.value)},[fe(i.$slots,"default",{},void 0)],4)]))}}),le=N(Xs,[["__scopeId","data-v-9215fd9b"]]),Ks=T({__name:"FormatWattH",props:{wattH:{}},setup(t){const e=t,a=m(()=>Nt(e.wattH,y.decimalPlaces));return(n,r)=>(p(),_("span",null,I(a.value),1))}}),ei=T({__name:"BatterySymbol",props:{soc:{}},setup(t){const e=t,a=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<63?"fa-battery-half":e.soc<89?"fa-battery-three-quarters":"fa-battery-full");return(n,r)=>(p(),_("span",null,[o("i",{class:ne(["fa batIcon",a.value])},null,2),W(" "+I(Math.round(n.soc)+"%"),1)]))}}),ti=N(ei,[["__scopeId","data-v-fc156cd3"]]),ai={class:"vehicleinfo justify-content-left"},ni={class:"titleline mb-3"},ri={class:"carname d-flex justify-content-left align-items-center px-2"},oi={key:0,class:"ms-2 me-0 fa-solid fa-xs fa-star ps-1"},si={key:1,class:"ms-2 me-0 fa-solid fa-xs fa-coins ps-0"},ii={key:0,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},li={class:"d-flex justify-content-stretch align-items-center"},ci={class:"infoline"},ui={key:0,class:"me-1 fa-solid fa-xs fa-clock ps-1"},di={class:"infoline"},hi={class:"maxprice"},pi={key:1},gi=T({__name:"CPVehicle",props:{chargepoint:{}},setup(t){const e=t,a=ue(e.chargepoint),n=ue(!1);function r(){H("setSoc",i.value,e.chargepoint.connectedVehicle),n.value=!1}const i=m({get(){return e.chargepoint.soc},set(P){S[e.chargepoint.id].soc=P}}),s=m(()=>e.chargepoint.soc),u=m({get(){return e.chargepoint.chargeMode},set(P){K.locked?Je():S[e.chargepoint.id].chargeMode=P}}),l=m(()=>{const[P]=ee.etPriceList.values();return(Math.round(P*10)/10).toFixed(1)});function g(P=""){K.locked&&Je(),new st("#settingspage").toggle();let A=P;if(P=="")switch(e.chargepoint.chargeMode){case"instant_charging":A="#inSettings";break;case"pv_charging":A="#phvSettings";break;case"scheduled_charging":A="#scSettings";break;default:A="#chSettings"}const U=document.querySelector(A+e.chargepoint.id);if(U){var ge=new zt(U);ge.show()}else console.error("no element found")}const v=m(()=>e.chargepoint.etMaxPrice>=+l.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"});return(P,b)=>(p(),_("div",ai,[o("div",ni,[w(me,{onClick:b[0]||(b[0]=A=>g("#chSettings"))},{default:x(()=>[o("div",ri,[b[6]||(b[6]=o("i",{class:"fa-solid fa-sm fa-car me-3"},null,-1)),W(" "+I(P.chargepoint.vehicleName)+" ",1),P.chargepoint.hasPriority?(p(),_("span",oi)):k("",!0),P.chargepoint.etActive?(p(),_("span",si)):k("",!0)])]),_:1})]),n.value?(p(),_("div",ii,[b[7]||(b[7]=o("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),o("span",li,[o("span",null,[w(Me,{id:"manualSoc",modelValue:i.value,"onUpdate:modelValue":b[1]||(b[1]=A=>i.value=A),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),o("span",{type:"button",class:"fa-solid d-flex fa-lg m-3 me-1 mb-4 align-self-end fa-circle-check",onClick:r})])):k("",!0),o("div",ci,[P.chargepoint.isSocConfigured?(p(),B(le,{key:0,heading:"Ladestand:",class:"grid-col-4 grid-left"},{default:x(()=>[w(ti,{soc:s.value,class:"me-2"},null,8,["soc"]),P.chargepoint.isSocManual?(p(),B(me,{key:0,onClick:b[2]||(b[2]=A=>n.value=!n.value)},{default:x(()=>b[8]||(b[8]=[o("i",{class:"fa-solid fa-sm fas fa-edit py-0 px-3 mt-3",style:{color:"var(--color-fg)"}},null,-1)])),_:1})):k("",!0)]),_:1})):k("",!0),P.chargepoint.isSocConfigured?(p(),B(le,{key:1,heading:"Reichweite:",class:"grid-col-4"},{default:x(()=>[W(I(c(z)[e.chargepoint.connectedVehicle]?Math.round(c(z)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):k("",!0),w(le,{heading:"Zeitplan:",class:"grid-col-4 grid-right"},{default:x(()=>[P.chargepoint.timedCharging?(p(),_("span",ui)):k("",!0),W(" "+I(e.chargepoint.timedCharging?"Ja":"Nein"),1)]),_:1})]),o("div",di,[c(ee).active?(p(),B(le,{key:0,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:x(()=>[w(he,{modelValue:a.value.etActive,"onUpdate:modelValue":b[3]||(b[3]=A=>a.value.etActive=A)},null,8,["modelValue"])]),_:1})):k("",!0),c(ee).active?(p(),B(le,{key:1,heading:"max. Preis:",class:"grid-col-4"},{default:x(()=>[a.value.etActive?(p(),B(me,{key:0,onClick:b[4]||(b[4]=A=>g("#prSettings"))},{default:x(()=>[o("span",hi,I(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-"),1)]),_:1})):(p(),_("span",pi,"-"))]),_:1})):k("",!0),c(ee).active?(p(),B(le,{key:2,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:x(()=>[o("span",{style:re(v.value)},I(l.value)+" ct ",5)]),_:1})):k("",!0)]),w(Kt,{id:"chargemode-"+P.chargepoint.name,modelValue:u.value,"onUpdate:modelValue":b[5]||(b[5]=A=>u.value=A),class:"chargemodes mx-3 mt-4 mb-0",options:Object.keys(c(De)).map(A=>({text:c(De)[A].name,value:A,color:c(De)[A].color,icon:c(De)[A].icon,active:c(De)[A].mode==P.chargepoint.chargeMode}))},null,8,["id","modelValue","options"])]))}}),mi=N(gi,[["__scopeId","data-v-cd7c1021"]]),fi={class:"subgrid"},vi={class:"targetCurrent"},yi=T({__name:"CPChargePoint",props:{chargepoint:{}},setup(t){const e=t,a=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),n=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),r=m(()=>{const v=e.chargepoint.rangeCharged,P=e.chargepoint.chargedSincePlugged,b=e.chargepoint.dailyYield;return P>0?Math.round(v/P*b).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),i=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),s=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),u=m(()=>{let v="";return e.chargepoint.isLocked?v="fa-lock":e.chargepoint.isCharging?v=" fa-bolt":e.chargepoint.isPluggedIn&&(v="fa-plug"),"fa "+v}),l=m(()=>({color:e.chargepoint.color}));function g(){K.locked&&Je(),new st("#settingspage").toggle();let P="";switch(e.chargepoint.chargeMode){case"instant_charging":P="#inSettings";break;case"pv_charging":P="#phvSettings";break;case"scheduled_charging":P="#scSettings";break;default:P="#chSettings"}const b=document.querySelector(P+e.chargepoint.id);if(b){var A=new zt(b);A.show()}else console.error("no element found")}return(v,P)=>(p(),B(lt,null,{title:x(()=>[o("span",{style:re(l.value)},[P[0]||(P[0]=o("span",{class:"fa-solid fa-charging-station"}," ",-1)),W(" "+I(e.chargepoint.name),1)],4)]),buttons:x(()=>[w(me,{color:"var(--color-cp0)",icon:"fa-edit",onClick:g},{default:x(()=>P[1]||(P[1]=[W(" Einstellungen")])),_:1})]),footer:x(()=>[w(mi,{chargepoint:e.chargepoint},null,8,["chargepoint"])]),default:x(()=>[o("div",fi,[w(le,{heading:"Status:",class:"grid-col-4 grid-left"},{default:x(()=>[o("span",{style:re({color:s.value})},[o("i",{class:ne(u.value)},null,2),W(" "+I(i.value),1)],4)]),_:1}),w(le,{heading:"Geladen:",class:"grid-col-4"},{default:x(()=>[w(Ks,{"watt-h":v.chargepoint.dailyYield},null,8,["watt-h"])]),_:1}),w(le,{heading:"gel. Reichw.:",class:"grid-col-4 grid-right"},{default:x(()=>[W(I(r.value),1)]),_:1}),e.chargepoint.power>0?(p(),B(le,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left"},{default:x(()=>[w(qt,{watt:e.chargepoint.power},null,8,["watt"])]),_:1})):k("",!0),e.chargepoint.power>0?(p(),B(le,{key:1,heading:"Strom:",class:"grid-col-3"},{default:x(()=>[W(I(n.value),1)]),_:1})):k("",!0),e.chargepoint.power>0?(p(),B(le,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:x(()=>[W(I(e.chargepoint.phasesInUse),1)]),_:1})):k("",!0),e.chargepoint.power>0?(p(),B(le,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:x(()=>[o("span",vi,I(a.value),1)]),_:1})):k("",!0)])]),_:1}))}}),bi=N(yi,[["__scopeId","data-v-795d5c8f"]]),_i={class:"content"},wi={class:"leftside"},Si={class:"rightside"},ki={class:"settingstitle"},xi=T({__name:"DisplayTheme",setup(t){function e(n){Ta(n)&&(K.locked=!1,setTimeout(()=>{K.locked=!0},K.timeout*1e3))}He(()=>{window.addEventListener("resize",Ct),window.addEventListener("focus",a),zs()}),Dt(()=>{window.removeEventListener("focus",a),window.removeEventListener("resize",Ct)});function a(){document.hasFocus()&&te()}return(n,r)=>(p(),_(pe,null,[o("div",_i,[o("div",wi,[Ge(w(bn,null,null,512),[[ct,c(y).graphToShow=="powermeter"]]),Ge(o("div",null,[w(nr)],512),[[ct,c(y).graphToShow=="powergraph"]]),Ge(o("div",null,[w(Ir)],512),[[ct,c(y).graphToShow=="energymeter"]])]),o("div",Si,[Object.values(c(S)).length>c(y).cpToShow?(p(),B(bi,{key:0,chargepoint:Object.values(c(S))[c(y).cpToShow]},null,8,["chargepoint"])):k("",!0)])]),w(pt,{"modal-id":"numberpad"},{title:x(()=>r[0]||(r[0]=[W("Code")])),default:x(()=>[w(Nr,{"model-value":"","onUpdate:modelValue":e})]),_:1}),w(pt,{"modal-id":"statuspage"},{title:x(()=>r[1]||(r[1]=[o("span",{class:"statustitle"},"Systemstatus",-1)])),default:x(()=>[w(Xr)]),_:1}),Object.values(c(S)).length>c(y).cpToShow?(p(),B(pt,{key:0,"modal-id":"settingspage"},{title:x(()=>[o("span",ki,"Einstellungen für "+I(Object.values(c(S))[c(y).cpToShow].vehicleName)+" an Ladepunkt "+I(Object.values(c(S))[c(y).cpToShow].name),1)]),default:x(()=>[w(us,{chargepoint:Object.values(c(S))[c(y).cpToShow]},null,8,["chargepoint"])]),_:1})):k("",!0)],64))}}),Mi=N(xi,[["__scopeId","data-v-9b3643f1"]]),Pi={class:"fixeddisplay"},Ci=T({__name:"App",setup(t){return He(()=>{console.log("on mounted");let e=window.location.search;if(e!=""){console.debug("search",e);let a=new URLSearchParams(e);if(a.has("data")){let n=JSON.parse(a.get("data"));Object.entries(n).forEach(([r,i])=>{console.log("updateSetting",r,i),r.startsWith("parentChargePoint")?Ce[r]=parseInt(i):Ce[r]=i})}}}),(e,a)=>(p(),_("div",Pi,[w(Mi),w(Ja)]))}}),Ii=N(Ci,[["__scopeId","data-v-f43b9e47"]]),$i=ma(Ii);$i.mount("#app"); diff --git a/packages/modules/display_themes/colors/web/assets/vendor-BdYRjXMo.js b/packages/modules/display_themes/colors/web/assets/vendor-BdYRjXMo.js new file mode 100644 index 0000000000..f5b6c75259 --- /dev/null +++ b/packages/modules/display_themes/colors/web/assets/vendor-BdYRjXMo.js @@ -0,0 +1,35 @@ +var pv=Object.defineProperty;var Ld=e=>{throw TypeError(e)};var gv=(e,t,r)=>t in e?pv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var tt=(e,t,r)=>gv(e,typeof t!="symbol"?t+"":t,r),Dl=(e,t,r)=>t.has(e)||Ld("Cannot "+r);var fe=(e,t,r)=>(Dl(e,t,"read from private field"),r?r.call(e):t.get(e)),Fe=(e,t,r)=>t.has(e)?Ld("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Le=(e,t,r,n)=>(Dl(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Ne=(e,t,r)=>(Dl(e,t,"access private method"),r);var So=(e,t,r,n)=>({set _(s){Le(e,t,s,r)},get _(){return fe(e,t,n)}});const si=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{};/** +* @vue/shared v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function mh(e){const t=Object.create(null);for(const r of e.split(","))t[r]=1;return r=>r in t}const Ye={},$i=[],vr=()=>{},mv=()=>!1,Za=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),yh=e=>e.startsWith("onUpdate:"),At=Object.assign,_h=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},yv=Object.prototype.hasOwnProperty,We=(e,t)=>yv.call(e,t),Be=Array.isArray,ji=e=>fo(e)==="[object Map]",el=e=>fo(e)==="[object Set]",Bd=e=>fo(e)==="[object Date]",De=e=>typeof e=="function",lt=e=>typeof e=="string",fr=e=>typeof e=="symbol",Qe=e=>e!==null&&typeof e=="object",dy=e=>(Qe(e)||De(e))&&De(e.then)&&De(e.catch),py=Object.prototype.toString,fo=e=>py.call(e),_v=e=>fo(e).slice(8,-1),gy=e=>fo(e)==="[object Object]",bh=e=>lt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vs=mh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tl=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},bv=/-(\w)/g,bn=tl(e=>e.replace(bv,(t,r)=>r?r.toUpperCase():"")),wv=/\B([A-Z])/g,hi=tl(e=>e.replace(wv,"-$1").toLowerCase()),my=tl(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ul=tl(e=>e?`on${my(e)}`:""),_n=(e,t)=>!Object.is(e,t),Zo=(e,...t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:r})},pf=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Dd;const rl=()=>Dd||(Dd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof si<"u"?si:{});function wh(e){if(Be(e)){const t={};for(let r=0;r{if(r){const n=r.split(Ev);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function vh(e){let t="";if(lt(e))t=e;else if(Be(e))for(let r=0;rnl(r,t))}const wy=e=>!!(e&&e.__v_isRef===!0),Cv=e=>lt(e)?e:e==null?"":Be(e)||Qe(e)&&(e.toString===py||!De(e.toString))?wy(e)?Cv(e.value):JSON.stringify(e,vy,2):String(e),vy=(e,t)=>wy(t)?vy(e,t.value):ji(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,s],i)=>(r[Fl(n,i)+" =>"]=s,r),{})}:el(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>Fl(r))}:fr(t)?Fl(t):Qe(t)&&!Be(t)&&!gy(t)?String(t):t,Fl=(e,t="")=>{var r;return fr(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};/** +* @vue/reactivity v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let $t;class Rv{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=$t,!t&&$t&&(this.index=($t.scopes||($t.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t0)return;if(Ks){let t=Ks;for(Ks=void 0;t;){const r=t.next;t.next=void 0,t.flags&=-9,t=r}}let e;for(;qs;){let t=qs;for(qs=void 0;t;){const r=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=r}}if(e)throw e}function Ty(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xy(e){let t,r=e.depsTail,n=r;for(;n;){const s=n.prevDep;n.version===-1?(n===r&&(r=s),Ah(n),kv(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=t,e.depsTail=r}function gf(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Iy(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Iy(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Zs))return;e.globalVersion=Zs;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!gf(e)){e.flags&=-3;return}const r=Ge,n=ur;Ge=e,ur=!0;try{Ty(e);const s=e.fn(e._value);(t.version===0||_n(s,e._value))&&(e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ge=r,ur=n,xy(e),e.flags&=-3}}function Ah(e,t=!1){const{dep:r,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),r.subs===e&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let i=r.computed.deps;i;i=i.nextDep)Ah(i,!0)}!t&&!--r.sc&&r.map&&r.map.delete(r.key)}function kv(e){const{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}let ur=!0;const Cy=[];function An(){Cy.push(ur),ur=!1}function Tn(){const e=Cy.pop();ur=e===void 0?!0:e}function Ud(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const r=Ge;Ge=void 0;try{t()}finally{Ge=r}}}let Zs=0;class Mv{constructor(t,r){this.sub=t,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Th{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!Ge||!ur||Ge===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Ge)r=this.activeLink=new Mv(Ge,this),Ge.deps?(r.prevDep=Ge.depsTail,Ge.depsTail.nextDep=r,Ge.depsTail=r):Ge.deps=Ge.depsTail=r,Ry(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Ge.depsTail,r.nextDep=void 0,Ge.depsTail.nextDep=r,Ge.depsTail=r,Ge.deps===r&&(Ge.deps=n)}return r}trigger(t){this.version++,Zs++,this.notify(t)}notify(t){Eh();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{Sh()}}}function Ry(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ry(n)}const r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subs=e}}const mf=new WeakMap,Zn=Symbol(""),yf=Symbol(""),eo=Symbol("");function wt(e,t,r){if(ur&&Ge){let n=mf.get(e);n||mf.set(e,n=new Map);let s=n.get(r);s||(n.set(r,s=new Th),s.map=n,s.key=r),s.track()}}function Fr(e,t,r,n,s,i){const a=mf.get(e);if(!a){Zs++;return}const o=l=>{l&&l.trigger()};if(Eh(),t==="clear")a.forEach(o);else{const l=Be(e),u=l&&bh(r);if(l&&r==="length"){const f=Number(n);a.forEach((d,p)=>{(p==="length"||p===eo||!fr(p)&&p>=f)&&o(d)})}else switch((r!==void 0||a.has(void 0))&&o(a.get(r)),u&&o(a.get(eo)),t){case"add":l?u&&o(a.get("length")):(o(a.get(Zn)),ji(e)&&o(a.get(yf)));break;case"delete":l||(o(a.get(Zn)),ji(e)&&o(a.get(yf)));break;case"set":ji(e)&&o(a.get(Zn));break}}Sh()}function Ai(e){const t=je(e);return t===e?t:(wt(t,"iterate",eo),Jt(e)?t:t.map(vt))}function il(e){return wt(e=je(e),"iterate",eo),e}const Nv={__proto__:null,[Symbol.iterator](){return jl(this,Symbol.iterator,vt)},concat(...e){return Ai(this).concat(...e.map(t=>Be(t)?Ai(t):t))},entries(){return jl(this,"entries",e=>(e[1]=vt(e[1]),e))},every(e,t){return Or(this,"every",e,t,void 0,arguments)},filter(e,t){return Or(this,"filter",e,t,r=>r.map(vt),arguments)},find(e,t){return Or(this,"find",e,t,vt,arguments)},findIndex(e,t){return Or(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Or(this,"findLast",e,t,vt,arguments)},findLastIndex(e,t){return Or(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Or(this,"forEach",e,t,void 0,arguments)},includes(...e){return Wl(this,"includes",e)},indexOf(...e){return Wl(this,"indexOf",e)},join(e){return Ai(this).join(e)},lastIndexOf(...e){return Wl(this,"lastIndexOf",e)},map(e,t){return Or(this,"map",e,t,void 0,arguments)},pop(){return bs(this,"pop")},push(...e){return bs(this,"push",e)},reduce(e,...t){return Fd(this,"reduce",e,t)},reduceRight(e,...t){return Fd(this,"reduceRight",e,t)},shift(){return bs(this,"shift")},some(e,t){return Or(this,"some",e,t,void 0,arguments)},splice(...e){return bs(this,"splice",e)},toReversed(){return Ai(this).toReversed()},toSorted(e){return Ai(this).toSorted(e)},toSpliced(...e){return Ai(this).toSpliced(...e)},unshift(...e){return bs(this,"unshift",e)},values(){return jl(this,"values",vt)}};function jl(e,t,r){const n=il(e),s=n[t]();return n!==e&&!Jt(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.value&&(i.value=r(i.value)),i}),s}const Pv=Array.prototype;function Or(e,t,r,n,s,i){const a=il(e),o=a!==e&&!Jt(e),l=a[t];if(l!==Pv[t]){const d=l.apply(e,i);return o?vt(d):d}let u=r;a!==e&&(o?u=function(d,p){return r.call(this,vt(d),p,e)}:r.length>2&&(u=function(d,p){return r.call(this,d,p,e)}));const f=l.call(a,u,n);return o&&s?s(f):f}function Fd(e,t,r,n){const s=il(e);let i=r;return s!==e&&(Jt(e)?r.length>3&&(i=function(a,o,l){return r.call(this,a,o,l,e)}):i=function(a,o,l){return r.call(this,a,vt(o),l,e)}),s[t](i,...n)}function Wl(e,t,r){const n=je(e);wt(n,"iterate",eo);const s=n[t](...r);return(s===-1||s===!1)&&Rh(r[0])?(r[0]=je(r[0]),n[t](...r)):s}function bs(e,t,r=[]){An(),Eh();const n=je(e)[t].apply(e,r);return Sh(),Tn(),n}const Lv=mh("__proto__,__v_isRef,__isVue"),Oy=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(fr));function Bv(e){fr(e)||(e=String(e));const t=je(this);return wt(t,"has",e),t.hasOwnProperty(e)}class ky{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,n){if(r==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return i;if(r==="__v_raw")return n===(s?i?Kv:Ly:i?Py:Ny).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Be(t);if(!s){let l;if(a&&(l=Nv[r]))return l;if(r==="hasOwnProperty")return Bv}const o=Reflect.get(t,r,St(t)?t:n);return(fr(r)?Oy.has(r):Lv(r))||(s||wt(t,"get",r),i)?o:St(o)?a&&bh(r)?o:o.value:Qe(o)?s?By(o):Ih(o):o}}class My extends ky{constructor(t=!1){super(!1,t)}set(t,r,n,s){let i=t[r];if(!this._isShallow){const l=oi(i);if(!Jt(n)&&!oi(n)&&(i=je(i),n=je(n)),!Be(t)&&St(i)&&!St(n))return l?!1:(i.value=n,!0)}const a=Be(t)&&bh(r)?Number(r)e,Ao=e=>Reflect.getPrototypeOf(e);function jv(e,t,r){return function(...n){const s=this.__v_raw,i=je(s),a=ji(i),o=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,u=s[e](...n),f=r?_f:t?bf:vt;return!t&&wt(i,"iterate",l?yf:Zn),{next(){const{value:d,done:p}=u.next();return p?{value:d,done:p}:{value:o?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function To(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Wv(e,t){const r={get(s){const i=this.__v_raw,a=je(i),o=je(s);e||(_n(s,o)&&wt(a,"get",s),wt(a,"get",o));const{has:l}=Ao(a),u=t?_f:e?bf:vt;if(l.call(a,s))return u(i.get(s));if(l.call(a,o))return u(i.get(o));i!==a&&i.get(s)},get size(){const s=this.__v_raw;return!e&&wt(je(s),"iterate",Zn),Reflect.get(s,"size",s)},has(s){const i=this.__v_raw,a=je(i),o=je(s);return e||(_n(s,o)&&wt(a,"has",s),wt(a,"has",o)),s===o?i.has(s):i.has(s)||i.has(o)},forEach(s,i){const a=this,o=a.__v_raw,l=je(o),u=t?_f:e?bf:vt;return!e&&wt(l,"iterate",Zn),o.forEach((f,d)=>s.call(i,u(f),u(d),a))}};return At(r,e?{add:To("add"),set:To("set"),delete:To("delete"),clear:To("clear")}:{add(s){!t&&!Jt(s)&&!oi(s)&&(s=je(s));const i=je(this);return Ao(i).has.call(i,s)||(i.add(s),Fr(i,"add",s,s)),this},set(s,i){!t&&!Jt(i)&&!oi(i)&&(i=je(i));const a=je(this),{has:o,get:l}=Ao(a);let u=o.call(a,s);u||(s=je(s),u=o.call(a,s));const f=l.call(a,s);return a.set(s,i),u?_n(i,f)&&Fr(a,"set",s,i):Fr(a,"add",s,i),this},delete(s){const i=je(this),{has:a,get:o}=Ao(i);let l=a.call(i,s);l||(s=je(s),l=a.call(i,s)),o&&o.call(i,s);const u=i.delete(s);return l&&Fr(i,"delete",s,void 0),u},clear(){const s=je(this),i=s.size!==0,a=s.clear();return i&&Fr(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{r[s]=jv(s,e,t)}),r}function xh(e,t){const r=Wv(e,t);return(n,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(We(r,s)&&s in n?r:n,s,i)}const Hv={get:xh(!1,!1)},Vv={get:xh(!1,!0)},qv={get:xh(!0,!1)};const Ny=new WeakMap,Py=new WeakMap,Ly=new WeakMap,Kv=new WeakMap;function Yv(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zv(e){return e.__v_skip||!Object.isExtensible(e)?0:Yv(_v(e))}function Ih(e){return oi(e)?e:Ch(e,!1,Uv,Hv,Ny)}function Gv(e){return Ch(e,!1,$v,Vv,Py)}function By(e){return Ch(e,!0,Fv,qv,Ly)}function Ch(e,t,r,n,s){if(!Qe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=s.get(e);if(i)return i;const a=zv(e);if(a===0)return e;const o=new Proxy(e,a===2?n:r);return s.set(e,o),o}function Wi(e){return oi(e)?Wi(e.__v_raw):!!(e&&e.__v_isReactive)}function oi(e){return!!(e&&e.__v_isReadonly)}function Jt(e){return!!(e&&e.__v_isShallow)}function Rh(e){return e?!!e.__v_raw:!1}function je(e){const t=e&&e.__v_raw;return t?je(t):e}function Qv(e){return!We(e,"__v_skip")&&Object.isExtensible(e)&&yy(e,"__v_skip",!0),e}const vt=e=>Qe(e)?Ih(e):e,bf=e=>Qe(e)?By(e):e;function St(e){return e?e.__v_isRef===!0:!1}function uL(e){return Xv(e,!1)}function Xv(e,t){return St(e)?e:new Jv(e,t)}class Jv{constructor(t,r){this.dep=new Th,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?t:je(t),this._value=r?t:vt(t),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(t){const r=this._rawValue,n=this.__v_isShallow||Jt(t)||oi(t);t=n?t:je(t),_n(t,r)&&(this._rawValue=t,this._value=n?t:vt(t),this.dep.trigger())}}function Zv(e){return St(e)?e.value:e}const eE={get:(e,t,r)=>t==="__v_raw"?e:Zv(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const s=e[t];return St(s)&&!St(r)?(s.value=r,!0):Reflect.set(e,t,r,n)}};function Dy(e){return Wi(e)?e:new Proxy(e,eE)}class tE{constructor(t,r,n){this.fn=t,this.setter=r,this._value=void 0,this.dep=new Th(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Zs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ge!==this)return Ay(this,!0),!0}get value(){const t=this.dep.track();return Iy(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function rE(e,t,r=!1){let n,s;return De(e)?n=e:(n=e.get,s=e.set),new tE(n,s,r)}const xo={},Ea=new WeakMap;let Wn;function nE(e,t=!1,r=Wn){if(r){let n=Ea.get(r);n||Ea.set(r,n=[]),n.push(e)}}function iE(e,t,r=Ye){const{immediate:n,deep:s,once:i,scheduler:a,augmentJob:o,call:l}=r,u=C=>s?C:Jt(C)||s===!1||s===0?$r(C,1):$r(C);let f,d,p,g,_=!1,b=!1;if(St(e)?(d=()=>e.value,_=Jt(e)):Wi(e)?(d=()=>u(e),_=!0):Be(e)?(b=!0,_=e.some(C=>Wi(C)||Jt(C)),d=()=>e.map(C=>{if(St(C))return C.value;if(Wi(C))return u(C);if(De(C))return l?l(C,2):C()})):De(e)?t?d=l?()=>l(e,2):e:d=()=>{if(p){An();try{p()}finally{Tn()}}const C=Wn;Wn=f;try{return l?l(e,3,[g]):e(g)}finally{Wn=C}}:d=vr,t&&s){const C=d,R=s===!0?1/0:s;d=()=>$r(C(),R)}const E=Ov(),v=()=>{f.stop(),E&&E.active&&_h(E.effects,f)};if(i&&t){const C=t;t=(...R)=>{C(...R),v()}}let S=b?new Array(e.length).fill(xo):xo;const w=C=>{if(!(!(f.flags&1)||!f.dirty&&!C))if(t){const R=f.run();if(s||_||(b?R.some((O,D)=>_n(O,S[D])):_n(R,S))){p&&p();const O=Wn;Wn=f;try{const D=[R,S===xo?void 0:b&&S[0]===xo?[]:S,g];l?l(t,3,D):t(...D),S=R}finally{Wn=O}}}else f.run()};return o&&o(w),f=new Ey(d),f.scheduler=a?()=>a(w,!1):w,g=C=>nE(C,!1,f),p=f.onStop=()=>{const C=Ea.get(f);if(C){if(l)l(C,4);else for(const R of C)R();Ea.delete(f)}},t?n?w(!0):S=f.run():a?a(w.bind(null,!0),!0):f.run(),v.pause=f.pause.bind(f),v.resume=f.resume.bind(f),v.stop=v,v}function $r(e,t=1/0,r){if(t<=0||!Qe(e)||e.__v_skip||(r=r||new Set,r.has(e)))return e;if(r.add(e),t--,St(e))$r(e.value,t,r);else if(Be(e))for(let n=0;n{$r(n,t,r)});else if(gy(e)){for(const n in e)$r(e[n],t,r);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&$r(e[n],t,r)}return e}/** +* @vue/runtime-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function co(e,t,r,n){try{return n?e(...n):e()}catch(s){sl(s,t,r)}}function xr(e,t,r,n){if(De(e)){const s=co(e,t,r,n);return s&&dy(s)&&s.catch(i=>{sl(i,t,r)}),s}if(Be(e)){const s=[];for(let i=0;i>>1,s=xt[n],i=to(s);i=to(r)?xt.push(e):xt.splice(aE(t),0,e),e.flags|=1,Fy()}}function Fy(){Sa||(Sa=Uy.then(jy))}function lE(e){Be(e)?Hi.push(...e):mn&&e.id===-1?mn.splice(Ri+1,0,e):e.flags&1||(Hi.push(e),e.flags|=1),Fy()}function $d(e,t,r=yr+1){for(;rto(r)-to(n));if(Hi.length=0,mn){mn.push(...t);return}for(mn=t,Ri=0;Rie.id==null?e.flags&2?-1:1/0:e.id;function jy(e){try{for(yr=0;yr{n._d&&Gd(-1);const i=Aa(t);let a;try{a=e(...s)}finally{Aa(i),n._d&&Gd(1)}return a};return n._n=!0,n._c=!0,n._d=!0,n}function fL(e,t){if(Et===null)return e;const r=ul(Et),n=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport;function kh(e,t){e.shapeFlag&6&&e.component?(e.transition=t,kh(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}/*! #__NO_SIDE_EFFECTS__ */function cL(e,t){return De(e)?At({name:e.name},t,{setup:e}):e}function Hy(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ta(e,t,r,n,s=!1){if(Be(e)){e.forEach((_,b)=>Ta(_,t&&(Be(t)?t[b]:t),r,n,s));return}if(Vi(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ta(e,t,r,n.component.subTree);return}const i=n.shapeFlag&4?ul(n.component):n.el,a=s?null:i,{i:o,r:l}=e,u=t&&t.r,f=o.refs===Ye?o.refs={}:o.refs,d=o.setupState,p=je(d),g=d===Ye?()=>!1:_=>We(p,_);if(u!=null&&u!==l&&(lt(u)?(f[u]=null,g(u)&&(d[u]=null)):St(u)&&(u.value=null)),De(l))co(l,o,12,[a,f]);else{const _=lt(l),b=St(l);if(_||b){const E=()=>{if(e.f){const v=_?g(l)?d[l]:f[l]:l.value;s?Be(v)&&_h(v,i):Be(v)?v.includes(i)||v.push(i):_?(f[l]=[i],g(l)&&(d[l]=f[l])):(l.value=[i],e.k&&(f[e.k]=l.value))}else _?(f[l]=a,g(l)&&(d[l]=a)):b&&(l.value=a,e.k&&(f[e.k]=a))};a?(E.id=-1,Ut(E,r)):E()}}}rl().requestIdleCallback;rl().cancelIdleCallback;const Vi=e=>!!e.type.__asyncLoader,Vy=e=>e.type.__isKeepAlive;function hE(e,t){qy(e,"a",t)}function dE(e,t){qy(e,"da",t)}function qy(e,t,r=It){const n=e.__wdc||(e.__wdc=()=>{let s=r;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(ol(t,n,r),r){let s=r.parent;for(;s&&s.parent;)Vy(s.parent.vnode)&&pE(n,t,r,s),s=s.parent}}function pE(e,t,r,n){const s=ol(t,e,n,!0);Ky(()=>{_h(n[t],s)},r)}function ol(e,t,r=It,n=!1){if(r){const s=r[e]||(r[e]=[]),i=t.__weh||(t.__weh=(...a)=>{An();const o=ho(r),l=xr(t,r,e,a);return o(),Tn(),l});return n?s.unshift(i):s.push(i),i}}const rn=e=>(t,r=It)=>{(!no||e==="sp")&&ol(e,(...n)=>t(...n),r)},gE=rn("bm"),mE=rn("m"),yE=rn("bu"),_E=rn("u"),bE=rn("bum"),Ky=rn("um"),wE=rn("sp"),vE=rn("rtg"),EE=rn("rtc");function SE(e,t=It){ol("ec",e,t)}const AE=Symbol.for("v-ndc");function hL(e,t,r,n){let s;const i=r,a=Be(e);if(a||lt(e)){const o=a&&Wi(e);let l=!1;o&&(l=!Jt(e),e=il(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(o,l,void 0,i));else{const o=Object.keys(e);s=new Array(o.length);for(let l=0,u=o.length;lPh(t)?!(t.type===wn||t.type===Qt&&!Yy(t.children)):!0)?e:null}const wf=e=>e?p_(e)?ul(e):wf(e.parent):null,Ys=At(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>wf(e.parent),$root:e=>wf(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gy(e),$forceUpdate:e=>e.f||(e.f=()=>{Oh(e.update)}),$nextTick:e=>e.n||(e.n=oE.bind(e.proxy)),$watch:e=>KE.bind(e)}),Hl=(e,t)=>e!==Ye&&!e.__isScriptSetup&&We(e,t),TE={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:r,setupState:n,data:s,props:i,accessCache:a,type:o,appContext:l}=e;let u;if(t[0]!=="$"){const g=a[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return s[t];case 4:return r[t];case 3:return i[t]}else{if(Hl(n,t))return a[t]=1,n[t];if(s!==Ye&&We(s,t))return a[t]=2,s[t];if((u=e.propsOptions[0])&&We(u,t))return a[t]=3,i[t];if(r!==Ye&&We(r,t))return a[t]=4,r[t];vf&&(a[t]=0)}}const f=Ys[t];let d,p;if(f)return t==="$attrs"&&wt(e.attrs,"get",""),f(e);if((d=o.__cssModules)&&(d=d[t]))return d;if(r!==Ye&&We(r,t))return a[t]=4,r[t];if(p=l.config.globalProperties,We(p,t))return p[t]},set({_:e},t,r){const{data:n,setupState:s,ctx:i}=e;return Hl(s,t)?(s[t]=r,!0):n!==Ye&&We(n,t)?(n[t]=r,!0):We(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:s,propsOptions:i}},a){let o;return!!r[a]||e!==Ye&&We(e,a)||Hl(t,a)||(o=i[0])&&We(o,a)||We(n,a)||We(Ys,a)||We(s.config.globalProperties,a)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:We(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function jd(e){return Be(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let vf=!0;function xE(e){const t=Gy(e),r=e.proxy,n=e.ctx;vf=!1,t.beforeCreate&&Wd(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:a,watch:o,provide:l,inject:u,created:f,beforeMount:d,mounted:p,beforeUpdate:g,updated:_,activated:b,deactivated:E,beforeDestroy:v,beforeUnmount:S,destroyed:w,unmounted:C,render:R,renderTracked:O,renderTriggered:D,errorCaptured:V,serverPrefetch:re,expose:G,inheritAttrs:X,components:L,directives:$,filters:ae}=t;if(u&&IE(u,n,null),a)for(const pe in a){const z=a[pe];De(z)&&(n[pe]=z.bind(r))}if(s){const pe=s.call(r,r);Qe(pe)&&(e.data=Ih(pe))}if(vf=!0,i)for(const pe in i){const z=i[pe],ge=De(z)?z.bind(r,r):De(z.get)?z.get.bind(r,r):vr,Y=!De(z)&&De(z.set)?z.set.bind(r):vr,he=d1({get:ge,set:Y});Object.defineProperty(n,pe,{enumerable:!0,configurable:!0,get:()=>he.value,set:N=>he.value=N})}if(o)for(const pe in o)zy(o[pe],n,r,pe);if(l){const pe=De(l)?l.call(r):l;Reflect.ownKeys(pe).forEach(z=>{NE(z,pe[z])})}f&&Wd(f,e,"c");function de(pe,z){Be(z)?z.forEach(ge=>pe(ge.bind(r))):z&&pe(z.bind(r))}if(de(gE,d),de(mE,p),de(yE,g),de(_E,_),de(hE,b),de(dE,E),de(SE,V),de(EE,O),de(vE,D),de(bE,S),de(Ky,C),de(wE,re),Be(G))if(G.length){const pe=e.exposed||(e.exposed={});G.forEach(z=>{Object.defineProperty(pe,z,{get:()=>r[z],set:ge=>r[z]=ge})})}else e.exposed||(e.exposed={});R&&e.render===vr&&(e.render=R),X!=null&&(e.inheritAttrs=X),L&&(e.components=L),$&&(e.directives=$),re&&Hy(e)}function IE(e,t,r=vr){Be(e)&&(e=Ef(e));for(const n in e){const s=e[n];let i;Qe(s)?"default"in s?i=ea(s.from||n,s.default,!0):i=ea(s.from||n):i=ea(s),St(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[n]=i}}function Wd(e,t,r){xr(Be(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function zy(e,t,r,n){let s=n.includes(".")?l_(r,n):()=>r[n];if(lt(e)){const i=t[e];De(i)&&ql(s,i)}else if(De(e))ql(s,e.bind(r));else if(Qe(e))if(Be(e))e.forEach(i=>zy(i,t,r,n));else{const i=De(e.handler)?e.handler.bind(r):t[e.handler];De(i)&&ql(s,i,e)}}function Gy(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,o=i.get(t);let l;return o?l=o:!s.length&&!r&&!n?l=t:(l={},s.length&&s.forEach(u=>xa(l,u,a,!0)),xa(l,t,a)),Qe(t)&&i.set(t,l),l}function xa(e,t,r,n=!1){const{mixins:s,extends:i}=t;i&&xa(e,i,r,!0),s&&s.forEach(a=>xa(e,a,r,!0));for(const a in t)if(!(n&&a==="expose")){const o=CE[a]||r&&r[a];e[a]=o?o(e[a],t[a]):t[a]}return e}const CE={data:Hd,props:Vd,emits:Vd,methods:Bs,computed:Bs,beforeCreate:Tt,created:Tt,beforeMount:Tt,mounted:Tt,beforeUpdate:Tt,updated:Tt,beforeDestroy:Tt,beforeUnmount:Tt,destroyed:Tt,unmounted:Tt,activated:Tt,deactivated:Tt,errorCaptured:Tt,serverPrefetch:Tt,components:Bs,directives:Bs,watch:OE,provide:Hd,inject:RE};function Hd(e,t){return t?e?function(){return At(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function RE(e,t){return Bs(Ef(e),Ef(t))}function Ef(e){if(Be(e)){const t={};for(let r=0;r1)return r&&De(t)?t.call(n&&n.proxy):t}}const Xy={},Jy=()=>Object.create(Xy),Zy=e=>Object.getPrototypeOf(e)===Xy;function PE(e,t,r,n=!1){const s={},i=Jy();e.propsDefaults=Object.create(null),e_(e,t,s,i);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);r?e.props=n?s:Gv(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function LE(e,t,r,n){const{props:s,attrs:i,vnode:{patchFlag:a}}=e,o=je(s),[l]=e.propsOptions;let u=!1;if((n||a>0)&&!(a&16)){if(a&8){const f=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[p,g]=t_(d,t,!0);At(a,p),g&&o.push(...g)};!r&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!l)return Qe(e)&&n.set(e,$i),$i;if(Be(i))for(let f=0;fe[0]==="_"||e==="$stable",Mh=e=>Be(e)?e.map(_r):[_r(e)],DE=(e,t,r)=>{if(t._n)return t;const n=uE((...s)=>Mh(t(...s)),r);return n._c=!1,n},n_=(e,t,r)=>{const n=e._ctx;for(const s in e){if(r_(s))continue;const i=e[s];if(De(i))t[s]=DE(s,i,n);else if(i!=null){const a=Mh(i);t[s]=()=>a}}},i_=(e,t)=>{const r=Mh(t);e.slots.default=()=>r},s_=(e,t,r)=>{for(const n in t)(r||n!=="_")&&(e[n]=t[n])},UE=(e,t,r)=>{const n=e.slots=Jy();if(e.vnode.shapeFlag&32){const s=t._;s?(s_(n,t,r),r&&yy(n,"_",s,!0)):n_(t,n)}else t&&i_(e,t)},FE=(e,t,r)=>{const{vnode:n,slots:s}=e;let i=!0,a=Ye;if(n.shapeFlag&32){const o=t._;o?r&&o===1?i=!1:s_(s,t,r):(i=!t.$stable,n_(t,s)),a=t}else t&&(i_(e,t),a={default:1});if(i)for(const o in s)!r_(o)&&a[o]==null&&delete s[o]},Ut=ZE;function $E(e){return jE(e)}function jE(e,t){const r=rl();r.__VUE__=!0;const{insert:n,remove:s,patchProp:i,createElement:a,createText:o,createComment:l,setText:u,setElementText:f,parentNode:d,nextSibling:p,setScopeId:g=vr,insertStaticContent:_}=e,b=(A,T,M,I=null,B=null,U=null,Z=void 0,j=null,F=!!T.dynamicChildren)=>{if(A===T)return;A&&!ws(A,T)&&(I=q(A),N(A,B,U,!0),A=null),T.patchFlag===-2&&(F=!1,T.dynamicChildren=null);const{type:K,ref:P,shapeFlag:J}=T;switch(K){case ll:E(A,T,M,I);break;case wn:v(A,T,M,I);break;case Kl:A==null&&S(T,M,I,Z);break;case Qt:L(A,T,M,I,B,U,Z,j,F);break;default:J&1?R(A,T,M,I,B,U,Z,j,F):J&6?$(A,T,M,I,B,U,Z,j,F):(J&64||J&128)&&K.process(A,T,M,I,B,U,Z,j,F,te)}P!=null&&B&&Ta(P,A&&A.ref,U,T||A,!T)},E=(A,T,M,I)=>{if(A==null)n(T.el=o(T.children),M,I);else{const B=T.el=A.el;T.children!==A.children&&u(B,T.children)}},v=(A,T,M,I)=>{A==null?n(T.el=l(T.children||""),M,I):T.el=A.el},S=(A,T,M,I)=>{[A.el,A.anchor]=_(A.children,T,M,I,A.el,A.anchor)},w=({el:A,anchor:T},M,I)=>{let B;for(;A&&A!==T;)B=p(A),n(A,M,I),A=B;n(T,M,I)},C=({el:A,anchor:T})=>{let M;for(;A&&A!==T;)M=p(A),s(A),A=M;s(T)},R=(A,T,M,I,B,U,Z,j,F)=>{T.type==="svg"?Z="svg":T.type==="math"&&(Z="mathml"),A==null?O(T,M,I,B,U,Z,j,F):re(A,T,B,U,Z,j,F)},O=(A,T,M,I,B,U,Z,j)=>{let F,K;const{props:P,shapeFlag:J,transition:le,dirs:me}=A;if(F=A.el=a(A.type,U,P&&P.is,P),J&8?f(F,A.children):J&16&&V(A.children,F,null,I,B,Vl(A,U),Z,j),me&&Nn(A,null,I,"created"),D(F,A,A.scopeId,Z,I),P){for(const h in P)h!=="value"&&!Vs(h)&&i(F,h,null,P[h],U,I);"value"in P&&i(F,"value",null,P.value,U),(K=P.onVnodeBeforeMount)&&dr(K,I,A)}me&&Nn(A,null,I,"beforeMount");const y=WE(B,le);y&&le.beforeEnter(F),n(F,T,M),((K=P&&P.onVnodeMounted)||y||me)&&Ut(()=>{K&&dr(K,I,A),y&&le.enter(F),me&&Nn(A,null,I,"mounted")},B)},D=(A,T,M,I,B)=>{if(M&&g(A,M),I)for(let U=0;U{for(let K=F;K{const j=T.el=A.el;let{patchFlag:F,dynamicChildren:K,dirs:P}=T;F|=A.patchFlag&16;const J=A.props||Ye,le=T.props||Ye;let me;if(M&&Pn(M,!1),(me=le.onVnodeBeforeUpdate)&&dr(me,M,T,A),P&&Nn(T,A,M,"beforeUpdate"),M&&Pn(M,!0),(J.innerHTML&&le.innerHTML==null||J.textContent&&le.textContent==null)&&f(j,""),K?G(A.dynamicChildren,K,j,M,I,Vl(T,B),U):Z||z(A,T,j,null,M,I,Vl(T,B),U,!1),F>0){if(F&16)X(j,J,le,M,B);else if(F&2&&J.class!==le.class&&i(j,"class",null,le.class,B),F&4&&i(j,"style",J.style,le.style,B),F&8){const y=T.dynamicProps;for(let h=0;h{me&&dr(me,M,T,A),P&&Nn(T,A,M,"updated")},I)},G=(A,T,M,I,B,U,Z)=>{for(let j=0;j{if(T!==M){if(T!==Ye)for(const U in T)!Vs(U)&&!(U in M)&&i(A,U,T[U],null,B,I);for(const U in M){if(Vs(U))continue;const Z=M[U],j=T[U];Z!==j&&U!=="value"&&i(A,U,j,Z,B,I)}"value"in M&&i(A,"value",T.value,M.value,B)}},L=(A,T,M,I,B,U,Z,j,F)=>{const K=T.el=A?A.el:o(""),P=T.anchor=A?A.anchor:o("");let{patchFlag:J,dynamicChildren:le,slotScopeIds:me}=T;me&&(j=j?j.concat(me):me),A==null?(n(K,M,I),n(P,M,I),V(T.children||[],M,P,B,U,Z,j,F)):J>0&&J&64&&le&&A.dynamicChildren?(G(A.dynamicChildren,le,M,B,U,Z,j),(T.key!=null||B&&T===B.subTree)&&o_(A,T,!0)):z(A,T,M,P,B,U,Z,j,F)},$=(A,T,M,I,B,U,Z,j,F)=>{T.slotScopeIds=j,A==null?T.shapeFlag&512?B.ctx.activate(T,M,I,Z,F):ae(T,M,I,B,U,Z,F):ce(A,T,F)},ae=(A,T,M,I,B,U,Z)=>{const j=A.component=a1(A,I,B);if(Vy(A)&&(j.ctx.renderer=te),l1(j,!1,Z),j.asyncDep){if(B&&B.registerDep(j,de,Z),!A.el){const F=j.subTree=Er(wn);v(null,F,T,M)}}else de(j,A,T,M,B,U,Z)},ce=(A,T,M)=>{const I=T.component=A.component;if(XE(A,T,M))if(I.asyncDep&&!I.asyncResolved){pe(I,T,M);return}else I.next=T,I.update();else T.el=A.el,I.vnode=T},de=(A,T,M,I,B,U,Z)=>{const j=()=>{if(A.isMounted){let{next:J,bu:le,u:me,parent:y,vnode:h}=A;{const se=a_(A);if(se){J&&(J.el=h.el,pe(A,J,Z)),se.asyncDep.then(()=>{A.isUnmounted||j()});return}}let c=J,m;Pn(A,!1),J?(J.el=h.el,pe(A,J,Z)):J=h,le&&Zo(le),(m=J.props&&J.props.onVnodeBeforeUpdate)&&dr(m,y,J,h),Pn(A,!0);const x=Yd(A),H=A.subTree;A.subTree=x,b(H,x,d(H.el),q(H),A,B,U),J.el=x.el,c===null&&JE(A,x.el),me&&Ut(me,B),(m=J.props&&J.props.onVnodeUpdated)&&Ut(()=>dr(m,y,J,h),B)}else{let J;const{el:le,props:me}=T,{bm:y,m:h,parent:c,root:m,type:x}=A,H=Vi(T);Pn(A,!1),y&&Zo(y),!H&&(J=me&&me.onVnodeBeforeMount)&&dr(J,c,T),Pn(A,!0);{m.ce&&m.ce._injectChildStyle(x);const se=A.subTree=Yd(A);b(null,se,M,I,A,B,U),T.el=se.el}if(h&&Ut(h,B),!H&&(J=me&&me.onVnodeMounted)){const se=T;Ut(()=>dr(J,c,se),B)}(T.shapeFlag&256||c&&Vi(c.vnode)&&c.vnode.shapeFlag&256)&&A.a&&Ut(A.a,B),A.isMounted=!0,T=M=I=null}};A.scope.on();const F=A.effect=new Ey(j);A.scope.off();const K=A.update=F.run.bind(F),P=A.job=F.runIfDirty.bind(F);P.i=A,P.id=A.uid,F.scheduler=()=>Oh(P),Pn(A,!0),K()},pe=(A,T,M)=>{T.component=A;const I=A.vnode.props;A.vnode=T,A.next=null,LE(A,T.props,I,M),FE(A,T.children,M),An(),$d(A),Tn()},z=(A,T,M,I,B,U,Z,j,F=!1)=>{const K=A&&A.children,P=A?A.shapeFlag:0,J=T.children,{patchFlag:le,shapeFlag:me}=T;if(le>0){if(le&128){Y(K,J,M,I,B,U,Z,j,F);return}else if(le&256){ge(K,J,M,I,B,U,Z,j,F);return}}me&8?(P&16&&Q(K,B,U),J!==K&&f(M,J)):P&16?me&16?Y(K,J,M,I,B,U,Z,j,F):Q(K,B,U,!0):(P&8&&f(M,""),me&16&&V(J,M,I,B,U,Z,j,F))},ge=(A,T,M,I,B,U,Z,j,F)=>{A=A||$i,T=T||$i;const K=A.length,P=T.length,J=Math.min(K,P);let le;for(le=0;leP?Q(A,B,U,!0,!1,J):V(T,M,I,B,U,Z,j,F,J)},Y=(A,T,M,I,B,U,Z,j,F)=>{let K=0;const P=T.length;let J=A.length-1,le=P-1;for(;K<=J&&K<=le;){const me=A[K],y=T[K]=F?yn(T[K]):_r(T[K]);if(ws(me,y))b(me,y,M,null,B,U,Z,j,F);else break;K++}for(;K<=J&&K<=le;){const me=A[J],y=T[le]=F?yn(T[le]):_r(T[le]);if(ws(me,y))b(me,y,M,null,B,U,Z,j,F);else break;J--,le--}if(K>J){if(K<=le){const me=le+1,y=mele)for(;K<=J;)N(A[K],B,U,!0),K++;else{const me=K,y=K,h=new Map;for(K=y;K<=le;K++){const Re=T[K]=F?yn(T[K]):_r(T[K]);Re.key!=null&&h.set(Re.key,K)}let c,m=0;const x=le-y+1;let H=!1,se=0;const _e=new Array(x);for(K=0;K=x){N(Re,B,U,!0);continue}let Te;if(Re.key!=null)Te=h.get(Re.key);else for(c=y;c<=le;c++)if(_e[c-y]===0&&ws(Re,T[c])){Te=c;break}Te===void 0?N(Re,B,U,!0):(_e[Te-y]=K+1,Te>=se?se=Te:H=!0,b(Re,T[Te],M,null,B,U,Z,j,F),m++)}const xe=H?HE(_e):$i;for(c=xe.length-1,K=x-1;K>=0;K--){const Re=y+K,Te=T[Re],ke=Re+1{const{el:U,type:Z,transition:j,children:F,shapeFlag:K}=A;if(K&6){he(A.component.subTree,T,M,I);return}if(K&128){A.suspense.move(T,M,I);return}if(K&64){Z.move(A,T,M,te);return}if(Z===Qt){n(U,T,M);for(let J=0;Jj.enter(U),B);else{const{leave:J,delayLeave:le,afterLeave:me}=j,y=()=>n(U,T,M),h=()=>{J(U,()=>{y(),me&&me()})};le?le(U,y,h):h()}else n(U,T,M)},N=(A,T,M,I=!1,B=!1)=>{const{type:U,props:Z,ref:j,children:F,dynamicChildren:K,shapeFlag:P,patchFlag:J,dirs:le,cacheIndex:me}=A;if(J===-2&&(B=!1),j!=null&&Ta(j,null,M,A,!0),me!=null&&(T.renderCache[me]=void 0),P&256){T.ctx.deactivate(A);return}const y=P&1&&le,h=!Vi(A);let c;if(h&&(c=Z&&Z.onVnodeBeforeUnmount)&&dr(c,T,A),P&6)oe(A.component,M,I);else{if(P&128){A.suspense.unmount(M,I);return}y&&Nn(A,null,T,"beforeUnmount"),P&64?A.type.remove(A,T,M,te,I):K&&!K.hasOnce&&(U!==Qt||J>0&&J&64)?Q(K,T,M,!1,!0):(U===Qt&&J&384||!B&&P&16)&&Q(F,T,M),I&&ne(A)}(h&&(c=Z&&Z.onVnodeUnmounted)||y)&&Ut(()=>{c&&dr(c,T,A),y&&Nn(A,null,T,"unmounted")},M)},ne=A=>{const{type:T,el:M,anchor:I,transition:B}=A;if(T===Qt){ye(M,I);return}if(T===Kl){C(A);return}const U=()=>{s(M),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(A.shapeFlag&1&&B&&!B.persisted){const{leave:Z,delayLeave:j}=B,F=()=>Z(M,U);j?j(A.el,U,F):F()}else U()},ye=(A,T)=>{let M;for(;A!==T;)M=p(A),s(A),A=M;s(T)},oe=(A,T,M)=>{const{bum:I,scope:B,job:U,subTree:Z,um:j,m:F,a:K}=A;Kd(F),Kd(K),I&&Zo(I),B.stop(),U&&(U.flags|=8,N(Z,A,T,M)),j&&Ut(j,T),Ut(()=>{A.isUnmounted=!0},T),T&&T.pendingBranch&&!T.isUnmounted&&A.asyncDep&&!A.asyncResolved&&A.suspenseId===T.pendingId&&(T.deps--,T.deps===0&&T.resolve())},Q=(A,T,M,I=!1,B=!1,U=0)=>{for(let Z=U;Z{if(A.shapeFlag&6)return q(A.component.subTree);if(A.shapeFlag&128)return A.suspense.next();const T=p(A.anchor||A.el),M=T&&T[fE];return M?p(M):T};let k=!1;const W=(A,T,M)=>{A==null?T._vnode&&N(T._vnode,null,null,!0):b(T._vnode||null,A,T,null,null,null,M),T._vnode=A,k||(k=!0,$d(),$y(),k=!1)},te={p:b,um:N,m:he,r:ne,mt:ae,mc:V,pc:z,pbc:G,n:q,o:e};return{render:W,hydrate:void 0,createApp:ME(W)}}function Vl({type:e,props:t},r){return r==="svg"&&e==="foreignObject"||r==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function Pn({effect:e,job:t},r){r?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function WE(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function o_(e,t,r=!1){const n=e.children,s=t.children;if(Be(n)&&Be(s))for(let i=0;i>1,e[r[o]]0&&(t[n]=r[i-1]),r[i]=n)}}for(i=r.length,a=r[i-1];i-- >0;)r[i]=a,a=t[a];return r}function a_(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:a_(t)}function Kd(e){if(e)for(let t=0;tea(VE);function pL(e,t){return Nh(e,null,t)}function ql(e,t,r){return Nh(e,t,r)}function Nh(e,t,r=Ye){const{immediate:n,deep:s,flush:i,once:a}=r,o=At({},r),l=t&&n||!t&&i!=="post";let u;if(no){if(i==="sync"){const g=qE();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!l){const g=()=>{};return g.stop=vr,g.resume=vr,g.pause=vr,g}}const f=It;o.call=(g,_,b)=>xr(g,f,_,b);let d=!1;i==="post"?o.scheduler=g=>{Ut(g,f&&f.suspense)}:i!=="sync"&&(d=!0,o.scheduler=(g,_)=>{_?g():Oh(g)}),o.augmentJob=g=>{t&&(g.flags|=4),d&&(g.flags|=2,f&&(g.id=f.uid,g.i=f))};const p=iE(e,t,o);return no&&(u?u.push(p):l&&p()),p}function KE(e,t,r){const n=this.proxy,s=lt(e)?e.includes(".")?l_(n,e):()=>n[e]:e.bind(n,n);let i;De(t)?i=t:(i=t.handler,r=t);const a=ho(this),o=Nh(s,i.bind(n),r);return a(),o}function l_(e,t){const r=t.split(".");return()=>{let n=e;for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${bn(t)}Modifiers`]||e[`${hi(t)}Modifiers`];function zE(e,t,...r){if(e.isUnmounted)return;const n=e.vnode.props||Ye;let s=r;const i=t.startsWith("update:"),a=i&&YE(n,t.slice(7));a&&(a.trim&&(s=r.map(f=>lt(f)?f.trim():f)),a.number&&(s=r.map(pf)));let o,l=n[o=Ul(t)]||n[o=Ul(bn(t))];!l&&i&&(l=n[o=Ul(hi(t))]),l&&xr(l,e,6,s);const u=n[o+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,xr(u,e,6,s)}}function u_(e,t,r=!1){const n=t.emitsCache,s=n.get(e);if(s!==void 0)return s;const i=e.emits;let a={},o=!1;if(!De(e)){const l=u=>{const f=u_(u,t,!0);f&&(o=!0,At(a,f))};!r&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!o?(Qe(e)&&n.set(e,null),null):(Be(i)?i.forEach(l=>a[l]=null):At(a,i),Qe(e)&&n.set(e,a),a)}function al(e,t){return!e||!Za(t)?!1:(t=t.slice(2).replace(/Once$/,""),We(e,t[0].toLowerCase()+t.slice(1))||We(e,hi(t))||We(e,t))}function Yd(e){const{type:t,vnode:r,proxy:n,withProxy:s,propsOptions:[i],slots:a,attrs:o,emit:l,render:u,renderCache:f,props:d,data:p,setupState:g,ctx:_,inheritAttrs:b}=e,E=Aa(e);let v,S;try{if(r.shapeFlag&4){const C=s||n,R=C;v=_r(u.call(R,C,f,d,g,p,_)),S=o}else{const C=t;v=_r(C.length>1?C(d,{attrs:o,slots:a,emit:l}):C(d,null)),S=t.props?o:GE(o)}}catch(C){zs.length=0,sl(C,e,1),v=Er(wn)}let w=v;if(S&&b!==!1){const C=Object.keys(S),{shapeFlag:R}=w;C.length&&R&7&&(i&&C.some(yh)&&(S=QE(S,i)),w=Gi(w,S,!1,!0))}return r.dirs&&(w=Gi(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(r.dirs):r.dirs),r.transition&&kh(w,r.transition),v=w,Aa(E),v}const GE=e=>{let t;for(const r in e)(r==="class"||r==="style"||Za(r))&&((t||(t={}))[r]=e[r]);return t},QE=(e,t)=>{const r={};for(const n in e)(!yh(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function XE(e,t,r){const{props:n,children:s,component:i}=e,{props:a,children:o,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&l>=0){if(l&1024)return!0;if(l&16)return n?zd(n,a,u):!!a;if(l&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;function ZE(e,t){t&&t.pendingBranch?Be(e)?t.effects.push(...e):t.effects.push(e):lE(e)}const Qt=Symbol.for("v-fgt"),ll=Symbol.for("v-txt"),wn=Symbol.for("v-cmt"),Kl=Symbol.for("v-stc"),zs=[];let Wt=null;function Af(e=!1){zs.push(Wt=e?null:[])}function e1(){zs.pop(),Wt=zs[zs.length-1]||null}let ro=1;function Gd(e,t=!1){ro+=e,e<0&&Wt&&t&&(Wt.hasOnce=!0)}function c_(e){return e.dynamicChildren=ro>0?Wt||$i:null,e1(),ro>0&&Wt&&Wt.push(e),e}function gL(e,t,r,n,s,i){return c_(d_(e,t,r,n,s,i,!0))}function Tf(e,t,r,n,s){return c_(Er(e,t,r,n,s,!0))}function Ph(e){return e?e.__v_isVNode===!0:!1}function ws(e,t){return e.type===t.type&&e.key===t.key}const h_=({key:e})=>e??null,ta=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?lt(e)||St(e)||De(e)?{i:Et,r:e,k:t,f:!!r}:e:null);function d_(e,t=null,r=null,n=0,s=null,i=e===Qt?0:1,a=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&h_(t),ref:t&&ta(t),scopeId:Wy,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Et};return o?(Lh(l,r),i&128&&e.normalize(l)):r&&(l.shapeFlag|=lt(r)?8:16),ro>0&&!a&&Wt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&Wt.push(l),l}const Er=t1;function t1(e,t=null,r=null,n=0,s=null,i=!1){if((!e||e===AE)&&(e=wn),Ph(e)){const o=Gi(e,t,!0);return r&&Lh(o,r),ro>0&&!i&&Wt&&(o.shapeFlag&6?Wt[Wt.indexOf(e)]=o:Wt.push(o)),o.patchFlag=-2,o}if(h1(e)&&(e=e.__vccOpts),t){t=r1(t);let{class:o,style:l}=t;o&&!lt(o)&&(t.class=vh(o)),Qe(l)&&(Rh(l)&&!Be(l)&&(l=At({},l)),t.style=wh(l))}const a=lt(e)?1:f_(e)?128:cE(e)?64:Qe(e)?4:De(e)?2:0;return d_(e,t,r,n,s,a,i,!0)}function r1(e){return e?Rh(e)||Zy(e)?At({},e):e:null}function Gi(e,t,r=!1,n=!1){const{props:s,ref:i,patchFlag:a,children:o,transition:l}=e,u=t?i1(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&h_(u),ref:t&&t.ref?r&&i?Be(i)?i.concat(ta(t)):[i,ta(t)]:ta(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qt?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gi(e.ssContent),ssFallback:e.ssFallback&&Gi(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&kh(f,l.clone(f)),f}function n1(e=" ",t=0){return Er(ll,null,e,t)}function mL(e="",t=!1){return t?(Af(),Tf(wn,null,e)):Er(wn,null,e)}function _r(e){return e==null||typeof e=="boolean"?Er(wn):Be(e)?Er(Qt,null,e.slice()):Ph(e)?yn(e):Er(ll,null,String(e))}function yn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Gi(e)}function Lh(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Be(t))r=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),Lh(e,s()),s._c&&(s._d=!0));return}else{r=32;const s=t._;!s&&!Zy(t)?t._ctx=Et:s===3&&Et&&(Et.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else De(t)?(t={default:t,_ctx:Et},r=32):(t=String(t),n&64?(r=16,t=[n1(t)]):r=8);e.children=t,e.shapeFlag|=r}function i1(...e){const t={};for(let r=0;r{let s;return(s=e[r])||(s=e[r]=[]),s.push(n),i=>{s.length>1?s.forEach(a=>a(i)):s[0](i)}};Ia=t("__VUE_INSTANCE_SETTERS__",r=>It=r),xf=t("__VUE_SSR_SETTERS__",r=>no=r)}const ho=e=>{const t=It;return Ia(e),e.scope.on(),()=>{e.scope.off(),Ia(t)}},Qd=()=>{It&&It.scope.off(),Ia(null)};function p_(e){return e.vnode.shapeFlag&4}let no=!1;function l1(e,t=!1,r=!1){t&&xf(t);const{props:n,children:s}=e.vnode,i=p_(e);PE(e,n,i,t),UE(e,s,r);const a=i?u1(e,t):void 0;return t&&xf(!1),a}function u1(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,TE);const{setup:n}=r;if(n){An();const s=e.setupContext=n.length>1?c1(e):null,i=ho(e),a=co(n,e,0,[e.props,s]),o=dy(a);if(Tn(),i(),(o||e.sp)&&!Vi(e)&&Hy(e),o){if(a.then(Qd,Qd),t)return a.then(l=>{Xd(e,l)}).catch(l=>{sl(l,e,0)});e.asyncDep=a}else Xd(e,a)}else g_(e)}function Xd(e,t,r){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Qe(t)&&(e.setupState=Dy(t)),g_(e)}function g_(e,t,r){const n=e.type;e.render||(e.render=n.render||vr);{const s=ho(e);An();try{xE(e)}finally{Tn(),s()}}}const f1={get(e,t){return wt(e,"get",""),e[t]}};function c1(e){const t=r=>{e.exposed=r||{}};return{attrs:new Proxy(e.attrs,f1),slots:e.slots,emit:e.emit,expose:t}}function ul(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Dy(Qv(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Ys)return Ys[r](e)},has(t,r){return r in t||r in Ys}})):e.proxy}function h1(e){return De(e)&&"__vccOpts"in e}const d1=(e,t)=>rE(e,t,no),p1="3.5.13";/** +* @vue/runtime-dom v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let If;const Jd=typeof window<"u"&&window.trustedTypes;if(Jd)try{If=Jd.createPolicy("vue",{createHTML:e=>e})}catch{}const m_=If?e=>If.createHTML(e):e=>e,g1="http://www.w3.org/2000/svg",m1="http://www.w3.org/1998/Math/MathML",Lr=typeof document<"u"?document:null,Zd=Lr&&Lr.createElement("template"),y1={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const s=t==="svg"?Lr.createElementNS(g1,e):t==="mathml"?Lr.createElementNS(m1,e):r?Lr.createElement(e,{is:r}):Lr.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>Lr.createTextNode(e),createComment:e=>Lr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Lr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,s,i){const a=r?r.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),r),!(s===i||!(s=s.nextSibling)););else{Zd.innerHTML=m_(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const o=Zd.content;if(n==="svg"||n==="mathml"){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}t.insertBefore(o,r)}return[a?a.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},_1=Symbol("_vtc");function b1(e,t,r){const n=e[_1];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const Ca=Symbol("_vod"),y_=Symbol("_vsh"),yL={beforeMount(e,{value:t},{transition:r}){e[Ca]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):vs(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:n}){!t!=!r&&(n?t?(n.beforeEnter(e),vs(e,!0),n.enter(e)):n.leave(e,()=>{vs(e,!1)}):vs(e,t))},beforeUnmount(e,{value:t}){vs(e,t)}};function vs(e,t){e.style.display=t?e[Ca]:"none",e[y_]=!t}const w1=Symbol(""),v1=/(^|;)\s*display\s*:/;function E1(e,t,r){const n=e.style,s=lt(r);let i=!1;if(r&&!s){if(t)if(lt(t))for(const a of t.split(";")){const o=a.slice(0,a.indexOf(":")).trim();r[o]==null&&ra(n,o,"")}else for(const a in t)r[a]==null&&ra(n,a,"");for(const a in r)a==="display"&&(i=!0),ra(n,a,r[a])}else if(s){if(t!==r){const a=n[w1];a&&(r+=";"+a),n.cssText=r,i=v1.test(r)}}else t&&e.removeAttribute("style");Ca in e&&(e[Ca]=i?n.display:"",e[y_]&&(n.display="none"))}const ep=/\s*!important$/;function ra(e,t,r){if(Be(r))r.forEach(n=>ra(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=S1(e,t);ep.test(r)?e.setProperty(hi(n),r.replace(ep,""),"important"):e[n]=r}}const tp=["Webkit","Moz","ms"],Yl={};function S1(e,t){const r=Yl[t];if(r)return r;let n=bn(t);if(n!=="filter"&&n in e)return Yl[t]=n;n=my(n);for(let s=0;szl||(I1.then(()=>zl=0),zl=Date.now());function R1(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;xr(O1(n,r.value),t,5,[n])};return r.value=e,r.attached=C1(),r}function O1(e,t){if(Be(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>s=>!s._stopped&&n&&n(s))}else return t}const ap=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,k1=(e,t,r,n,s,i)=>{const a=s==="svg";t==="class"?b1(e,n,a):t==="style"?E1(e,r,n):Za(t)?yh(t)||T1(e,t,r,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):M1(e,t,n,a))?(ip(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&np(e,t,n,a,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!lt(n))?ip(e,bn(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),np(e,t,n,a))};function M1(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&ap(t)&&De(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ap(t)&<(r)?!1:t in e}const Ra=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Be(t)?r=>Zo(t,r):t};function N1(e){e.target.composing=!0}function lp(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ki=Symbol("_assign"),_L={created(e,{modifiers:{lazy:t,trim:r,number:n}},s){e[Ki]=Ra(s);const i=n||s.props&&s.props.type==="number";qn(e,t?"change":"input",a=>{if(a.target.composing)return;let o=e.value;r&&(o=o.trim()),i&&(o=pf(o)),e[Ki](o)}),r&&qn(e,"change",()=>{e.value=e.value.trim()}),t||(qn(e,"compositionstart",N1),qn(e,"compositionend",lp),qn(e,"change",lp))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:n,trim:s,number:i}},a){if(e[Ki]=Ra(a),e.composing)return;const o=(i||e.type==="number")&&!/^0\d/.test(e.value)?pf(e.value):e.value,l=t??"";o!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===r||s&&e.value.trim()===l)||(e.value=l))}},bL={deep:!0,created(e,t,r){e[Ki]=Ra(r),qn(e,"change",()=>{const n=e._modelValue,s=P1(e),i=e.checked,a=e[Ki];if(Be(n)){const o=by(n,s),l=o!==-1;if(i&&!l)a(n.concat(s));else if(!i&&l){const u=[...n];u.splice(o,1),a(u)}}else if(el(n)){const o=new Set(n);i?o.add(s):o.delete(s),a(o)}else a(__(e,i))})},mounted:up,beforeUpdate(e,t,r){e[Ki]=Ra(r),up(e,t,r)}};function up(e,{value:t,oldValue:r},n){e._modelValue=t;let s;if(Be(t))s=by(t,n.props.value)>-1;else if(el(t))s=t.has(n.props.value);else{if(t===r)return;s=nl(t,__(e,!0))}e.checked!==s&&(e.checked=s)}function P1(e){return"_value"in e?e._value:e.value}function __(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const L1=At({patchProp:k1},y1);let fp;function B1(){return fp||(fp=$E(L1))}const wL=(...e)=>{const t=B1().createApp(...e),{mount:r}=t;return t.mount=n=>{const s=U1(n);if(!s)return;const i=t._component;!De(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=r(s,!1,D1(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t};function D1(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function U1(e){return lt(e)?document.querySelector(e):e}var Ct="top",Ht="bottom",Vt="right",Rt="left",fl="auto",ls=[Ct,Ht,Vt,Rt],ai="start",Qi="end",b_="clippingParents",Bh="viewport",Oi="popper",w_="reference",Cf=ls.reduce(function(e,t){return e.concat([t+"-"+ai,t+"-"+Qi])},[]),Dh=[].concat(ls,[fl]).reduce(function(e,t){return e.concat([t,t+"-"+ai,t+"-"+Qi])},[]),v_="beforeRead",E_="read",S_="afterRead",A_="beforeMain",T_="main",x_="afterMain",I_="beforeWrite",C_="write",R_="afterWrite",O_=[v_,E_,S_,A_,T_,x_,I_,C_,R_];function Ir(e){return e?(e.nodeName||"").toLowerCase():null}function qt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function li(e){var t=qt(e).Element;return e instanceof t||e instanceof Element}function Zt(e){var t=qt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Uh(e){if(typeof ShadowRoot>"u")return!1;var t=qt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function F1(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var n=t.styles[r]||{},s=t.attributes[r]||{},i=t.elements[r];!Zt(i)||!Ir(i)||(Object.assign(i.style,n),Object.keys(s).forEach(function(a){var o=s[a];o===!1?i.removeAttribute(a):i.setAttribute(a,o===!0?"":o)}))})}function $1(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(n){var s=t.elements[n],i=t.attributes[n]||{},a=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:r[n]),o=a.reduce(function(l,u){return l[u]="",l},{});!Zt(s)||!Ir(s)||(Object.assign(s.style,o),Object.keys(i).forEach(function(l){s.removeAttribute(l)}))})}}const Fh={name:"applyStyles",enabled:!0,phase:"write",fn:F1,effect:$1,requires:["computeStyles"]};function Sr(e){return e.split("-")[0]}var ei=Math.max,Oa=Math.min,Xi=Math.round;function Rf(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function k_(){return!/^((?!chrome|android).)*safari/i.test(Rf())}function Ji(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var n=e.getBoundingClientRect(),s=1,i=1;t&&Zt(e)&&(s=e.offsetWidth>0&&Xi(n.width)/e.offsetWidth||1,i=e.offsetHeight>0&&Xi(n.height)/e.offsetHeight||1);var a=li(e)?qt(e):window,o=a.visualViewport,l=!k_()&&r,u=(n.left+(l&&o?o.offsetLeft:0))/s,f=(n.top+(l&&o?o.offsetTop:0))/i,d=n.width/s,p=n.height/i;return{width:d,height:p,top:f,right:u+d,bottom:f+p,left:u,x:u,y:f}}function $h(e){var t=Ji(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}function M_(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Uh(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function zr(e){return qt(e).getComputedStyle(e)}function j1(e){return["table","td","th"].indexOf(Ir(e))>=0}function xn(e){return((li(e)?e.ownerDocument:e.document)||window.document).documentElement}function cl(e){return Ir(e)==="html"?e:e.assignedSlot||e.parentNode||(Uh(e)?e.host:null)||xn(e)}function cp(e){return!Zt(e)||zr(e).position==="fixed"?null:e.offsetParent}function W1(e){var t=/firefox/i.test(Rf()),r=/Trident/i.test(Rf());if(r&&Zt(e)){var n=zr(e);if(n.position==="fixed")return null}var s=cl(e);for(Uh(s)&&(s=s.host);Zt(s)&&["html","body"].indexOf(Ir(s))<0;){var i=zr(s);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return s;s=s.parentNode}return null}function po(e){for(var t=qt(e),r=cp(e);r&&j1(r)&&zr(r).position==="static";)r=cp(r);return r&&(Ir(r)==="html"||Ir(r)==="body"&&zr(r).position==="static")?t:r||W1(e)||t}function jh(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Gs(e,t,r){return ei(e,Oa(t,r))}function H1(e,t,r){var n=Gs(e,t,r);return n>r?r:n}function N_(){return{top:0,right:0,bottom:0,left:0}}function P_(e){return Object.assign({},N_(),e)}function L_(e,t){return t.reduce(function(r,n){return r[n]=e,r},{})}var V1=function(t,r){return t=typeof t=="function"?t(Object.assign({},r.rects,{placement:r.placement})):t,P_(typeof t!="number"?t:L_(t,ls))};function q1(e){var t,r=e.state,n=e.name,s=e.options,i=r.elements.arrow,a=r.modifiersData.popperOffsets,o=Sr(r.placement),l=jh(o),u=[Rt,Vt].indexOf(o)>=0,f=u?"height":"width";if(!(!i||!a)){var d=V1(s.padding,r),p=$h(i),g=l==="y"?Ct:Rt,_=l==="y"?Ht:Vt,b=r.rects.reference[f]+r.rects.reference[l]-a[l]-r.rects.popper[f],E=a[l]-r.rects.reference[l],v=po(i),S=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,w=b/2-E/2,C=d[g],R=S-p[f]-d[_],O=S/2-p[f]/2+w,D=Gs(C,O,R),V=l;r.modifiersData[n]=(t={},t[V]=D,t.centerOffset=D-O,t)}}function K1(e){var t=e.state,r=e.options,n=r.element,s=n===void 0?"[data-popper-arrow]":n;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||M_(t.elements.popper,s)&&(t.elements.arrow=s))}const B_={name:"arrow",enabled:!0,phase:"main",fn:q1,effect:K1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Zi(e){return e.split("-")[1]}var Y1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function z1(e,t){var r=e.x,n=e.y,s=t.devicePixelRatio||1;return{x:Xi(r*s)/s||0,y:Xi(n*s)/s||0}}function hp(e){var t,r=e.popper,n=e.popperRect,s=e.placement,i=e.variation,a=e.offsets,o=e.position,l=e.gpuAcceleration,u=e.adaptive,f=e.roundOffsets,d=e.isFixed,p=a.x,g=p===void 0?0:p,_=a.y,b=_===void 0?0:_,E=typeof f=="function"?f({x:g,y:b}):{x:g,y:b};g=E.x,b=E.y;var v=a.hasOwnProperty("x"),S=a.hasOwnProperty("y"),w=Rt,C=Ct,R=window;if(u){var O=po(r),D="clientHeight",V="clientWidth";if(O===qt(r)&&(O=xn(r),zr(O).position!=="static"&&o==="absolute"&&(D="scrollHeight",V="scrollWidth")),O=O,s===Ct||(s===Rt||s===Vt)&&i===Qi){C=Ht;var re=d&&O===R&&R.visualViewport?R.visualViewport.height:O[D];b-=re-n.height,b*=l?1:-1}if(s===Rt||(s===Ct||s===Ht)&&i===Qi){w=Vt;var G=d&&O===R&&R.visualViewport?R.visualViewport.width:O[V];g-=G-n.width,g*=l?1:-1}}var X=Object.assign({position:o},u&&Y1),L=f===!0?z1({x:g,y:b},qt(r)):{x:g,y:b};if(g=L.x,b=L.y,l){var $;return Object.assign({},X,($={},$[C]=S?"0":"",$[w]=v?"0":"",$.transform=(R.devicePixelRatio||1)<=1?"translate("+g+"px, "+b+"px)":"translate3d("+g+"px, "+b+"px, 0)",$))}return Object.assign({},X,(t={},t[C]=S?b+"px":"",t[w]=v?g+"px":"",t.transform="",t))}function G1(e){var t=e.state,r=e.options,n=r.gpuAcceleration,s=n===void 0?!0:n,i=r.adaptive,a=i===void 0?!0:i,o=r.roundOffsets,l=o===void 0?!0:o,u={placement:Sr(t.placement),variation:Zi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,hp(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,hp(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Wh={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:G1,data:{}};var Io={passive:!0};function Q1(e){var t=e.state,r=e.instance,n=e.options,s=n.scroll,i=s===void 0?!0:s,a=n.resize,o=a===void 0?!0:a,l=qt(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&u.forEach(function(f){f.addEventListener("scroll",r.update,Io)}),o&&l.addEventListener("resize",r.update,Io),function(){i&&u.forEach(function(f){f.removeEventListener("scroll",r.update,Io)}),o&&l.removeEventListener("resize",r.update,Io)}}const Hh={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Q1,data:{}};var X1={left:"right",right:"left",bottom:"top",top:"bottom"};function na(e){return e.replace(/left|right|bottom|top/g,function(t){return X1[t]})}var J1={start:"end",end:"start"};function dp(e){return e.replace(/start|end/g,function(t){return J1[t]})}function Vh(e){var t=qt(e),r=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:r,scrollTop:n}}function qh(e){return Ji(xn(e)).left+Vh(e).scrollLeft}function Z1(e,t){var r=qt(e),n=xn(e),s=r.visualViewport,i=n.clientWidth,a=n.clientHeight,o=0,l=0;if(s){i=s.width,a=s.height;var u=k_();(u||!u&&t==="fixed")&&(o=s.offsetLeft,l=s.offsetTop)}return{width:i,height:a,x:o+qh(e),y:l}}function eS(e){var t,r=xn(e),n=Vh(e),s=(t=e.ownerDocument)==null?void 0:t.body,i=ei(r.scrollWidth,r.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=ei(r.scrollHeight,r.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),o=-n.scrollLeft+qh(e),l=-n.scrollTop;return zr(s||r).direction==="rtl"&&(o+=ei(r.clientWidth,s?s.clientWidth:0)-i),{width:i,height:a,x:o,y:l}}function Kh(e){var t=zr(e),r=t.overflow,n=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+s+n)}function D_(e){return["html","body","#document"].indexOf(Ir(e))>=0?e.ownerDocument.body:Zt(e)&&Kh(e)?e:D_(cl(e))}function Qs(e,t){var r;t===void 0&&(t=[]);var n=D_(e),s=n===((r=e.ownerDocument)==null?void 0:r.body),i=qt(n),a=s?[i].concat(i.visualViewport||[],Kh(n)?n:[]):n,o=t.concat(a);return s?o:o.concat(Qs(cl(a)))}function Of(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function tS(e,t){var r=Ji(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}function pp(e,t,r){return t===Bh?Of(Z1(e,r)):li(t)?tS(t,r):Of(eS(xn(e)))}function rS(e){var t=Qs(cl(e)),r=["absolute","fixed"].indexOf(zr(e).position)>=0,n=r&&Zt(e)?po(e):e;return li(n)?t.filter(function(s){return li(s)&&M_(s,n)&&Ir(s)!=="body"}):[]}function nS(e,t,r,n){var s=t==="clippingParents"?rS(e):[].concat(t),i=[].concat(s,[r]),a=i[0],o=i.reduce(function(l,u){var f=pp(e,u,n);return l.top=ei(f.top,l.top),l.right=Oa(f.right,l.right),l.bottom=Oa(f.bottom,l.bottom),l.left=ei(f.left,l.left),l},pp(e,a,n));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function U_(e){var t=e.reference,r=e.element,n=e.placement,s=n?Sr(n):null,i=n?Zi(n):null,a=t.x+t.width/2-r.width/2,o=t.y+t.height/2-r.height/2,l;switch(s){case Ct:l={x:a,y:t.y-r.height};break;case Ht:l={x:a,y:t.y+t.height};break;case Vt:l={x:t.x+t.width,y:o};break;case Rt:l={x:t.x-r.width,y:o};break;default:l={x:t.x,y:t.y}}var u=s?jh(s):null;if(u!=null){var f=u==="y"?"height":"width";switch(i){case ai:l[u]=l[u]-(t[f]/2-r[f]/2);break;case Qi:l[u]=l[u]+(t[f]/2-r[f]/2);break}}return l}function es(e,t){t===void 0&&(t={});var r=t,n=r.placement,s=n===void 0?e.placement:n,i=r.strategy,a=i===void 0?e.strategy:i,o=r.boundary,l=o===void 0?b_:o,u=r.rootBoundary,f=u===void 0?Bh:u,d=r.elementContext,p=d===void 0?Oi:d,g=r.altBoundary,_=g===void 0?!1:g,b=r.padding,E=b===void 0?0:b,v=P_(typeof E!="number"?E:L_(E,ls)),S=p===Oi?w_:Oi,w=e.rects.popper,C=e.elements[_?S:p],R=nS(li(C)?C:C.contextElement||xn(e.elements.popper),l,f,a),O=Ji(e.elements.reference),D=U_({reference:O,element:w,strategy:"absolute",placement:s}),V=Of(Object.assign({},w,D)),re=p===Oi?V:O,G={top:R.top-re.top+v.top,bottom:re.bottom-R.bottom+v.bottom,left:R.left-re.left+v.left,right:re.right-R.right+v.right},X=e.modifiersData.offset;if(p===Oi&&X){var L=X[s];Object.keys(G).forEach(function($){var ae=[Vt,Ht].indexOf($)>=0?1:-1,ce=[Ct,Ht].indexOf($)>=0?"y":"x";G[$]+=L[ce]*ae})}return G}function iS(e,t){t===void 0&&(t={});var r=t,n=r.placement,s=r.boundary,i=r.rootBoundary,a=r.padding,o=r.flipVariations,l=r.allowedAutoPlacements,u=l===void 0?Dh:l,f=Zi(n),d=f?o?Cf:Cf.filter(function(_){return Zi(_)===f}):ls,p=d.filter(function(_){return u.indexOf(_)>=0});p.length===0&&(p=d);var g=p.reduce(function(_,b){return _[b]=es(e,{placement:b,boundary:s,rootBoundary:i,padding:a})[Sr(b)],_},{});return Object.keys(g).sort(function(_,b){return g[_]-g[b]})}function sS(e){if(Sr(e)===fl)return[];var t=na(e);return[dp(e),t,dp(t)]}function oS(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var s=r.mainAxis,i=s===void 0?!0:s,a=r.altAxis,o=a===void 0?!0:a,l=r.fallbackPlacements,u=r.padding,f=r.boundary,d=r.rootBoundary,p=r.altBoundary,g=r.flipVariations,_=g===void 0?!0:g,b=r.allowedAutoPlacements,E=t.options.placement,v=Sr(E),S=v===E,w=l||(S||!_?[na(E)]:sS(E)),C=[E].concat(w).reduce(function(ye,oe){return ye.concat(Sr(oe)===fl?iS(t,{placement:oe,boundary:f,rootBoundary:d,padding:u,flipVariations:_,allowedAutoPlacements:b}):oe)},[]),R=t.rects.reference,O=t.rects.popper,D=new Map,V=!0,re=C[0],G=0;G=0,ce=ae?"width":"height",de=es(t,{placement:X,boundary:f,rootBoundary:d,altBoundary:p,padding:u}),pe=ae?$?Vt:Rt:$?Ht:Ct;R[ce]>O[ce]&&(pe=na(pe));var z=na(pe),ge=[];if(i&&ge.push(de[L]<=0),o&&ge.push(de[pe]<=0,de[z]<=0),ge.every(function(ye){return ye})){re=X,V=!1;break}D.set(X,ge)}if(V)for(var Y=_?3:1,he=function(oe){var Q=C.find(function(q){var k=D.get(q);if(k)return k.slice(0,oe).every(function(W){return W})});if(Q)return re=Q,"break"},N=Y;N>0;N--){var ne=he(N);if(ne==="break")break}t.placement!==re&&(t.modifiersData[n]._skip=!0,t.placement=re,t.reset=!0)}}const F_={name:"flip",enabled:!0,phase:"main",fn:oS,requiresIfExists:["offset"],data:{_skip:!1}};function gp(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function mp(e){return[Ct,Vt,Ht,Rt].some(function(t){return e[t]>=0})}function aS(e){var t=e.state,r=e.name,n=t.rects.reference,s=t.rects.popper,i=t.modifiersData.preventOverflow,a=es(t,{elementContext:"reference"}),o=es(t,{altBoundary:!0}),l=gp(a,n),u=gp(o,s,i),f=mp(l),d=mp(u);t.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:f,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":d})}const $_={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:aS};function lS(e,t,r){var n=Sr(e),s=[Rt,Ct].indexOf(n)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,a=i[0],o=i[1];return a=a||0,o=(o||0)*s,[Rt,Vt].indexOf(n)>=0?{x:o,y:a}:{x:a,y:o}}function uS(e){var t=e.state,r=e.options,n=e.name,s=r.offset,i=s===void 0?[0,0]:s,a=Dh.reduce(function(f,d){return f[d]=lS(d,t.rects,i),f},{}),o=a[t.placement],l=o.x,u=o.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[n]=a}const j_={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:uS};function fS(e){var t=e.state,r=e.name;t.modifiersData[r]=U_({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Yh={name:"popperOffsets",enabled:!0,phase:"read",fn:fS,data:{}};function cS(e){return e==="x"?"y":"x"}function hS(e){var t=e.state,r=e.options,n=e.name,s=r.mainAxis,i=s===void 0?!0:s,a=r.altAxis,o=a===void 0?!1:a,l=r.boundary,u=r.rootBoundary,f=r.altBoundary,d=r.padding,p=r.tether,g=p===void 0?!0:p,_=r.tetherOffset,b=_===void 0?0:_,E=es(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:f}),v=Sr(t.placement),S=Zi(t.placement),w=!S,C=jh(v),R=cS(C),O=t.modifiersData.popperOffsets,D=t.rects.reference,V=t.rects.popper,re=typeof b=="function"?b(Object.assign({},t.rects,{placement:t.placement})):b,G=typeof re=="number"?{mainAxis:re,altAxis:re}:Object.assign({mainAxis:0,altAxis:0},re),X=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,L={x:0,y:0};if(O){if(i){var $,ae=C==="y"?Ct:Rt,ce=C==="y"?Ht:Vt,de=C==="y"?"height":"width",pe=O[C],z=pe+E[ae],ge=pe-E[ce],Y=g?-V[de]/2:0,he=S===ai?D[de]:V[de],N=S===ai?-V[de]:-D[de],ne=t.elements.arrow,ye=g&&ne?$h(ne):{width:0,height:0},oe=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:N_(),Q=oe[ae],q=oe[ce],k=Gs(0,D[de],ye[de]),W=w?D[de]/2-Y-k-Q-G.mainAxis:he-k-Q-G.mainAxis,te=w?-D[de]/2+Y+k+q+G.mainAxis:N+k+q+G.mainAxis,ee=t.elements.arrow&&po(t.elements.arrow),A=ee?C==="y"?ee.clientTop||0:ee.clientLeft||0:0,T=($=X==null?void 0:X[C])!=null?$:0,M=pe+W-T-A,I=pe+te-T,B=Gs(g?Oa(z,M):z,pe,g?ei(ge,I):ge);O[C]=B,L[C]=B-pe}if(o){var U,Z=C==="x"?Ct:Rt,j=C==="x"?Ht:Vt,F=O[R],K=R==="y"?"height":"width",P=F+E[Z],J=F-E[j],le=[Ct,Rt].indexOf(v)!==-1,me=(U=X==null?void 0:X[R])!=null?U:0,y=le?P:F-D[K]-V[K]-me+G.altAxis,h=le?F+D[K]+V[K]-me-G.altAxis:J,c=g&&le?H1(y,F,h):Gs(g?y:P,F,g?h:J);O[R]=c,L[R]=c-F}t.modifiersData[n]=L}}const W_={name:"preventOverflow",enabled:!0,phase:"main",fn:hS,requiresIfExists:["offset"]};function dS(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pS(e){return e===qt(e)||!Zt(e)?Vh(e):dS(e)}function gS(e){var t=e.getBoundingClientRect(),r=Xi(t.width)/e.offsetWidth||1,n=Xi(t.height)/e.offsetHeight||1;return r!==1||n!==1}function mS(e,t,r){r===void 0&&(r=!1);var n=Zt(t),s=Zt(t)&&gS(t),i=xn(t),a=Ji(e,s,r),o={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!r)&&((Ir(t)!=="body"||Kh(i))&&(o=pS(t)),Zt(t)?(l=Ji(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=qh(i))),{x:a.left+o.scrollLeft-l.x,y:a.top+o.scrollTop-l.y,width:a.width,height:a.height}}function yS(e){var t=new Map,r=new Set,n=[];e.forEach(function(i){t.set(i.name,i)});function s(i){r.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(o){if(!r.has(o)){var l=t.get(o);l&&s(l)}}),n.push(i)}return e.forEach(function(i){r.has(i.name)||s(i)}),n}function _S(e){var t=yS(e);return O_.reduce(function(r,n){return r.concat(t.filter(function(s){return s.phase===n}))},[])}function bS(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}function wS(e){var t=e.reduce(function(r,n){var s=r[n.name];return r[n.name]=s?Object.assign({},s,n,{options:Object.assign({},s.options,n.options),data:Object.assign({},s.data,n.data)}):n,r},{});return Object.keys(t).map(function(r){return t[r]})}var yp={placement:"bottom",modifiers:[],strategy:"absolute"};function _p(){for(var e=arguments.length,t=new Array(e),r=0;r(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(t,r)=>`#${CSS.escape(r)}`)),e),IS=e=>e==null?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),CS=e=>{do e+=Math.floor(Math.random()*TS);while(document.getElementById(e));return e},RS=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:r}=window.getComputedStyle(e);const n=Number.parseFloat(t),s=Number.parseFloat(r);return!n&&!s?0:(t=t.split(",")[0],r=r.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(r))*xS)},q_=e=>{e.dispatchEvent(new Event(kf))},Kr=e=>!e||typeof e!="object"?!1:(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),vn=e=>Kr(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(V_(e)):null,us=e=>{if(!Kr(e)||e.getClientRects().length===0)return!1;const t=getComputedStyle(e).getPropertyValue("visibility")==="visible",r=e.closest("details:not([open])");if(!r)return t;if(r!==e){const n=e.closest("summary");if(n&&n.parentNode!==r||n===null)return!1}return t},En=e=>!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled")?!0:typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false",K_=e=>{if(!document.documentElement.attachShadow)return null;if(typeof e.getRootNode=="function"){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?K_(e.parentNode):null},ka=()=>{},go=e=>{e.offsetHeight},Y_=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Ql=[],OS=e=>{document.readyState==="loading"?(Ql.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of Ql)t()}),Ql.push(e)):e()},er=()=>document.documentElement.dir==="rtl",rr=e=>{OS(()=>{const t=Y_();if(t){const r=e.NAME,n=t.fn[r];t.fn[r]=e.jQueryInterface,t.fn[r].Constructor=e,t.fn[r].noConflict=()=>(t.fn[r]=n,e.jQueryInterface)}})},Nt=(e,t=[],r=e)=>typeof e=="function"?e(...t):r,z_=(e,t,r=!0)=>{if(!r){Nt(e);return}const s=RS(t)+5;let i=!1;const a=({target:o})=>{o===t&&(i=!0,t.removeEventListener(kf,a),Nt(e))};t.addEventListener(kf,a),setTimeout(()=>{i||q_(t)},s)},Gh=(e,t,r,n)=>{const s=e.length;let i=e.indexOf(t);return i===-1?!r&&n?e[s-1]:e[0]:(i+=r?1:-1,n&&(i=(i+s)%s),e[Math.max(0,Math.min(i,s-1))])},kS=/[^.]*(?=\..*)\.|.*/,MS=/\..*/,NS=/::\d+$/,Xl={};let bp=1;const G_={mouseenter:"mouseover",mouseleave:"mouseout"},PS=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function Q_(e,t){return t&&`${t}::${bp++}`||e.uidEvent||bp++}function X_(e){const t=Q_(e);return e.uidEvent=t,Xl[t]=Xl[t]||{},Xl[t]}function LS(e,t){return function r(n){return Qh(n,{delegateTarget:e}),r.oneOff&&Se.off(e,n.type,t),t.apply(e,[n])}}function BS(e,t,r){return function n(s){const i=e.querySelectorAll(t);for(let{target:a}=s;a&&a!==this;a=a.parentNode)for(const o of i)if(o===a)return Qh(s,{delegateTarget:a}),n.oneOff&&Se.off(e,s.type,t,r),r.apply(a,[s])}}function J_(e,t,r=null){return Object.values(e).find(n=>n.callable===t&&n.delegationSelector===r)}function Z_(e,t,r){const n=typeof t=="string",s=n?r:t||r;let i=eb(e);return PS.has(i)||(i=e),[n,s,i]}function wp(e,t,r,n,s){if(typeof t!="string"||!e)return;let[i,a,o]=Z_(t,r,n);t in G_&&(a=(_=>function(b){if(!b.relatedTarget||b.relatedTarget!==b.delegateTarget&&!b.delegateTarget.contains(b.relatedTarget))return _.call(this,b)})(a));const l=X_(e),u=l[o]||(l[o]={}),f=J_(u,a,i?r:null);if(f){f.oneOff=f.oneOff&&s;return}const d=Q_(a,t.replace(kS,"")),p=i?BS(e,r,a):LS(e,a);p.delegationSelector=i?r:null,p.callable=a,p.oneOff=s,p.uidEvent=d,u[d]=p,e.addEventListener(o,p,i)}function Mf(e,t,r,n,s){const i=J_(t[r],n,s);i&&(e.removeEventListener(r,i,!!s),delete t[r][i.uidEvent])}function DS(e,t,r,n){const s=t[r]||{};for(const[i,a]of Object.entries(s))i.includes(n)&&Mf(e,t,r,a.callable,a.delegationSelector)}function eb(e){return e=e.replace(MS,""),G_[e]||e}const Se={on(e,t,r,n){wp(e,t,r,n,!1)},one(e,t,r,n){wp(e,t,r,n,!0)},off(e,t,r,n){if(typeof t!="string"||!e)return;const[s,i,a]=Z_(t,r,n),o=a!==t,l=X_(e),u=l[a]||{},f=t.startsWith(".");if(typeof i<"u"){if(!Object.keys(u).length)return;Mf(e,l,a,i,s?r:null);return}if(f)for(const d of Object.keys(l))DS(e,l,d,t.slice(1));for(const[d,p]of Object.entries(u)){const g=d.replace(NS,"");(!o||t.includes(g))&&Mf(e,l,a,p.callable,p.delegationSelector)}},trigger(e,t,r){if(typeof t!="string"||!e)return null;const n=Y_(),s=eb(t),i=t!==s;let a=null,o=!0,l=!0,u=!1;i&&n&&(a=n.Event(t,r),n(e).trigger(a),o=!a.isPropagationStopped(),l=!a.isImmediatePropagationStopped(),u=a.isDefaultPrevented());const f=Qh(new Event(t,{bubbles:o,cancelable:!0}),r);return u&&f.preventDefault(),l&&e.dispatchEvent(f),f.defaultPrevented&&a&&a.preventDefault(),f}};function Qh(e,t={}){for(const[r,n]of Object.entries(t))try{e[r]=n}catch{Object.defineProperty(e,r,{configurable:!0,get(){return n}})}return e}function vp(e){if(e==="true")return!0;if(e==="false")return!1;if(e===Number(e).toString())return Number(e);if(e===""||e==="null")return null;if(typeof e!="string")return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function Jl(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const Yr={setDataAttribute(e,t,r){e.setAttribute(`data-bs-${Jl(t)}`,r)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${Jl(t)}`)},getDataAttributes(e){if(!e)return{};const t={},r=Object.keys(e.dataset).filter(n=>n.startsWith("bs")&&!n.startsWith("bsConfig"));for(const n of r){let s=n.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),t[s]=vp(e.dataset[n])}return t},getDataAttribute(e,t){return vp(e.getAttribute(`data-bs-${Jl(t)}`))}};class mo{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,r){const n=Kr(r)?Yr.getDataAttribute(r,"config"):{};return{...this.constructor.Default,...typeof n=="object"?n:{},...Kr(r)?Yr.getDataAttributes(r):{},...typeof t=="object"?t:{}}}_typeCheckConfig(t,r=this.constructor.DefaultType){for(const[n,s]of Object.entries(r)){const i=t[n],a=Kr(i)?"element":IS(i);if(!new RegExp(s).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}}}const US="5.3.3";class cr extends mo{constructor(t,r){super(),t=vn(t),t&&(this._element=t,this._config=this._getConfig(r),Gl.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Gl.remove(this._element,this.constructor.DATA_KEY),Se.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,r,n=!0){z_(t,r,n)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Gl.get(vn(t),this.DATA_KEY)}static getOrCreateInstance(t,r={}){return this.getInstance(t)||new this(t,typeof r=="object"?r:null)}static get VERSION(){return US}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const Zl=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let r=e.getAttribute("href");if(!r||!r.includes("#")&&!r.startsWith("."))return null;r.includes("#")&&!r.startsWith("#")&&(r=`#${r.split("#")[1]}`),t=r&&r!=="#"?r.trim():null}return t?t.split(",").map(r=>V_(r)).join(","):null},Pe={find(e,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,e))},findOne(e,t=document.documentElement){return Element.prototype.querySelector.call(t,e)},children(e,t){return[].concat(...e.children).filter(r=>r.matches(t))},parents(e,t){const r=[];let n=e.parentNode.closest(t);for(;n;)r.push(n),n=n.parentNode.closest(t);return r},prev(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return[r];r=r.previousElementSibling}return[]},next(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return[r];r=r.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(r=>`${r}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(r=>!En(r)&&us(r))},getSelectorFromElement(e){const t=Zl(e);return t&&Pe.findOne(t)?t:null},getElementFromSelector(e){const t=Zl(e);return t?Pe.findOne(t):null},getMultipleElementsFromSelector(e){const t=Zl(e);return t?Pe.find(t):[]}},dl=(e,t="hide")=>{const r=`click.dismiss${e.EVENT_KEY}`,n=e.NAME;Se.on(document,r,`[data-bs-dismiss="${n}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),En(this))return;const i=Pe.getElementFromSelector(this)||this.closest(`.${n}`);e.getOrCreateInstance(i)[t]()})},FS="alert",$S="bs.alert",tb=`.${$S}`,jS=`close${tb}`,WS=`closed${tb}`,HS="fade",VS="show";class pl extends cr{static get NAME(){return FS}close(){if(Se.trigger(this._element,jS).defaultPrevented)return;this._element.classList.remove(VS);const r=this._element.classList.contains(HS);this._queueCallback(()=>this._destroyElement(),this._element,r)}_destroyElement(){this._element.remove(),Se.trigger(this._element,WS),this.dispose()}static jQueryInterface(t){return this.each(function(){const r=pl.getOrCreateInstance(this);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t](this)}})}}dl(pl,"close");rr(pl);const qS="button",KS="bs.button",YS=`.${KS}`,zS=".data-api",GS="active",Ep='[data-bs-toggle="button"]',QS=`click${YS}${zS}`;class gl extends cr{static get NAME(){return qS}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(GS))}static jQueryInterface(t){return this.each(function(){const r=gl.getOrCreateInstance(this);t==="toggle"&&r[t]()})}}Se.on(document,QS,Ep,e=>{e.preventDefault();const t=e.target.closest(Ep);gl.getOrCreateInstance(t).toggle()});rr(gl);const XS="swipe",fs=".bs.swipe",JS=`touchstart${fs}`,ZS=`touchmove${fs}`,eA=`touchend${fs}`,tA=`pointerdown${fs}`,rA=`pointerup${fs}`,nA="touch",iA="pen",sA="pointer-event",oA=40,aA={endCallback:null,leftCallback:null,rightCallback:null},lA={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Ma extends mo{constructor(t,r){super(),this._element=t,!(!t||!Ma.isSupported())&&(this._config=this._getConfig(r),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return aA}static get DefaultType(){return lA}static get NAME(){return XS}dispose(){Se.off(this._element,fs)}_start(t){if(!this._supportPointerEvents){this._deltaX=t.touches[0].clientX;return}this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX)}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Nt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=oA)return;const r=t/this._deltaX;this._deltaX=0,r&&Nt(r>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(Se.on(this._element,tA,t=>this._start(t)),Se.on(this._element,rA,t=>this._end(t)),this._element.classList.add(sA)):(Se.on(this._element,JS,t=>this._start(t)),Se.on(this._element,ZS,t=>this._move(t)),Se.on(this._element,eA,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===iA||t.pointerType===nA)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const uA="carousel",fA="bs.carousel",In=`.${fA}`,rb=".data-api",cA="ArrowLeft",hA="ArrowRight",dA=500,Es="next",Ti="prev",ki="left",ia="right",pA=`slide${In}`,eu=`slid${In}`,gA=`keydown${In}`,mA=`mouseenter${In}`,yA=`mouseleave${In}`,_A=`dragstart${In}`,bA=`load${In}${rb}`,wA=`click${In}${rb}`,nb="carousel",Co="active",vA="slide",EA="carousel-item-end",SA="carousel-item-start",AA="carousel-item-next",TA="carousel-item-prev",ib=".active",sb=".carousel-item",xA=ib+sb,IA=".carousel-item img",CA=".carousel-indicators",RA="[data-bs-slide], [data-bs-slide-to]",OA='[data-bs-ride="carousel"]',kA={[cA]:ia,[hA]:ki},MA={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},NA={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class yo extends cr{constructor(t,r){super(t,r),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=Pe.findOne(CA,this._element),this._addEventListeners(),this._config.ride===nb&&this.cycle()}static get Default(){return MA}static get DefaultType(){return NA}static get NAME(){return uA}next(){this._slide(Es)}nextWhenVisible(){!document.hidden&&us(this._element)&&this.next()}prev(){this._slide(Ti)}pause(){this._isSliding&&q_(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){Se.one(this._element,eu,()=>this.cycle());return}this.cycle()}}to(t){const r=this._getItems();if(t>r.length-1||t<0)return;if(this._isSliding){Se.one(this._element,eu,()=>this.to(t));return}const n=this._getItemIndex(this._getActive());if(n===t)return;const s=t>n?Es:Ti;this._slide(s,r[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&Se.on(this._element,gA,t=>this._keydown(t)),this._config.pause==="hover"&&(Se.on(this._element,mA,()=>this.pause()),Se.on(this._element,yA,()=>this._maybeEnableCycle())),this._config.touch&&Ma.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const n of Pe.find(IA,this._element))Se.on(n,_A,s=>s.preventDefault());const r={leftCallback:()=>this._slide(this._directionToOrder(ki)),rightCallback:()=>this._slide(this._directionToOrder(ia)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),dA+this._config.interval))}};this._swipeHelper=new Ma(this._element,r)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const r=kA[t.key];r&&(t.preventDefault(),this._slide(this._directionToOrder(r)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const r=Pe.findOne(ib,this._indicatorsElement);r.classList.remove(Co),r.removeAttribute("aria-current");const n=Pe.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);n&&(n.classList.add(Co),n.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const r=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=r||this._config.defaultInterval}_slide(t,r=null){if(this._isSliding)return;const n=this._getActive(),s=t===Es,i=r||Gh(this._getItems(),n,s,this._config.wrap);if(i===n)return;const a=this._getItemIndex(i),o=g=>Se.trigger(this._element,g,{relatedTarget:i,direction:this._orderToDirection(t),from:this._getItemIndex(n),to:a});if(o(pA).defaultPrevented||!n||!i)return;const u=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(a),this._activeElement=i;const f=s?SA:EA,d=s?AA:TA;i.classList.add(d),go(i),n.classList.add(f),i.classList.add(f);const p=()=>{i.classList.remove(f,d),i.classList.add(Co),n.classList.remove(Co,d,f),this._isSliding=!1,o(eu)};this._queueCallback(p,n,this._isAnimated()),u&&this.cycle()}_isAnimated(){return this._element.classList.contains(vA)}_getActive(){return Pe.findOne(xA,this._element)}_getItems(){return Pe.find(sb,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return er()?t===ki?Ti:Es:t===ki?Es:Ti}_orderToDirection(t){return er()?t===Ti?ki:ia:t===Ti?ia:ki}static jQueryInterface(t){return this.each(function(){const r=yo.getOrCreateInstance(this,t);if(typeof t=="number"){r.to(t);return}if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t]()}})}}Se.on(document,wA,RA,function(e){const t=Pe.getElementFromSelector(this);if(!t||!t.classList.contains(nb))return;e.preventDefault();const r=yo.getOrCreateInstance(t),n=this.getAttribute("data-bs-slide-to");if(n){r.to(n),r._maybeEnableCycle();return}if(Yr.getDataAttribute(this,"slide")==="next"){r.next(),r._maybeEnableCycle();return}r.prev(),r._maybeEnableCycle()});Se.on(window,bA,()=>{const e=Pe.find(OA);for(const t of e)yo.getOrCreateInstance(t)});rr(yo);const PA="collapse",LA="bs.collapse",_o=`.${LA}`,BA=".data-api",DA=`show${_o}`,UA=`shown${_o}`,FA=`hide${_o}`,$A=`hidden${_o}`,jA=`click${_o}${BA}`,tu="show",Li="collapse",Ro="collapsing",WA="collapsed",HA=`:scope .${Li} .${Li}`,VA="collapse-horizontal",qA="width",KA="height",YA=".collapse.show, .collapse.collapsing",Nf='[data-bs-toggle="collapse"]',zA={parent:null,toggle:!0},GA={parent:"(null|element)",toggle:"boolean"};class io extends cr{constructor(t,r){super(t,r),this._isTransitioning=!1,this._triggerArray=[];const n=Pe.find(Nf);for(const s of n){const i=Pe.getSelectorFromElement(s),a=Pe.find(i).filter(o=>o===this._element);i!==null&&a.length&&this._triggerArray.push(s)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return zA}static get DefaultType(){return GA}static get NAME(){return PA}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(YA).filter(o=>o!==this._element).map(o=>io.getOrCreateInstance(o,{toggle:!1}))),t.length&&t[0]._isTransitioning||Se.trigger(this._element,DA).defaultPrevented)return;for(const o of t)o.hide();const n=this._getDimension();this._element.classList.remove(Li),this._element.classList.add(Ro),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=()=>{this._isTransitioning=!1,this._element.classList.remove(Ro),this._element.classList.add(Li,tu),this._element.style[n]="",Se.trigger(this._element,UA)},a=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback(s,this._element,!0),this._element.style[n]=`${this._element[a]}px`}hide(){if(this._isTransitioning||!this._isShown()||Se.trigger(this._element,FA).defaultPrevented)return;const r=this._getDimension();this._element.style[r]=`${this._element.getBoundingClientRect()[r]}px`,go(this._element),this._element.classList.add(Ro),this._element.classList.remove(Li,tu);for(const s of this._triggerArray){const i=Pe.getElementFromSelector(s);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([s],!1)}this._isTransitioning=!0;const n=()=>{this._isTransitioning=!1,this._element.classList.remove(Ro),this._element.classList.add(Li),Se.trigger(this._element,$A)};this._element.style[r]="",this._queueCallback(n,this._element,!0)}_isShown(t=this._element){return t.classList.contains(tu)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=vn(t.parent),t}_getDimension(){return this._element.classList.contains(VA)?qA:KA}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Nf);for(const r of t){const n=Pe.getElementFromSelector(r);n&&this._addAriaAndCollapsedClass([r],this._isShown(n))}}_getFirstLevelChildren(t){const r=Pe.find(HA,this._config.parent);return Pe.find(t,this._config.parent).filter(n=>!r.includes(n))}_addAriaAndCollapsedClass(t,r){if(t.length)for(const n of t)n.classList.toggle(WA,!r),n.setAttribute("aria-expanded",r)}static jQueryInterface(t){const r={};return typeof t=="string"&&/show|hide/.test(t)&&(r.toggle=!1),this.each(function(){const n=io.getOrCreateInstance(this,r);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t]()}})}}Se.on(document,jA,Nf,function(e){(e.target.tagName==="A"||e.delegateTarget&&e.delegateTarget.tagName==="A")&&e.preventDefault();for(const t of Pe.getMultipleElementsFromSelector(this))io.getOrCreateInstance(t,{toggle:!1}).toggle()});rr(io);const Sp="dropdown",QA="bs.dropdown",di=`.${QA}`,Xh=".data-api",XA="Escape",Ap="Tab",JA="ArrowUp",Tp="ArrowDown",ZA=2,eT=`hide${di}`,tT=`hidden${di}`,rT=`show${di}`,nT=`shown${di}`,ob=`click${di}${Xh}`,ab=`keydown${di}${Xh}`,iT=`keyup${di}${Xh}`,Mi="show",sT="dropup",oT="dropend",aT="dropstart",lT="dropup-center",uT="dropdown-center",Yn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',fT=`${Yn}.${Mi}`,sa=".dropdown-menu",cT=".navbar",hT=".navbar-nav",dT=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",pT=er()?"top-end":"top-start",gT=er()?"top-start":"top-end",mT=er()?"bottom-end":"bottom-start",yT=er()?"bottom-start":"bottom-end",_T=er()?"left-start":"right-start",bT=er()?"right-start":"left-start",wT="top",vT="bottom",ET={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ST={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Ar extends cr{constructor(t,r){super(t,r),this._popper=null,this._parent=this._element.parentNode,this._menu=Pe.next(this._element,sa)[0]||Pe.prev(this._element,sa)[0]||Pe.findOne(sa,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ET}static get DefaultType(){return ST}static get NAME(){return Sp}toggle(){return this._isShown()?this.hide():this.show()}show(){if(En(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!Se.trigger(this._element,rT,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(hT))for(const n of[].concat(...document.body.children))Se.on(n,"mouseover",ka);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Mi),this._element.classList.add(Mi),Se.trigger(this._element,nT,t)}}hide(){if(En(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!Se.trigger(this._element,eT,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const n of[].concat(...document.body.children))Se.off(n,"mouseover",ka);this._popper&&this._popper.destroy(),this._menu.classList.remove(Mi),this._element.classList.remove(Mi),this._element.setAttribute("aria-expanded","false"),Yr.removeDataAttribute(this._menu,"popper"),Se.trigger(this._element,tT,t)}}_getConfig(t){if(t=super._getConfig(t),typeof t.reference=="object"&&!Kr(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${Sp.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(typeof H_>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=this._parent:Kr(this._config.reference)?t=vn(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const r=this._getPopperConfig();this._popper=zh(t,this._menu,r)}_isShown(){return this._menu.classList.contains(Mi)}_getPlacement(){const t=this._parent;if(t.classList.contains(oT))return _T;if(t.classList.contains(aT))return bT;if(t.classList.contains(lT))return wT;if(t.classList.contains(uT))return vT;const r=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return t.classList.contains(sT)?r?gT:pT:r?yT:mT}_detectNavbar(){return this._element.closest(cT)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(r=>Number.parseInt(r,10)):typeof t=="function"?r=>t(r,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(Yr.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Nt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:r}){const n=Pe.find(dT,this._menu).filter(s=>us(s));n.length&&Gh(n,r,t===Tp,!n.includes(r)).focus()}static jQueryInterface(t){return this.each(function(){const r=Ar.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t]()}})}static clearMenus(t){if(t.button===ZA||t.type==="keyup"&&t.key!==Ap)return;const r=Pe.find(fT);for(const n of r){const s=Ar.getInstance(n);if(!s||s._config.autoClose===!1)continue;const i=t.composedPath(),a=i.includes(s._menu);if(i.includes(s._element)||s._config.autoClose==="inside"&&!a||s._config.autoClose==="outside"&&a||s._menu.contains(t.target)&&(t.type==="keyup"&&t.key===Ap||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:s._element};t.type==="click"&&(o.clickEvent=t),s._completeHide(o)}}static dataApiKeydownHandler(t){const r=/input|textarea/i.test(t.target.tagName),n=t.key===XA,s=[JA,Tp].includes(t.key);if(!s&&!n||r&&!n)return;t.preventDefault();const i=this.matches(Yn)?this:Pe.prev(this,Yn)[0]||Pe.next(this,Yn)[0]||Pe.findOne(Yn,t.delegateTarget.parentNode),a=Ar.getOrCreateInstance(i);if(s){t.stopPropagation(),a.show(),a._selectMenuItem(t);return}a._isShown()&&(t.stopPropagation(),a.hide(),i.focus())}}Se.on(document,ab,Yn,Ar.dataApiKeydownHandler);Se.on(document,ab,sa,Ar.dataApiKeydownHandler);Se.on(document,ob,Ar.clearMenus);Se.on(document,iT,Ar.clearMenus);Se.on(document,ob,Yn,function(e){e.preventDefault(),Ar.getOrCreateInstance(this).toggle()});rr(Ar);const lb="backdrop",AT="fade",xp="show",Ip=`mousedown.bs.${lb}`,TT={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},xT={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ub extends mo{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return TT}static get DefaultType(){return xT}static get NAME(){return lb}show(t){if(!this._config.isVisible){Nt(t);return}this._append();const r=this._getElement();this._config.isAnimated&&go(r),r.classList.add(xp),this._emulateAnimation(()=>{Nt(t)})}hide(t){if(!this._config.isVisible){Nt(t);return}this._getElement().classList.remove(xp),this._emulateAnimation(()=>{this.dispose(),Nt(t)})}dispose(){this._isAppended&&(Se.off(this._element,Ip),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(AT),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=vn(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),Se.on(t,Ip,()=>{Nt(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){z_(t,this._getElement(),this._config.isAnimated)}}const IT="focustrap",CT="bs.focustrap",Na=`.${CT}`,RT=`focusin${Na}`,OT=`keydown.tab${Na}`,kT="Tab",MT="forward",Cp="backward",NT={autofocus:!0,trapElement:null},PT={autofocus:"boolean",trapElement:"element"};class fb extends mo{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return NT}static get DefaultType(){return PT}static get NAME(){return IT}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),Se.off(document,Na),Se.on(document,RT,t=>this._handleFocusin(t)),Se.on(document,OT,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,Se.off(document,Na))}_handleFocusin(t){const{trapElement:r}=this._config;if(t.target===document||t.target===r||r.contains(t.target))return;const n=Pe.focusableChildren(r);n.length===0?r.focus():this._lastTabNavDirection===Cp?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){t.key===kT&&(this._lastTabNavDirection=t.shiftKey?Cp:MT)}}const Rp=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Op=".sticky-top",Oo="padding-right",kp="margin-right";class Pf{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Oo,r=>r+t),this._setElementAttributes(Rp,Oo,r=>r+t),this._setElementAttributes(Op,kp,r=>r-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Oo),this._resetElementAttributes(Rp,Oo),this._resetElementAttributes(Op,kp)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,r,n){const s=this.getWidth(),i=a=>{if(a!==this._element&&window.innerWidth>a.clientWidth+s)return;this._saveInitialAttribute(a,r);const o=window.getComputedStyle(a).getPropertyValue(r);a.style.setProperty(r,`${n(Number.parseFloat(o))}px`)};this._applyManipulationCallback(t,i)}_saveInitialAttribute(t,r){const n=t.style.getPropertyValue(r);n&&Yr.setDataAttribute(t,r,n)}_resetElementAttributes(t,r){const n=s=>{const i=Yr.getDataAttribute(s,r);if(i===null){s.style.removeProperty(r);return}Yr.removeDataAttribute(s,r),s.style.setProperty(r,i)};this._applyManipulationCallback(t,n)}_applyManipulationCallback(t,r){if(Kr(t)){r(t);return}for(const n of Pe.find(t,this._element))r(n)}}const LT="modal",BT="bs.modal",tr=`.${BT}`,DT=".data-api",UT="Escape",FT=`hide${tr}`,$T=`hidePrevented${tr}`,cb=`hidden${tr}`,hb=`show${tr}`,jT=`shown${tr}`,WT=`resize${tr}`,HT=`click.dismiss${tr}`,VT=`mousedown.dismiss${tr}`,qT=`keydown.dismiss${tr}`,KT=`click${tr}${DT}`,Mp="modal-open",YT="fade",Np="show",ru="modal-static",zT=".modal.show",GT=".modal-dialog",QT=".modal-body",XT='[data-bs-toggle="modal"]',JT={backdrop:!0,focus:!0,keyboard:!0},ZT={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ts extends cr{constructor(t,r){super(t,r),this._dialog=Pe.findOne(GT,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Pf,this._addEventListeners()}static get Default(){return JT}static get DefaultType(){return ZT}static get NAME(){return LT}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||Se.trigger(this._element,hb,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Mp),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){!this._isShown||this._isTransitioning||Se.trigger(this._element,FT).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Np),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){Se.off(window,tr),Se.off(this._dialog,tr),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ub({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new fb({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const r=Pe.findOne(QT,this._dialog);r&&(r.scrollTop=0),go(this._element),this._element.classList.add(Np);const n=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,Se.trigger(this._element,jT,{relatedTarget:t})};this._queueCallback(n,this._dialog,this._isAnimated())}_addEventListeners(){Se.on(this._element,qT,t=>{if(t.key===UT){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),Se.on(window,WT,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),Se.on(this._element,VT,t=>{Se.one(this._element,HT,r=>{if(!(this._element!==t.target||this._element!==r.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Mp),this._resetAdjustments(),this._scrollBar.reset(),Se.trigger(this._element,cb)})}_isAnimated(){return this._element.classList.contains(YT)}_triggerBackdropTransition(){if(Se.trigger(this._element,$T).defaultPrevented)return;const r=this._element.scrollHeight>document.documentElement.clientHeight,n=this._element.style.overflowY;n==="hidden"||this._element.classList.contains(ru)||(r||(this._element.style.overflowY="hidden"),this._element.classList.add(ru),this._queueCallback(()=>{this._element.classList.remove(ru),this._queueCallback(()=>{this._element.style.overflowY=n},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,r=this._scrollBar.getWidth(),n=r>0;if(n&&!t){const s=er()?"paddingLeft":"paddingRight";this._element.style[s]=`${r}px`}if(!n&&t){const s=er()?"paddingRight":"paddingLeft";this._element.style[s]=`${r}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,r){return this.each(function(){const n=ts.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t](r)}})}}Se.on(document,KT,XT,function(e){const t=Pe.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),Se.one(t,hb,s=>{s.defaultPrevented||Se.one(t,cb,()=>{us(this)&&this.focus()})});const r=Pe.findOne(zT);r&&ts.getInstance(r).hide(),ts.getOrCreateInstance(t).toggle(this)});dl(ts);rr(ts);const ex="offcanvas",tx="bs.offcanvas",nn=`.${tx}`,db=".data-api",rx=`load${nn}${db}`,nx="Escape",Pp="show",Lp="showing",Bp="hiding",ix="offcanvas-backdrop",pb=".offcanvas.show",sx=`show${nn}`,ox=`shown${nn}`,ax=`hide${nn}`,Dp=`hidePrevented${nn}`,gb=`hidden${nn}`,lx=`resize${nn}`,ux=`click${nn}${db}`,fx=`keydown.dismiss${nn}`,cx='[data-bs-toggle="offcanvas"]',hx={backdrop:!0,keyboard:!0,scroll:!1},dx={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Sn extends cr{constructor(t,r){super(t,r),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return hx}static get DefaultType(){return dx}static get NAME(){return ex}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||Se.trigger(this._element,sx,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Pf().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Lp);const n=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Pp),this._element.classList.remove(Lp),Se.trigger(this._element,ox,{relatedTarget:t})};this._queueCallback(n,this._element,!0)}hide(){if(!this._isShown||Se.trigger(this._element,ax).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Bp),this._backdrop.hide();const r=()=>{this._element.classList.remove(Pp,Bp),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Pf().reset(),Se.trigger(this._element,gb)};this._queueCallback(r,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{if(this._config.backdrop==="static"){Se.trigger(this._element,Dp);return}this.hide()},r=!!this._config.backdrop;return new ub({className:ix,isVisible:r,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:r?t:null})}_initializeFocusTrap(){return new fb({trapElement:this._element})}_addEventListeners(){Se.on(this._element,fx,t=>{if(t.key===nx){if(this._config.keyboard){this.hide();return}Se.trigger(this._element,Dp)}})}static jQueryInterface(t){return this.each(function(){const r=Sn.getOrCreateInstance(this,t);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t](this)}})}}Se.on(document,ux,cx,function(e){const t=Pe.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),En(this))return;Se.one(t,gb,()=>{us(this)&&this.focus()});const r=Pe.findOne(pb);r&&r!==t&&Sn.getInstance(r).hide(),Sn.getOrCreateInstance(t).toggle(this)});Se.on(window,rx,()=>{for(const e of Pe.find(pb))Sn.getOrCreateInstance(e).show()});Se.on(window,lx,()=>{for(const e of Pe.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(e).position!=="fixed"&&Sn.getOrCreateInstance(e).hide()});dl(Sn);rr(Sn);const px=/^aria-[\w-]*$/i,mb={"*":["class","dir","id","lang","role",px],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},gx=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),mx=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,yx=(e,t)=>{const r=e.nodeName.toLowerCase();return t.includes(r)?gx.has(r)?!!mx.test(e.nodeValue):!0:t.filter(n=>n instanceof RegExp).some(n=>n.test(r))};function _x(e,t,r){if(!e.length)return e;if(r&&typeof r=="function")return r(e);const s=new window.DOMParser().parseFromString(e,"text/html"),i=[].concat(...s.body.querySelectorAll("*"));for(const a of i){const o=a.nodeName.toLowerCase();if(!Object.keys(t).includes(o)){a.remove();continue}const l=[].concat(...a.attributes),u=[].concat(t["*"]||[],t[o]||[]);for(const f of l)yx(f,u)||a.removeAttribute(f.nodeName)}return s.body.innerHTML}const bx="TemplateFactory",vx={allowList:mb,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Ex={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Sx={entry:"(string|element|function|null)",selector:"(string|element)"};class Ax extends mo{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return vx}static get DefaultType(){return Ex}static get NAME(){return bx}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[s,i]of Object.entries(this._config.content))this._setContent(t,i,s);const r=t.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&r.classList.add(...n.split(" ")),r}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[r,n]of Object.entries(t))super._typeCheckConfig({selector:r,entry:n},Sx)}_setContent(t,r,n){const s=Pe.findOne(n,t);if(s){if(r=this._resolvePossibleFunction(r),!r){s.remove();return}if(Kr(r)){this._putElementInTemplate(vn(r),s);return}if(this._config.html){s.innerHTML=this._maybeSanitize(r);return}s.textContent=r}}_maybeSanitize(t){return this._config.sanitize?_x(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Nt(t,[this])}_putElementInTemplate(t,r){if(this._config.html){r.innerHTML="",r.append(t);return}r.textContent=t.textContent}}const Tx="tooltip",xx=new Set(["sanitize","allowList","sanitizeFn"]),nu="fade",Ix="modal",ko="show",Cx=".tooltip-inner",Up=`.${Ix}`,Fp="hide.bs.modal",Ss="hover",iu="focus",Rx="click",Ox="manual",kx="hide",Mx="hidden",Nx="show",Px="shown",Lx="inserted",Bx="click",Dx="focusin",Ux="focusout",Fx="mouseenter",$x="mouseleave",jx={AUTO:"auto",TOP:"top",RIGHT:er()?"left":"right",BOTTOM:"bottom",LEFT:er()?"right":"left"},Wx={allowList:mb,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Hx={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends cr{constructor(t,r){if(typeof H_>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,r),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Wx}static get DefaultType(){return Hx}static get NAME(){return Tx}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),Se.off(this._element.closest(Up),Fp,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const t=Se.trigger(this._element,this.constructor.eventName(Nx)),n=(K_(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!n)return;this._disposePopper();const s=this._getTipElement();this._element.setAttribute("aria-describedby",s.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(s),Se.trigger(this._element,this.constructor.eventName(Lx))),this._popper=this._createPopper(s),s.classList.add(ko),"ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))Se.on(o,"mouseover",ka);const a=()=>{Se.trigger(this._element,this.constructor.eventName(Px)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(a,this.tip,this._isAnimated())}hide(){if(!this._isShown()||Se.trigger(this._element,this.constructor.eventName(kx)).defaultPrevented)return;if(this._getTipElement().classList.remove(ko),"ontouchstart"in document.documentElement)for(const s of[].concat(...document.body.children))Se.off(s,"mouseover",ka);this._activeTrigger[Rx]=!1,this._activeTrigger[iu]=!1,this._activeTrigger[Ss]=!1,this._isHovered=null;const n=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),Se.trigger(this._element,this.constructor.eventName(Mx)))};this._queueCallback(n,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const r=this._getTemplateFactory(t).toHtml();if(!r)return null;r.classList.remove(nu,ko),r.classList.add(`bs-${this.constructor.NAME}-auto`);const n=CS(this.constructor.NAME).toString();return r.setAttribute("id",n),this._isAnimated()&&r.classList.add(nu),r}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ax({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Cx]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(nu)}_isShown(){return this.tip&&this.tip.classList.contains(ko)}_createPopper(t){const r=Nt(this._config.placement,[this,t,this._element]),n=jx[r.toUpperCase()];return zh(this._element,t,this._getPopperConfig(n))}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(r=>Number.parseInt(r,10)):typeof t=="function"?r=>t(r,this._element):t}_resolvePossibleFunction(t){return Nt(t,[this._element])}_getPopperConfig(t){const r={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:n=>{this._getTipElement().setAttribute("data-popper-placement",n.state.placement)}}]};return{...r,...Nt(this._config.popperConfig,[r])}}_setListeners(){const t=this._config.trigger.split(" ");for(const r of t)if(r==="click")Se.on(this._element,this.constructor.eventName(Bx),this._config.selector,n=>{this._initializeOnDelegatedTarget(n).toggle()});else if(r!==Ox){const n=r===Ss?this.constructor.eventName(Fx):this.constructor.eventName(Dx),s=r===Ss?this.constructor.eventName($x):this.constructor.eventName(Ux);Se.on(this._element,n,this._config.selector,i=>{const a=this._initializeOnDelegatedTarget(i);a._activeTrigger[i.type==="focusin"?iu:Ss]=!0,a._enter()}),Se.on(this._element,s,this._config.selector,i=>{const a=this._initializeOnDelegatedTarget(i);a._activeTrigger[i.type==="focusout"?iu:Ss]=a._element.contains(i.relatedTarget),a._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},Se.on(this._element.closest(Up),Fp,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,r){clearTimeout(this._timeout),this._timeout=setTimeout(t,r)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const r=Yr.getDataAttributes(this._element);for(const n of Object.keys(r))xx.has(n)&&delete r[n];return t={...r,...typeof t=="object"&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=t.container===!1?document.body:vn(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[r,n]of Object.entries(this._config))this.constructor.Default[r]!==n&&(t[r]=n);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const r=cs.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t]()}})}}rr(cs);const Vx="popover",qx=".popover-header",Kx=".popover-body",Yx={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},zx={...cs.DefaultType,content:"(null|string|element|function)"};class Jh extends cs{static get Default(){return Yx}static get DefaultType(){return zx}static get NAME(){return Vx}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[qx]:this._getTitle(),[Kx]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const r=Jh.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t]()}})}}rr(Jh);const Gx="scrollspy",Qx="bs.scrollspy",Zh=`.${Qx}`,Xx=".data-api",Jx=`activate${Zh}`,$p=`click${Zh}`,Zx=`load${Zh}${Xx}`,eI="dropdown-item",xi="active",tI='[data-bs-spy="scroll"]',su="[href]",rI=".nav, .list-group",jp=".nav-link",nI=".nav-item",iI=".list-group-item",sI=`${jp}, ${nI} > ${jp}, ${iI}`,oI=".dropdown",aI=".dropdown-toggle",lI={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},uI={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ml extends cr{constructor(t,r){super(t,r),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return lI}static get DefaultType(){return uI}static get NAME(){return Gx}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=vn(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,typeof t.threshold=="string"&&(t.threshold=t.threshold.split(",").map(r=>Number.parseFloat(r))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(Se.off(this._config.target,$p),Se.on(this._config.target,$p,su,t=>{const r=this._observableSections.get(t.target.hash);if(r){t.preventDefault();const n=this._rootElement||window,s=r.offsetTop-this._element.offsetTop;if(n.scrollTo){n.scrollTo({top:s,behavior:"smooth"});return}n.scrollTop=s}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(r=>this._observerCallback(r),t)}_observerCallback(t){const r=a=>this._targetLinks.get(`#${a.target.id}`),n=a=>{this._previousScrollData.visibleEntryTop=a.target.offsetTop,this._process(r(a))},s=(this._rootElement||document.documentElement).scrollTop,i=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const a of t){if(!a.isIntersecting){this._activeTarget=null,this._clearActiveClass(r(a));continue}const o=a.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&o){if(n(a),!s)return;continue}!i&&!o&&n(a)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=Pe.find(su,this._config.target);for(const r of t){if(!r.hash||En(r))continue;const n=Pe.findOne(decodeURI(r.hash),this._element);us(n)&&(this._targetLinks.set(decodeURI(r.hash),r),this._observableSections.set(r.hash,n))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(xi),this._activateParents(t),Se.trigger(this._element,Jx,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(eI)){Pe.findOne(aI,t.closest(oI)).classList.add(xi);return}for(const r of Pe.parents(t,rI))for(const n of Pe.prev(r,sI))n.classList.add(xi)}_clearActiveClass(t){t.classList.remove(xi);const r=Pe.find(`${su}.${xi}`,t);for(const n of r)n.classList.remove(xi)}static jQueryInterface(t){return this.each(function(){const r=ml.getOrCreateInstance(this,t);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t]()}})}}Se.on(window,Zx,()=>{for(const e of Pe.find(tI))ml.getOrCreateInstance(e)});rr(ml);const fI="tab",cI="bs.tab",pi=`.${cI}`,hI=`hide${pi}`,dI=`hidden${pi}`,pI=`show${pi}`,gI=`shown${pi}`,mI=`click${pi}`,yI=`keydown${pi}`,_I=`load${pi}`,bI="ArrowLeft",Wp="ArrowRight",wI="ArrowUp",Hp="ArrowDown",ou="Home",Vp="End",zn="active",qp="fade",au="show",vI="dropdown",yb=".dropdown-toggle",EI=".dropdown-menu",lu=`:not(${yb})`,SI='.list-group, .nav, [role="tablist"]',AI=".nav-item, .list-group-item",TI=`.nav-link${lu}, .list-group-item${lu}, [role="tab"]${lu}`,_b='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',uu=`${TI}, ${_b}`,xI=`.${zn}[data-bs-toggle="tab"], .${zn}[data-bs-toggle="pill"], .${zn}[data-bs-toggle="list"]`;class rs extends cr{constructor(t){super(t),this._parent=this._element.closest(SI),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),Se.on(this._element,yI,r=>this._keydown(r)))}static get NAME(){return fI}show(){const t=this._element;if(this._elemIsActive(t))return;const r=this._getActiveElem(),n=r?Se.trigger(r,hI,{relatedTarget:t}):null;Se.trigger(t,pI,{relatedTarget:r}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(r,t),this._activate(t,r))}_activate(t,r){if(!t)return;t.classList.add(zn),this._activate(Pe.getElementFromSelector(t));const n=()=>{if(t.getAttribute("role")!=="tab"){t.classList.add(au);return}t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),Se.trigger(t,gI,{relatedTarget:r})};this._queueCallback(n,t,t.classList.contains(qp))}_deactivate(t,r){if(!t)return;t.classList.remove(zn),t.blur(),this._deactivate(Pe.getElementFromSelector(t));const n=()=>{if(t.getAttribute("role")!=="tab"){t.classList.remove(au);return}t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),Se.trigger(t,dI,{relatedTarget:r})};this._queueCallback(n,t,t.classList.contains(qp))}_keydown(t){if(![bI,Wp,wI,Hp,ou,Vp].includes(t.key))return;t.stopPropagation(),t.preventDefault();const r=this._getChildren().filter(s=>!En(s));let n;if([ou,Vp].includes(t.key))n=r[t.key===ou?0:r.length-1];else{const s=[Wp,Hp].includes(t.key);n=Gh(r,t.target,s,!0)}n&&(n.focus({preventScroll:!0}),rs.getOrCreateInstance(n).show())}_getChildren(){return Pe.find(uu,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,r){this._setAttributeIfNotExists(t,"role","tablist");for(const n of r)this._setInitialAttributesOnChild(n)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const r=this._elemIsActive(t),n=this._getOuterElement(t);t.setAttribute("aria-selected",r),n!==t&&this._setAttributeIfNotExists(n,"role","presentation"),r||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const r=Pe.getElementFromSelector(t);r&&(this._setAttributeIfNotExists(r,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(r,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,r){const n=this._getOuterElement(t);if(!n.classList.contains(vI))return;const s=(i,a)=>{const o=Pe.findOne(i,n);o&&o.classList.toggle(a,r)};s(yb,zn),s(EI,au),n.setAttribute("aria-expanded",r)}_setAttributeIfNotExists(t,r,n){t.hasAttribute(r)||t.setAttribute(r,n)}_elemIsActive(t){return t.classList.contains(zn)}_getInnerElement(t){return t.matches(uu)?t:Pe.findOne(uu,t)}_getOuterElement(t){return t.closest(AI)||t}static jQueryInterface(t){return this.each(function(){const r=rs.getOrCreateInstance(this);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t]()}})}}Se.on(document,mI,_b,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),!En(this)&&rs.getOrCreateInstance(this).show()});Se.on(window,_I,()=>{for(const e of Pe.find(xI))rs.getOrCreateInstance(e)});rr(rs);const II="toast",CI="bs.toast",Cn=`.${CI}`,RI=`mouseover${Cn}`,OI=`mouseout${Cn}`,kI=`focusin${Cn}`,MI=`focusout${Cn}`,NI=`hide${Cn}`,PI=`hidden${Cn}`,LI=`show${Cn}`,BI=`shown${Cn}`,DI="fade",Kp="hide",Mo="show",No="showing",UI={animation:"boolean",autohide:"boolean",delay:"number"},FI={animation:!0,autohide:!0,delay:5e3};class yl extends cr{constructor(t,r){super(t,r),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return FI}static get DefaultType(){return UI}static get NAME(){return II}show(){if(Se.trigger(this._element,LI).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(DI);const r=()=>{this._element.classList.remove(No),Se.trigger(this._element,BI),this._maybeScheduleHide()};this._element.classList.remove(Kp),go(this._element),this._element.classList.add(Mo,No),this._queueCallback(r,this._element,this._config.animation)}hide(){if(!this.isShown()||Se.trigger(this._element,NI).defaultPrevented)return;const r=()=>{this._element.classList.add(Kp),this._element.classList.remove(No,Mo),Se.trigger(this._element,PI)};this._element.classList.add(No),this._queueCallback(r,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Mo),super.dispose()}isShown(){return this._element.classList.contains(Mo)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,r){switch(t.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=r;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=r;break}}if(r){this._clearTimeout();return}const n=t.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){Se.on(this._element,RI,t=>this._onInteraction(t,!0)),Se.on(this._element,OI,t=>this._onInteraction(t,!1)),Se.on(this._element,kI,t=>this._onInteraction(t,!0)),Se.on(this._element,MI,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const r=yl.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t](this)}})}}dl(yl);rr(yl);var ed=Object.defineProperty,$I=Object.getOwnPropertyDescriptor,jI=Object.getOwnPropertyNames,WI=Object.prototype.hasOwnProperty,pt=(e,t)=>()=>(e&&(t=e(e=0)),t),Ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),gi=(e,t)=>{for(var r in t)ed(e,r,{get:t[r],enumerable:!0})},HI=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of jI(t))!WI.call(e,s)&&s!==r&&ed(e,s,{get:()=>t[s],enumerable:!(n=$I(t,s))||n.enumerable});return e},ze=e=>HI(ed({},"__esModule",{value:!0}),e),be=pt(()=>{}),He={};gi(He,{_debugEnd:()=>dc,_debugProcess:()=>hc,_events:()=>Cc,_eventsCount:()=>Rc,_exiting:()=>Jf,_fatalExceptions:()=>uc,_getActiveHandles:()=>Tb,_getActiveRequests:()=>Ab,_kill:()=>tc,_linkedBinding:()=>Eb,_maxListeners:()=>Ic,_preload_modules:()=>Tc,_rawDebug:()=>Gf,_startProfilerIdleNotifier:()=>pc,_stopProfilerIdleNotifier:()=>gc,_tickCallback:()=>cc,abort:()=>bc,addListener:()=>Oc,allowedNodeEnvironmentFlags:()=>ac,arch:()=>Bf,argv:()=>Ff,argv0:()=>Ac,assert:()=>xb,binding:()=>Vf,chdir:()=>Yf,config:()=>Zf,cpuUsage:()=>Ds,cwd:()=>Kf,debugPort:()=>Sc,default:()=>rd,dlopen:()=>Sb,domain:()=>Xf,emit:()=>Lc,emitWarning:()=>Hf,env:()=>Uf,execArgv:()=>$f,execPath:()=>Ec,exit:()=>sc,features:()=>lc,hasUncaughtExceptionCaptureCallback:()=>Ib,hrtime:()=>oa,kill:()=>ic,listeners:()=>Rb,memoryUsage:()=>nc,moduleLoadList:()=>Qf,nextTick:()=>wb,off:()=>Mc,on:()=>Nr,once:()=>kc,openStdin:()=>oc,pid:()=>wc,platform:()=>Df,ppid:()=>vc,prependListener:()=>Bc,prependOnceListener:()=>Dc,reallyExit:()=>ec,release:()=>zf,removeAllListeners:()=>Pc,removeListener:()=>Nc,resourceUsage:()=>rc,setSourceMapsEnabled:()=>xc,setUncaughtExceptionCaptureCallback:()=>fc,stderr:()=>yc,stdin:()=>_c,stdout:()=>mc,title:()=>Lf,umask:()=>qf,uptime:()=>Cb,version:()=>jf,versions:()=>Wf});function td(e){throw new Error("Node.js process "+e+" is not supported by JSPM core outside of Node.js")}function VI(){!ti||!Gn||(ti=!1,Gn.length?br=Gn.concat(br):Xs=-1,br.length&&bb())}function bb(){if(!ti){var e=setTimeout(VI,0);ti=!0;for(var t=br.length;t;){for(Gn=br,br=[];++Xs1)for(var r=1;r{be(),ve(),we(),br=[],ti=!1,Xs=-1,vb.prototype.run=function(){this.fun.apply(null,this.array)},Lf="browser",Bf="x64",Df="browser",Uf={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Ff=["/usr/bin/node"],$f=[],jf="v16.8.0",Wf={},Hf=function(e,t){console.warn((t?t+": ":"")+e)},Vf=function(e){td("binding")},qf=function(e){return 0},Kf=function(){return"/"},Yf=function(e){},zf={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},Gf=_t,Qf=[],Xf={},Jf=!1,Zf={},ec=_t,tc=_t,Ds=function(){return{}},rc=Ds,nc=Ds,ic=_t,sc=_t,oc=_t,ac={},lc={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},uc=_t,fc=_t,cc=_t,hc=_t,dc=_t,pc=_t,gc=_t,mc=void 0,yc=void 0,_c=void 0,bc=_t,wc=2,vc=1,Ec="/bin/usr/node",Sc=9229,Ac="node",Tc=[],xc=_t,Ur={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},Ur.now===void 0&&(fu=Date.now(),Ur.timing&&Ur.timing.navigationStart&&(fu=Ur.timing.navigationStart),Ur.now=()=>Date.now()-fu),aa=1e9,oa.bigint=function(e){var t=oa(e);return typeof BigInt>"u"?t[0]*aa+t[1]:BigInt(t[0]*aa)+BigInt(t[1])},Ic=10,Cc={},Rc=0,Oc=Nr,kc=Nr,Mc=Nr,Nc=Nr,Pc=Nr,Lc=_t,Bc=Nr,Dc=Nr,rd={version:jf,versions:Wf,arch:Bf,platform:Df,release:zf,_rawDebug:Gf,moduleLoadList:Qf,binding:Vf,_linkedBinding:Eb,_events:Cc,_eventsCount:Rc,_maxListeners:Ic,on:Nr,addListener:Oc,once:kc,off:Mc,removeListener:Nc,removeAllListeners:Pc,emit:Lc,prependListener:Bc,prependOnceListener:Dc,listeners:Rb,domain:Xf,_exiting:Jf,config:Zf,dlopen:Sb,uptime:Cb,_getActiveRequests:Ab,_getActiveHandles:Tb,reallyExit:ec,_kill:tc,cpuUsage:Ds,resourceUsage:rc,memoryUsage:nc,kill:ic,exit:sc,openStdin:oc,allowedNodeEnvironmentFlags:ac,assert:xb,features:lc,_fatalExceptions:uc,setUncaughtExceptionCaptureCallback:fc,hasUncaughtExceptionCaptureCallback:Ib,emitWarning:Hf,nextTick:wb,_tickCallback:cc,_debugProcess:hc,_debugEnd:dc,_startProfilerIdleNotifier:pc,_stopProfilerIdleNotifier:gc,stdout:mc,stdin:_c,stderr:yc,abort:bc,umask:qf,chdir:Yf,cwd:Kf,env:Uf,title:Lf,argv:Ff,execArgv:$f,pid:wc,ppid:vc,execPath:Ec,debugPort:Sc,hrtime:oa,argv0:Ac,_preload_modules:Tc,setSourceMapsEnabled:xc}}),we=pt(()=>{qI()}),gt={};gi(gt,{Buffer:()=>Pa,INSPECT_MAX_BYTES:()=>Ob,default:()=>Pr,kMaxLength:()=>kb});function KI(){if(Uc)return Ni;Uc=!0,Ni.byteLength=o,Ni.toByteArray=u,Ni.fromByteArray=p;for(var e=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,i=n.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var b=g.indexOf("=");b===-1&&(b=_);var E=b===_?0:4-b%4;return[b,E]}function o(g){var _=a(g),b=_[0],E=_[1];return(b+E)*3/4-E}function l(g,_,b){return(_+b)*3/4-b}function u(g){var _,b=a(g),E=b[0],v=b[1],S=new r(l(g,E,v)),w=0,C=v>0?E-4:E,R;for(R=0;R>16&255,S[w++]=_>>8&255,S[w++]=_&255;return v===2&&(_=t[g.charCodeAt(R)]<<2|t[g.charCodeAt(R+1)]>>4,S[w++]=_&255),v===1&&(_=t[g.charCodeAt(R)]<<10|t[g.charCodeAt(R+1)]<<4|t[g.charCodeAt(R+2)]>>2,S[w++]=_>>8&255,S[w++]=_&255),S}function f(g){return e[g>>18&63]+e[g>>12&63]+e[g>>6&63]+e[g&63]}function d(g,_,b){for(var E,v=[],S=_;SC?C:w+S));return E===1?(_=g[b-1],v.push(e[_>>2]+e[_<<4&63]+"==")):E===2&&(_=(g[b-2]<<8)+g[b-1],v.push(e[_>>10]+e[_>>4&63]+e[_<<2&63]+"=")),v.join("")}return Ni}function YI(){return Fc?Us:(Fc=!0,Us.read=function(e,t,r,n,s){var i,a,o=s*8-n-1,l=(1<>1,f=-7,d=r?s-1:0,p=r?-1:1,g=e[t+d];for(d+=p,i=g&(1<<-f)-1,g>>=-f,f+=o;f>0;i=i*256+e[t+d],d+=p,f-=8);for(a=i&(1<<-f)-1,i>>=-f,f+=n;f>0;a=a*256+e[t+d],d+=p,f-=8);if(i===0)i=1-u;else{if(i===l)return a?NaN:(g?-1:1)*(1/0);a=a+Math.pow(2,n),i=i-u}return(g?-1:1)*a*Math.pow(2,i-n)},Us.write=function(e,t,r,n,s,i){var a,o,l,u=i*8-s-1,f=(1<>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:i-1,_=n?1:-1,b=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+d>=1?t+=p/l:t+=p*Math.pow(2,1-d),t*l>=2&&(a++,l/=2),a+d>=f?(o=0,a=f):a+d>=1?(o=(t*l-1)*Math.pow(2,s),a=a+d):(o=t*Math.pow(2,d-1)*Math.pow(2,s),a=0));s>=8;e[r+g]=o&255,g+=_,o/=256,s-=8);for(a=a<0;e[r+g]=a&255,g+=_,a/=256,u-=8);e[r+g-_]|=b*128},Us)}function zI(){if($c)return fn;$c=!0;let e=KI(),t=YI(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;fn.Buffer=a,fn.SlowBuffer=v,fn.INSPECT_MAX_BYTES=50;let n=2147483647;fn.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{let y=new Uint8Array(1),h={foo:function(){return 42}};return Object.setPrototypeOf(h,Uint8Array.prototype),Object.setPrototypeOf(y,h),y.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(y){if(y>n)throw new RangeError('The value "'+y+'" is invalid for option "size"');let h=new Uint8Array(y);return Object.setPrototypeOf(h,a.prototype),h}function a(y,h,c){if(typeof y=="number"){if(typeof h=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return f(y)}return o(y,h,c)}a.poolSize=8192;function o(y,h,c){if(typeof y=="string")return d(y,h);if(ArrayBuffer.isView(y))return g(y);if(y==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof y);if(K(y,ArrayBuffer)||y&&K(y.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(K(y,SharedArrayBuffer)||y&&K(y.buffer,SharedArrayBuffer)))return _(y,h,c);if(typeof y=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let m=y.valueOf&&y.valueOf();if(m!=null&&m!==y)return a.from(m,h,c);let x=b(y);if(x)return x;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof y[Symbol.toPrimitive]=="function")return a.from(y[Symbol.toPrimitive]("string"),h,c);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof y)}a.from=function(y,h,c){return o(y,h,c)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function l(y){if(typeof y!="number")throw new TypeError('"size" argument must be of type number');if(y<0)throw new RangeError('The value "'+y+'" is invalid for option "size"')}function u(y,h,c){return l(y),y<=0?i(y):h!==void 0?typeof c=="string"?i(y).fill(h,c):i(y).fill(h):i(y)}a.alloc=function(y,h,c){return u(y,h,c)};function f(y){return l(y),i(y<0?0:E(y)|0)}a.allocUnsafe=function(y){return f(y)},a.allocUnsafeSlow=function(y){return f(y)};function d(y,h){if((typeof h!="string"||h==="")&&(h="utf8"),!a.isEncoding(h))throw new TypeError("Unknown encoding: "+h);let c=S(y,h)|0,m=i(c),x=m.write(y,h);return x!==c&&(m=m.slice(0,x)),m}function p(y){let h=y.length<0?0:E(y.length)|0,c=i(h);for(let m=0;m=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return y|0}function v(y){return+y!=y&&(y=0),a.alloc(+y)}a.isBuffer=function(y){return y!=null&&y._isBuffer===!0&&y!==a.prototype},a.compare=function(y,h){if(K(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),K(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),!a.isBuffer(y)||!a.isBuffer(h))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(y===h)return 0;let c=y.length,m=h.length;for(let x=0,H=Math.min(c,m);xm.length?(a.isBuffer(H)||(H=a.from(H)),H.copy(m,x)):Uint8Array.prototype.set.call(m,H,x);else if(a.isBuffer(H))H.copy(m,x);else throw new TypeError('"list" argument must be an Array of Buffers');x+=H.length}return m};function S(y,h){if(a.isBuffer(y))return y.length;if(ArrayBuffer.isView(y)||K(y,ArrayBuffer))return y.byteLength;if(typeof y!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof y);let c=y.length,m=arguments.length>2&&arguments[2]===!0;if(!m&&c===0)return 0;let x=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return c;case"utf8":case"utf-8":return B(y).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return c*2;case"hex":return c>>>1;case"base64":return j(y).length;default:if(x)return m?-1:B(y).length;h=(""+h).toLowerCase(),x=!0}}a.byteLength=S;function w(y,h,c){let m=!1;if((h===void 0||h<0)&&(h=0),h>this.length||((c===void 0||c>this.length)&&(c=this.length),c<=0)||(c>>>=0,h>>>=0,c<=h))return"";for(y||(y="utf8");;)switch(y){case"hex":return z(this,h,c);case"utf8":case"utf-8":return $(this,h,c);case"ascii":return de(this,h,c);case"latin1":case"binary":return pe(this,h,c);case"base64":return L(this,h,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ge(this,h,c);default:if(m)throw new TypeError("Unknown encoding: "+y);y=(y+"").toLowerCase(),m=!0}}a.prototype._isBuffer=!0;function C(y,h,c){let m=y[h];y[h]=y[c],y[c]=m}a.prototype.swap16=function(){let y=this.length;if(y%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let h=0;hh&&(y+=" ... "),""},r&&(a.prototype[r]=a.prototype.inspect),a.prototype.compare=function(y,h,c,m,x){if(K(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),!a.isBuffer(y))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof y);if(h===void 0&&(h=0),c===void 0&&(c=y?y.length:0),m===void 0&&(m=0),x===void 0&&(x=this.length),h<0||c>y.length||m<0||x>this.length)throw new RangeError("out of range index");if(m>=x&&h>=c)return 0;if(m>=x)return-1;if(h>=c)return 1;if(h>>>=0,c>>>=0,m>>>=0,x>>>=0,this===y)return 0;let H=x-m,se=c-h,_e=Math.min(H,se),xe=this.slice(m,x),Re=y.slice(h,c);for(let Te=0;Te<_e;++Te)if(xe[Te]!==Re[Te]){H=xe[Te],se=Re[Te];break}return H2147483647?c=2147483647:c<-2147483648&&(c=-2147483648),c=+c,P(c)&&(c=x?0:y.length-1),c<0&&(c=y.length+c),c>=y.length){if(x)return-1;c=y.length-1}else if(c<0)if(x)c=0;else return-1;if(typeof h=="string"&&(h=a.from(h,m)),a.isBuffer(h))return h.length===0?-1:O(y,h,c,m,x);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?x?Uint8Array.prototype.indexOf.call(y,h,c):Uint8Array.prototype.lastIndexOf.call(y,h,c):O(y,[h],c,m,x);throw new TypeError("val must be string, number or Buffer")}function O(y,h,c,m,x){let H=1,se=y.length,_e=h.length;if(m!==void 0&&(m=String(m).toLowerCase(),m==="ucs2"||m==="ucs-2"||m==="utf16le"||m==="utf-16le")){if(y.length<2||h.length<2)return-1;H=2,se/=2,_e/=2,c/=2}function xe(Te,ke){return H===1?Te[ke]:Te.readUInt16BE(ke*H)}let Re;if(x){let Te=-1;for(Re=c;Rese&&(c=se-_e),Re=c;Re>=0;Re--){let Te=!0;for(let ke=0;ke<_e;ke++)if(xe(y,Re+ke)!==xe(h,ke)){Te=!1;break}if(Te)return Re}return-1}a.prototype.includes=function(y,h,c){return this.indexOf(y,h,c)!==-1},a.prototype.indexOf=function(y,h,c){return R(this,y,h,c,!0)},a.prototype.lastIndexOf=function(y,h,c){return R(this,y,h,c,!1)};function D(y,h,c,m){c=Number(c)||0;let x=y.length-c;m?(m=Number(m),m>x&&(m=x)):m=x;let H=h.length;m>H/2&&(m=H/2);let se;for(se=0;se>>0,isFinite(c)?(c=c>>>0,m===void 0&&(m="utf8")):(m=c,c=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let x=this.length-h;if((c===void 0||c>x)&&(c=x),y.length>0&&(c<0||h<0)||h>this.length)throw new RangeError("Attempt to write outside buffer bounds");m||(m="utf8");let H=!1;for(;;)switch(m){case"hex":return D(this,y,h,c);case"utf8":case"utf-8":return V(this,y,h,c);case"ascii":case"latin1":case"binary":return re(this,y,h,c);case"base64":return G(this,y,h,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X(this,y,h,c);default:if(H)throw new TypeError("Unknown encoding: "+m);m=(""+m).toLowerCase(),H=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function L(y,h,c){return h===0&&c===y.length?e.fromByteArray(y):e.fromByteArray(y.slice(h,c))}function $(y,h,c){c=Math.min(y.length,c);let m=[],x=h;for(;x239?4:H>223?3:H>191?2:1;if(x+_e<=c){let xe,Re,Te,ke;switch(_e){case 1:H<128&&(se=H);break;case 2:xe=y[x+1],(xe&192)===128&&(ke=(H&31)<<6|xe&63,ke>127&&(se=ke));break;case 3:xe=y[x+1],Re=y[x+2],(xe&192)===128&&(Re&192)===128&&(ke=(H&15)<<12|(xe&63)<<6|Re&63,ke>2047&&(ke<55296||ke>57343)&&(se=ke));break;case 4:xe=y[x+1],Re=y[x+2],Te=y[x+3],(xe&192)===128&&(Re&192)===128&&(Te&192)===128&&(ke=(H&15)<<18|(xe&63)<<12|(Re&63)<<6|Te&63,ke>65535&&ke<1114112&&(se=ke))}}se===null?(se=65533,_e=1):se>65535&&(se-=65536,m.push(se>>>10&1023|55296),se=56320|se&1023),m.push(se),x+=_e}return ce(m)}let ae=4096;function ce(y){let h=y.length;if(h<=ae)return String.fromCharCode.apply(String,y);let c="",m=0;for(;mm)&&(c=m);let x="";for(let H=h;Hc&&(y=c),h<0?(h+=c,h<0&&(h=0)):h>c&&(h=c),hc)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(y,h,c){y=y>>>0,h=h>>>0,c||Y(y,h,this.length);let m=this[y],x=1,H=0;for(;++H>>0,h=h>>>0,c||Y(y,h,this.length);let m=this[y+--h],x=1;for(;h>0&&(x*=256);)m+=this[y+--h]*x;return m},a.prototype.readUint8=a.prototype.readUInt8=function(y,h){return y=y>>>0,h||Y(y,1,this.length),this[y]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(y,h){return y=y>>>0,h||Y(y,2,this.length),this[y]|this[y+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(y,h){return y=y>>>0,h||Y(y,2,this.length),this[y]<<8|this[y+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),(this[y]|this[y+1]<<8|this[y+2]<<16)+this[y+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),this[y]*16777216+(this[y+1]<<16|this[y+2]<<8|this[y+3])},a.prototype.readBigUInt64LE=le(function(y){y=y>>>0,A(y,"offset");let h=this[y],c=this[y+7];(h===void 0||c===void 0)&&T(y,this.length-8);let m=h+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24,x=this[++y]+this[++y]*2**8+this[++y]*2**16+c*2**24;return BigInt(m)+(BigInt(x)<>>0,A(y,"offset");let h=this[y],c=this[y+7];(h===void 0||c===void 0)&&T(y,this.length-8);let m=h*2**24+this[++y]*2**16+this[++y]*2**8+this[++y],x=this[++y]*2**24+this[++y]*2**16+this[++y]*2**8+c;return(BigInt(m)<>>0,h=h>>>0,c||Y(y,h,this.length);let m=this[y],x=1,H=0;for(;++H=x&&(m-=Math.pow(2,8*h)),m},a.prototype.readIntBE=function(y,h,c){y=y>>>0,h=h>>>0,c||Y(y,h,this.length);let m=h,x=1,H=this[y+--m];for(;m>0&&(x*=256);)H+=this[y+--m]*x;return x*=128,H>=x&&(H-=Math.pow(2,8*h)),H},a.prototype.readInt8=function(y,h){return y=y>>>0,h||Y(y,1,this.length),this[y]&128?(255-this[y]+1)*-1:this[y]},a.prototype.readInt16LE=function(y,h){y=y>>>0,h||Y(y,2,this.length);let c=this[y]|this[y+1]<<8;return c&32768?c|4294901760:c},a.prototype.readInt16BE=function(y,h){y=y>>>0,h||Y(y,2,this.length);let c=this[y+1]|this[y]<<8;return c&32768?c|4294901760:c},a.prototype.readInt32LE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),this[y]|this[y+1]<<8|this[y+2]<<16|this[y+3]<<24},a.prototype.readInt32BE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),this[y]<<24|this[y+1]<<16|this[y+2]<<8|this[y+3]},a.prototype.readBigInt64LE=le(function(y){y=y>>>0,A(y,"offset");let h=this[y],c=this[y+7];(h===void 0||c===void 0)&&T(y,this.length-8);let m=this[y+4]+this[y+5]*2**8+this[y+6]*2**16+(c<<24);return(BigInt(m)<>>0,A(y,"offset");let h=this[y],c=this[y+7];(h===void 0||c===void 0)&&T(y,this.length-8);let m=(h<<24)+this[++y]*2**16+this[++y]*2**8+this[++y];return(BigInt(m)<>>0,h||Y(y,4,this.length),t.read(this,y,!0,23,4)},a.prototype.readFloatBE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),t.read(this,y,!1,23,4)},a.prototype.readDoubleLE=function(y,h){return y=y>>>0,h||Y(y,8,this.length),t.read(this,y,!0,52,8)},a.prototype.readDoubleBE=function(y,h){return y=y>>>0,h||Y(y,8,this.length),t.read(this,y,!1,52,8)};function he(y,h,c,m,x,H){if(!a.isBuffer(y))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>x||hy.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(y,h,c,m){if(y=+y,h=h>>>0,c=c>>>0,!m){let se=Math.pow(2,8*c)-1;he(this,y,h,c,se,0)}let x=1,H=0;for(this[h]=y&255;++H>>0,c=c>>>0,!m){let se=Math.pow(2,8*c)-1;he(this,y,h,c,se,0)}let x=c-1,H=1;for(this[h+x]=y&255;--x>=0&&(H*=256);)this[h+x]=y/H&255;return h+c},a.prototype.writeUint8=a.prototype.writeUInt8=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,1,255,0),this[h]=y&255,h+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,2,65535,0),this[h]=y&255,this[h+1]=y>>>8,h+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,2,65535,0),this[h]=y>>>8,this[h+1]=y&255,h+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,4,4294967295,0),this[h+3]=y>>>24,this[h+2]=y>>>16,this[h+1]=y>>>8,this[h]=y&255,h+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,4,4294967295,0),this[h]=y>>>24,this[h+1]=y>>>16,this[h+2]=y>>>8,this[h+3]=y&255,h+4};function N(y,h,c,m,x){ee(h,m,x,y,c,7);let H=Number(h&BigInt(4294967295));y[c++]=H,H=H>>8,y[c++]=H,H=H>>8,y[c++]=H,H=H>>8,y[c++]=H;let se=Number(h>>BigInt(32)&BigInt(4294967295));return y[c++]=se,se=se>>8,y[c++]=se,se=se>>8,y[c++]=se,se=se>>8,y[c++]=se,c}function ne(y,h,c,m,x){ee(h,m,x,y,c,7);let H=Number(h&BigInt(4294967295));y[c+7]=H,H=H>>8,y[c+6]=H,H=H>>8,y[c+5]=H,H=H>>8,y[c+4]=H;let se=Number(h>>BigInt(32)&BigInt(4294967295));return y[c+3]=se,se=se>>8,y[c+2]=se,se=se>>8,y[c+1]=se,se=se>>8,y[c]=se,c+8}a.prototype.writeBigUInt64LE=le(function(y,h=0){return N(this,y,h,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=le(function(y,h=0){return ne(this,y,h,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(y,h,c,m){if(y=+y,h=h>>>0,!m){let _e=Math.pow(2,8*c-1);he(this,y,h,c,_e-1,-_e)}let x=0,H=1,se=0;for(this[h]=y&255;++x>0)-se&255;return h+c},a.prototype.writeIntBE=function(y,h,c,m){if(y=+y,h=h>>>0,!m){let _e=Math.pow(2,8*c-1);he(this,y,h,c,_e-1,-_e)}let x=c-1,H=1,se=0;for(this[h+x]=y&255;--x>=0&&(H*=256);)y<0&&se===0&&this[h+x+1]!==0&&(se=1),this[h+x]=(y/H>>0)-se&255;return h+c},a.prototype.writeInt8=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,1,127,-128),y<0&&(y=255+y+1),this[h]=y&255,h+1},a.prototype.writeInt16LE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,2,32767,-32768),this[h]=y&255,this[h+1]=y>>>8,h+2},a.prototype.writeInt16BE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,2,32767,-32768),this[h]=y>>>8,this[h+1]=y&255,h+2},a.prototype.writeInt32LE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,4,2147483647,-2147483648),this[h]=y&255,this[h+1]=y>>>8,this[h+2]=y>>>16,this[h+3]=y>>>24,h+4},a.prototype.writeInt32BE=function(y,h,c){return y=+y,h=h>>>0,c||he(this,y,h,4,2147483647,-2147483648),y<0&&(y=4294967295+y+1),this[h]=y>>>24,this[h+1]=y>>>16,this[h+2]=y>>>8,this[h+3]=y&255,h+4},a.prototype.writeBigInt64LE=le(function(y,h=0){return N(this,y,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=le(function(y,h=0){return ne(this,y,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ye(y,h,c,m,x,H){if(c+m>y.length)throw new RangeError("Index out of range");if(c<0)throw new RangeError("Index out of range")}function oe(y,h,c,m,x){return h=+h,c=c>>>0,x||ye(y,h,c,4),t.write(y,h,c,m,23,4),c+4}a.prototype.writeFloatLE=function(y,h,c){return oe(this,y,h,!0,c)},a.prototype.writeFloatBE=function(y,h,c){return oe(this,y,h,!1,c)};function Q(y,h,c,m,x){return h=+h,c=c>>>0,x||ye(y,h,c,8),t.write(y,h,c,m,52,8),c+8}a.prototype.writeDoubleLE=function(y,h,c){return Q(this,y,h,!0,c)},a.prototype.writeDoubleBE=function(y,h,c){return Q(this,y,h,!1,c)},a.prototype.copy=function(y,h,c,m){if(!a.isBuffer(y))throw new TypeError("argument should be a Buffer");if(c||(c=0),!m&&m!==0&&(m=this.length),h>=y.length&&(h=y.length),h||(h=0),m>0&&m=this.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("sourceEnd out of bounds");m>this.length&&(m=this.length),y.length-h>>0,c=c===void 0?this.length:c>>>0,y||(y=0);let x;if(typeof y=="number")for(x=h;x2**32?x=W(String(c)):typeof c=="bigint"&&(x=String(c),(c>BigInt(2)**BigInt(32)||c<-(BigInt(2)**BigInt(32)))&&(x=W(x)),x+="n"),m+=` It must be ${h}. Received ${x}`,m},RangeError);function W(y){let h="",c=y.length,m=y[0]==="-"?1:0;for(;c>=m+4;c-=3)h=`_${y.slice(c-3,c)}${h}`;return`${y.slice(0,c)}${h}`}function te(y,h,c){A(h,"offset"),(y[h]===void 0||y[h+c]===void 0)&&T(h,y.length-(c+1))}function ee(y,h,c,m,x,H){if(y>c||y= 0${se} and < 2${se} ** ${(H+1)*8}${se}`:_e=`>= -(2${se} ** ${(H+1)*8-1}${se}) and < 2 ** ${(H+1)*8-1}${se}`,new q.ERR_OUT_OF_RANGE("value",_e,y)}te(m,x,H)}function A(y,h){if(typeof y!="number")throw new q.ERR_INVALID_ARG_TYPE(h,"number",y)}function T(y,h,c){throw Math.floor(y)!==y?(A(y,c),new q.ERR_OUT_OF_RANGE("offset","an integer",y)):h<0?new q.ERR_BUFFER_OUT_OF_BOUNDS:new q.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${h}`,y)}let M=/[^+/0-9A-Za-z-_]/g;function I(y){if(y=y.split("=")[0],y=y.trim().replace(M,""),y.length<2)return"";for(;y.length%4!==0;)y=y+"=";return y}function B(y,h){h=h||1/0;let c,m=y.length,x=null,H=[];for(let se=0;se55295&&c<57344){if(!x){if(c>56319){(h-=3)>-1&&H.push(239,191,189);continue}else if(se+1===m){(h-=3)>-1&&H.push(239,191,189);continue}x=c;continue}if(c<56320){(h-=3)>-1&&H.push(239,191,189),x=c;continue}c=(x-55296<<10|c-56320)+65536}else x&&(h-=3)>-1&&H.push(239,191,189);if(x=null,c<128){if((h-=1)<0)break;H.push(c)}else if(c<2048){if((h-=2)<0)break;H.push(c>>6|192,c&63|128)}else if(c<65536){if((h-=3)<0)break;H.push(c>>12|224,c>>6&63|128,c&63|128)}else if(c<1114112){if((h-=4)<0)break;H.push(c>>18|240,c>>12&63|128,c>>6&63|128,c&63|128)}else throw new Error("Invalid code point")}return H}function U(y){let h=[];for(let c=0;c>8,x=c%256,H.push(x),H.push(m);return H}function j(y){return e.toByteArray(I(y))}function F(y,h,c,m){let x;for(x=0;x=h.length||x>=y.length);++x)h[x+c]=y[x];return x}function K(y,h){return y instanceof h||y!=null&&y.constructor!=null&&y.constructor.name!=null&&y.constructor.name===h.name}function P(y){return y!==y}let J=function(){let y="0123456789abcdef",h=new Array(256);for(let c=0;c<16;++c){let m=c*16;for(let x=0;x<16;++x)h[m+x]=y[c]+y[x]}return h}();function le(y){return typeof BigInt>"u"?me:y}function me(){throw new Error("BigInt not supported")}return fn}var Ni,Uc,Us,Fc,fn,$c,Pr,Pa,Ob,kb,mt=pt(()=>{be(),ve(),we(),Ni={},Uc=!1,Us={},Fc=!1,fn={},$c=!1,Pr=zI(),Pr.Buffer,Pr.SlowBuffer,Pr.INSPECT_MAX_BYTES,Pr.kMaxLength,Pa=Pr.Buffer,Ob=Pr.INSPECT_MAX_BYTES,kb=Pr.kMaxLength}),ve=pt(()=>{mt()}),GI=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=class{constructor(r){this.aliasToTopic={},this.max=r}put(r,n){return n===0||n>this.max?!1:(this.aliasToTopic[n]=r,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(r){return this.aliasToTopic[r]}clear(){this.aliasToTopic={}}};e.default=t}),ut=Ae((e,t)=>{be(),ve(),we(),t.exports={ArrayIsArray(r){return Array.isArray(r)},ArrayPrototypeIncludes(r,n){return r.includes(n)},ArrayPrototypeIndexOf(r,n){return r.indexOf(n)},ArrayPrototypeJoin(r,n){return r.join(n)},ArrayPrototypeMap(r,n){return r.map(n)},ArrayPrototypePop(r,n){return r.pop(n)},ArrayPrototypePush(r,n){return r.push(n)},ArrayPrototypeSlice(r,n,s){return r.slice(n,s)},Error,FunctionPrototypeCall(r,n,...s){return r.call(n,...s)},FunctionPrototypeSymbolHasInstance(r,n){return Function.prototype[Symbol.hasInstance].call(r,n)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(r,n){return Object.defineProperties(r,n)},ObjectDefineProperty(r,n,s){return Object.defineProperty(r,n,s)},ObjectGetOwnPropertyDescriptor(r,n){return Object.getOwnPropertyDescriptor(r,n)},ObjectKeys(r){return Object.keys(r)},ObjectSetPrototypeOf(r,n){return Object.setPrototypeOf(r,n)},Promise,PromisePrototypeCatch(r,n){return r.catch(n)},PromisePrototypeThen(r,n,s){return r.then(n,s)},PromiseReject(r){return Promise.reject(r)},ReflectApply:Reflect.apply,RegExpPrototypeTest(r,n){return r.test(n)},SafeSet:Set,String,StringPrototypeSlice(r,n,s){return r.slice(n,s)},StringPrototypeToLowerCase(r){return r.toLowerCase()},StringPrototypeToUpperCase(r){return r.toUpperCase()},StringPrototypeTrim(r){return r.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(r,n,s){return r.set(n,s)},Uint8Array}}),Gr=Ae((e,t)=>{be(),ve(),we();var r=(mt(),ze(gt)),n=Object.getPrototypeOf(async function(){}).constructor,s=globalThis.Blob||r.Blob,i=typeof s<"u"?function(o){return o instanceof s}:function(o){return!1},a=class extends Error{constructor(o){if(!Array.isArray(o))throw new TypeError(`Expected input to be an Array, got ${typeof o}`);let l="";for(let u=0;u{o=u,l=f}),resolve:o,reject:l}},promisify(o){return new Promise((l,u)=>{o((f,...d)=>f?u(f):l(...d))})},debuglog(){return function(){}},format(o,...l){return o.replace(/%([sdifj])/g,function(...[u,f]){let d=l.shift();return f==="f"?d.toFixed(6):f==="j"?JSON.stringify(d):f==="s"&&typeof d=="object"?`${d.constructor!==Object?d.constructor.name:""} {}`.trim():d.toString()})},inspect(o){switch(typeof o){case"string":if(o.includes("'"))if(o.includes('"')){if(!o.includes("`")&&!o.includes("${"))return`\`${o}\``}else return`"${o}"`;return`'${o}'`;case"number":return isNaN(o)?"NaN":Object.is(o,-0)?String(o):o;case"bigint":return`${String(o)}n`;case"boolean":case"undefined":return String(o);case"object":return"{}"}},types:{isAsyncFunction(o){return o instanceof n},isArrayBufferView(o){return ArrayBuffer.isView(o)}},isBlob:i},t.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),nd=Ae((e,t)=>{be(),ve(),we();var{AbortController:r,AbortSignal:n}=typeof self<"u"?self:typeof window<"u"?window:void 0;t.exports=r,t.exports.AbortSignal=n,t.exports.default=r}),Bt=Ae((e,t)=>{be(),ve(),we();var{format:r,inspect:n,AggregateError:s}=Gr(),i=globalThis.AggregateError||s,a=Symbol("kIsNodeError"),o=["string","function","number","object","Function","Object","boolean","bigint","symbol"],l=/^([A-Z][a-z0-9]*)+$/,u="__node_internal_",f={};function d(S,w){if(!S)throw new f.ERR_INTERNAL_ASSERTION(w)}function p(S){let w="",C=S.length,R=S[0]==="-"?1:0;for(;C>=R+4;C-=3)w=`_${S.slice(C-3,C)}${w}`;return`${S.slice(0,C)}${w}`}function g(S,w,C){if(typeof w=="function")return d(w.length<=C.length,`Code: ${S}; The provided arguments length (${C.length}) does not match the required ones (${w.length}).`),w(...C);let R=(w.match(/%[dfijoOs]/g)||[]).length;return d(R===C.length,`Code: ${S}; The provided arguments length (${C.length}) does not match the required ones (${R}).`),C.length===0?w:r(w,...C)}function _(S,w,C){C||(C=Error);class R extends C{constructor(...D){super(g(S,w,D))}toString(){return`${this.name} [${S}]: ${this.message}`}}Object.defineProperties(R.prototype,{name:{value:C.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${S}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),R.prototype.code=S,R.prototype[a]=!0,f[S]=R}function b(S){let w=u+S.name;return Object.defineProperty(S,"name",{value:w}),S}function E(S,w){if(S&&w&&S!==w){if(Array.isArray(w.errors))return w.errors.push(S),w;let C=new i([w,S],w.message);return C.code=w.code,C}return S||w}var v=class extends Error{constructor(S="The operation was aborted",w=void 0){if(w!==void 0&&typeof w!="object")throw new f.ERR_INVALID_ARG_TYPE("options","Object",w);super(S,w),this.code="ABORT_ERR",this.name="AbortError"}};_("ERR_ASSERTION","%s",Error),_("ERR_INVALID_ARG_TYPE",(S,w,C)=>{d(typeof S=="string","'name' must be a string"),Array.isArray(w)||(w=[w]);let R="The ";S.endsWith(" argument")?R+=`${S} `:R+=`"${S}" ${S.includes(".")?"property":"argument"} `,R+="must be ";let O=[],D=[],V=[];for(let G of w)d(typeof G=="string","All expected entries have to be of type string"),o.includes(G)?O.push(G.toLowerCase()):l.test(G)?D.push(G):(d(G!=="object",'The value "object" should be written as "Object"'),V.push(G));if(D.length>0){let G=O.indexOf("object");G!==-1&&(O.splice(O,G,1),D.push("Object"))}if(O.length>0){switch(O.length){case 1:R+=`of type ${O[0]}`;break;case 2:R+=`one of type ${O[0]} or ${O[1]}`;break;default:{let G=O.pop();R+=`one of type ${O.join(", ")}, or ${G}`}}(D.length>0||V.length>0)&&(R+=" or ")}if(D.length>0){switch(D.length){case 1:R+=`an instance of ${D[0]}`;break;case 2:R+=`an instance of ${D[0]} or ${D[1]}`;break;default:{let G=D.pop();R+=`an instance of ${D.join(", ")}, or ${G}`}}V.length>0&&(R+=" or ")}switch(V.length){case 0:break;case 1:V[0].toLowerCase()!==V[0]&&(R+="an "),R+=`${V[0]}`;break;case 2:R+=`one of ${V[0]} or ${V[1]}`;break;default:{let G=V.pop();R+=`one of ${V.join(", ")}, or ${G}`}}if(C==null)R+=`. Received ${C}`;else if(typeof C=="function"&&C.name)R+=`. Received function ${C.name}`;else if(typeof C=="object"){var re;if((re=C.constructor)!==null&&re!==void 0&&re.name)R+=`. Received an instance of ${C.constructor.name}`;else{let G=n(C,{depth:-1});R+=`. Received ${G}`}}else{let G=n(C,{colors:!1});G.length>25&&(G=`${G.slice(0,25)}...`),R+=`. Received type ${typeof C} (${G})`}return R},TypeError),_("ERR_INVALID_ARG_VALUE",(S,w,C="is invalid")=>{let R=n(w);return R.length>128&&(R=R.slice(0,128)+"..."),`The ${S.includes(".")?"property":"argument"} '${S}' ${C}. Received ${R}`},TypeError),_("ERR_INVALID_RETURN_VALUE",(S,w,C)=>{var R;let O=C!=null&&(R=C.constructor)!==null&&R!==void 0&&R.name?`instance of ${C.constructor.name}`:`type ${typeof C}`;return`Expected ${S} to be returned from the "${w}" function but got ${O}.`},TypeError),_("ERR_MISSING_ARGS",(...S)=>{d(S.length>0,"At least one arg needs to be specified");let w,C=S.length;switch(S=(Array.isArray(S)?S:[S]).map(R=>`"${R}"`).join(" or "),C){case 1:w+=`The ${S[0]} argument`;break;case 2:w+=`The ${S[0]} and ${S[1]} arguments`;break;default:{let R=S.pop();w+=`The ${S.join(", ")}, and ${R} arguments`}break}return`${w} must be specified`},TypeError),_("ERR_OUT_OF_RANGE",(S,w,C)=>{d(w,'Missing "range" argument');let R;return Number.isInteger(C)&&Math.abs(C)>2**32?R=p(String(C)):typeof C=="bigint"?(R=String(C),(C>2n**32n||C<-(2n**32n))&&(R=p(R)),R+="n"):R=n(C),`The value of "${S}" is out of range. It must be ${w}. Received ${R}`},RangeError),_("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),_("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),_("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),_("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),_("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),_("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),_("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),_("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),_("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),_("ERR_STREAM_WRITE_AFTER_END","write after end",Error),_("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),t.exports={AbortError:v,aggregateTwoErrors:b(E),hideStackFrames:b,codes:f}}),_l=Ae((e,t)=>{be(),ve(),we();var{ArrayIsArray:r,ArrayPrototypeIncludes:n,ArrayPrototypeJoin:s,ArrayPrototypeMap:i,NumberIsInteger:a,NumberIsNaN:o,NumberMAX_SAFE_INTEGER:l,NumberMIN_SAFE_INTEGER:u,NumberParseInt:f,ObjectPrototypeHasOwnProperty:d,RegExpPrototypeExec:p,String:g,StringPrototypeToUpperCase:_,StringPrototypeTrim:b}=ut(),{hideStackFrames:E,codes:{ERR_SOCKET_BAD_PORT:v,ERR_INVALID_ARG_TYPE:S,ERR_INVALID_ARG_VALUE:w,ERR_OUT_OF_RANGE:C,ERR_UNKNOWN_SIGNAL:R}}=Bt(),{normalizeEncoding:O}=Gr(),{isAsyncFunction:D,isArrayBufferView:V}=Gr().types,re={};function G(F){return F===(F|0)}function X(F){return F===F>>>0}var L=/^[0-7]+$/,$="must be a 32-bit unsigned integer or an octal string";function ae(F,K,P){if(typeof F>"u"&&(F=P),typeof F=="string"){if(p(L,F)===null)throw new w(K,F,$);F=f(F,8)}return pe(F,K),F}var ce=E((F,K,P=u,J=l)=>{if(typeof F!="number")throw new S(K,"number",F);if(!a(F))throw new C(K,"an integer",F);if(FJ)throw new C(K,`>= ${P} && <= ${J}`,F)}),de=E((F,K,P=-2147483648,J=2147483647)=>{if(typeof F!="number")throw new S(K,"number",F);if(!a(F))throw new C(K,"an integer",F);if(FJ)throw new C(K,`>= ${P} && <= ${J}`,F)}),pe=E((F,K,P=!1)=>{if(typeof F!="number")throw new S(K,"number",F);if(!a(F))throw new C(K,"an integer",F);let J=P?1:0,le=4294967295;if(Fle)throw new C(K,`>= ${J} && <= ${le}`,F)});function z(F,K){if(typeof F!="string")throw new S(K,"string",F)}function ge(F,K,P=void 0,J){if(typeof F!="number")throw new S(K,"number",F);if(P!=null&&FJ||(P!=null||J!=null)&&o(F))throw new C(K,`${P!=null?`>= ${P}`:""}${P!=null&&J!=null?" && ":""}${J!=null?`<= ${J}`:""}`,F)}var Y=E((F,K,P)=>{if(!n(P,F)){let J="must be one of: "+s(i(P,le=>typeof le=="string"?`'${le}'`:g(le)),", ");throw new w(K,F,J)}});function he(F,K){if(typeof F!="boolean")throw new S(K,"boolean",F)}function N(F,K,P){return F==null||!d(F,K)?P:F[K]}var ne=E((F,K,P=null)=>{let J=N(P,"allowArray",!1),le=N(P,"allowFunction",!1);if(!N(P,"nullable",!1)&&F===null||!J&&r(F)||typeof F!="object"&&(!le||typeof F!="function"))throw new S(K,"Object",F)}),ye=E((F,K)=>{if(F!=null&&typeof F!="object"&&typeof F!="function")throw new S(K,"a dictionary",F)}),oe=E((F,K,P=0)=>{if(!r(F))throw new S(K,"Array",F);if(F.length{if(!V(F))throw new S(K,["Buffer","TypedArray","DataView"],F)});function te(F,K){let P=O(K),J=F.length;if(P==="hex"&&J%2!==0)throw new w("encoding",K,`is invalid for data of length ${J}`)}function ee(F,K="Port",P=!0){if(typeof F!="number"&&typeof F!="string"||typeof F=="string"&&b(F).length===0||+F!==+F>>>0||F>65535||F===0&&!P)throw new v(K,F,P);return F|0}var A=E((F,K)=>{if(F!==void 0&&(F===null||typeof F!="object"||!("aborted"in F)))throw new S(K,"AbortSignal",F)}),T=E((F,K)=>{if(typeof F!="function")throw new S(K,"Function",F)}),M=E((F,K)=>{if(typeof F!="function"||D(F))throw new S(K,"Function",F)}),I=E((F,K)=>{if(F!==void 0)throw new S(K,"undefined",F)});function B(F,K,P){if(!n(P,F))throw new S(K,`('${s(P,"|")}')`,F)}var U=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function Z(F,K){if(typeof F>"u"||!p(U,F))throw new w(K,F,'must be an array or string of format "; rel=preload; as=style"')}function j(F){if(typeof F=="string")return Z(F,"hints"),F;if(r(F)){let K=F.length,P="";if(K===0)return P;for(let J=0;J; rel=preload; as=style"')}t.exports={isInt32:G,isUint32:X,parseFileMode:ae,validateArray:oe,validateStringArray:Q,validateBooleanArray:q,validateBoolean:he,validateBuffer:W,validateDictionary:ye,validateEncoding:te,validateFunction:T,validateInt32:de,validateInteger:ce,validateNumber:ge,validateObject:ne,validateOneOf:Y,validatePlainFunction:M,validatePort:ee,validateSignalName:k,validateString:z,validateUint32:pe,validateUndefined:I,validateUnion:B,validateAbortSignal:A,validateLinkHeaderValue:j}}),mi=Ae((e,t)=>{be(),ve(),we();var r=t.exports={},n,s;function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?n=setTimeout:n=i}catch{n=i}try{typeof clearTimeout=="function"?s=clearTimeout:s=a}catch{s=a}})();function o(v){if(n===setTimeout)return setTimeout(v,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(v,0);try{return n(v,0)}catch{try{return n.call(null,v,0)}catch{return n.call(this,v,0)}}}function l(v){if(s===clearTimeout)return clearTimeout(v);if((s===a||!s)&&clearTimeout)return s=clearTimeout,clearTimeout(v);try{return s(v)}catch{try{return s.call(null,v)}catch{return s.call(this,v)}}}var u=[],f=!1,d,p=-1;function g(){!f||!d||(f=!1,d.length?u=d.concat(u):p=-1,u.length&&_())}function _(){if(!f){var v=o(g);f=!0;for(var S=u.length;S;){for(d=u,u=[];++p1)for(var w=1;w{be(),ve(),we();var{Symbol:r,SymbolAsyncIterator:n,SymbolIterator:s,SymbolFor:i}=ut(),a=r("kDestroyed"),o=r("kIsErrored"),l=r("kIsReadable"),u=r("kIsDisturbed"),f=i("nodejs.webstream.isClosedPromise"),d=i("nodejs.webstream.controllerErrorFunction");function p(N,ne=!1){var ye;return!!(N&&typeof N.pipe=="function"&&typeof N.on=="function"&&(!ne||typeof N.pause=="function"&&typeof N.resume=="function")&&(!N._writableState||((ye=N._readableState)===null||ye===void 0?void 0:ye.readable)!==!1)&&(!N._writableState||N._readableState))}function g(N){var ne;return!!(N&&typeof N.write=="function"&&typeof N.on=="function"&&(!N._readableState||((ne=N._writableState)===null||ne===void 0?void 0:ne.writable)!==!1))}function _(N){return!!(N&&typeof N.pipe=="function"&&N._readableState&&typeof N.on=="function"&&typeof N.write=="function")}function b(N){return N&&(N._readableState||N._writableState||typeof N.write=="function"&&typeof N.on=="function"||typeof N.pipe=="function"&&typeof N.on=="function")}function E(N){return!!(N&&!b(N)&&typeof N.pipeThrough=="function"&&typeof N.getReader=="function"&&typeof N.cancel=="function")}function v(N){return!!(N&&!b(N)&&typeof N.getWriter=="function"&&typeof N.abort=="function")}function S(N){return!!(N&&!b(N)&&typeof N.readable=="object"&&typeof N.writable=="object")}function w(N){return E(N)||v(N)||S(N)}function C(N,ne){return N==null?!1:ne===!0?typeof N[n]=="function":ne===!1?typeof N[s]=="function":typeof N[n]=="function"||typeof N[s]=="function"}function R(N){if(!b(N))return null;let ne=N._writableState,ye=N._readableState,oe=ne||ye;return!!(N.destroyed||N[a]||oe!=null&&oe.destroyed)}function O(N){if(!g(N))return null;if(N.writableEnded===!0)return!0;let ne=N._writableState;return ne!=null&&ne.errored?!1:typeof(ne==null?void 0:ne.ended)!="boolean"?null:ne.ended}function D(N,ne){if(!g(N))return null;if(N.writableFinished===!0)return!0;let ye=N._writableState;return ye!=null&&ye.errored?!1:typeof(ye==null?void 0:ye.finished)!="boolean"?null:!!(ye.finished||ne===!1&&ye.ended===!0&&ye.length===0)}function V(N){if(!p(N))return null;if(N.readableEnded===!0)return!0;let ne=N._readableState;return!ne||ne.errored?!1:typeof(ne==null?void 0:ne.ended)!="boolean"?null:ne.ended}function re(N,ne){if(!p(N))return null;let ye=N._readableState;return ye!=null&&ye.errored?!1:typeof(ye==null?void 0:ye.endEmitted)!="boolean"?null:!!(ye.endEmitted||ne===!1&&ye.ended===!0&&ye.length===0)}function G(N){return N&&N[l]!=null?N[l]:typeof(N==null?void 0:N.readable)!="boolean"?null:R(N)?!1:p(N)&&N.readable&&!re(N)}function X(N){return typeof(N==null?void 0:N.writable)!="boolean"?null:R(N)?!1:g(N)&&N.writable&&!O(N)}function L(N,ne){return b(N)?R(N)?!0:!((ne==null?void 0:ne.readable)!==!1&&G(N)||(ne==null?void 0:ne.writable)!==!1&&X(N)):null}function $(N){var ne,ye;return b(N)?N.writableErrored?N.writableErrored:(ne=(ye=N._writableState)===null||ye===void 0?void 0:ye.errored)!==null&&ne!==void 0?ne:null:null}function ae(N){var ne,ye;return b(N)?N.readableErrored?N.readableErrored:(ne=(ye=N._readableState)===null||ye===void 0?void 0:ye.errored)!==null&&ne!==void 0?ne:null:null}function ce(N){if(!b(N))return null;if(typeof N.closed=="boolean")return N.closed;let ne=N._writableState,ye=N._readableState;return typeof(ne==null?void 0:ne.closed)=="boolean"||typeof(ye==null?void 0:ye.closed)=="boolean"?(ne==null?void 0:ne.closed)||(ye==null?void 0:ye.closed):typeof N._closed=="boolean"&&de(N)?N._closed:null}function de(N){return typeof N._closed=="boolean"&&typeof N._defaultKeepAlive=="boolean"&&typeof N._removedConnection=="boolean"&&typeof N._removedContLen=="boolean"}function pe(N){return typeof N._sent100=="boolean"&&de(N)}function z(N){var ne;return typeof N._consuming=="boolean"&&typeof N._dumped=="boolean"&&((ne=N.req)===null||ne===void 0?void 0:ne.upgradeOrConnect)===void 0}function ge(N){if(!b(N))return null;let ne=N._writableState,ye=N._readableState,oe=ne||ye;return!oe&&pe(N)||!!(oe&&oe.autoDestroy&&oe.emitClose&&oe.closed===!1)}function Y(N){var ne;return!!(N&&((ne=N[u])!==null&&ne!==void 0?ne:N.readableDidRead||N.readableAborted))}function he(N){var ne,ye,oe,Q,q,k,W,te,ee,A;return!!(N&&((ne=(ye=(oe=(Q=(q=(k=N[o])!==null&&k!==void 0?k:N.readableErrored)!==null&&q!==void 0?q:N.writableErrored)!==null&&Q!==void 0?Q:(W=N._readableState)===null||W===void 0?void 0:W.errorEmitted)!==null&&oe!==void 0?oe:(te=N._writableState)===null||te===void 0?void 0:te.errorEmitted)!==null&&ye!==void 0?ye:(ee=N._readableState)===null||ee===void 0?void 0:ee.errored)!==null&&ne!==void 0?ne:!((A=N._writableState)===null||A===void 0)&&A.errored))}t.exports={kDestroyed:a,isDisturbed:Y,kIsDisturbed:u,isErrored:he,kIsErrored:o,isReadable:G,kIsReadable:l,kIsClosedPromise:f,kControllerErrorFunction:d,isClosed:ce,isDestroyed:R,isDuplexNodeStream:_,isFinished:L,isIterable:C,isReadableNodeStream:p,isReadableStream:E,isReadableEnded:V,isReadableFinished:re,isReadableErrored:ae,isNodeStream:b,isWebStream:w,isWritable:X,isWritableNodeStream:g,isWritableStream:v,isWritableEnded:O,isWritableFinished:D,isWritableErrored:$,isServerRequest:z,isServerResponse:pe,willEmitClose:ge,isTransformStream:S}}),Rn=Ae((e,t)=>{be(),ve(),we();var r=mi(),{AbortError:n,codes:s}=Bt(),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_PREMATURE_CLOSE:a}=s,{kEmptyObject:o,once:l}=Gr(),{validateAbortSignal:u,validateFunction:f,validateObject:d,validateBoolean:p}=_l(),{Promise:g,PromisePrototypeThen:_}=ut(),{isClosed:b,isReadable:E,isReadableNodeStream:v,isReadableStream:S,isReadableFinished:w,isReadableErrored:C,isWritable:R,isWritableNodeStream:O,isWritableStream:D,isWritableFinished:V,isWritableErrored:re,isNodeStream:G,willEmitClose:X,kIsClosedPromise:L}=sn();function $(z){return z.setHeader&&typeof z.abort=="function"}var ae=()=>{};function ce(z,ge,Y){var he,N;if(arguments.length===2?(Y=ge,ge=o):ge==null?ge=o:d(ge,"options"),f(Y,"callback"),u(ge.signal,"options.signal"),Y=l(Y),S(z)||D(z))return de(z,ge,Y);if(!G(z))throw new i("stream",["ReadableStream","WritableStream","Stream"],z);let ne=(he=ge.readable)!==null&&he!==void 0?he:v(z),ye=(N=ge.writable)!==null&&N!==void 0?N:O(z),oe=z._writableState,Q=z._readableState,q=()=>{z.writable||te()},k=X(z)&&v(z)===ne&&O(z)===ye,W=V(z,!1),te=()=>{W=!0,z.destroyed&&(k=!1),!(k&&(!z.readable||ne))&&(!ne||ee)&&Y.call(z)},ee=w(z,!1),A=()=>{ee=!0,z.destroyed&&(k=!1),!(k&&(!z.writable||ye))&&(!ye||W)&&Y.call(z)},T=j=>{Y.call(z,j)},M=b(z),I=()=>{M=!0;let j=re(z)||C(z);if(j&&typeof j!="boolean")return Y.call(z,j);if(ne&&!ee&&v(z,!0)&&!w(z,!1))return Y.call(z,new a);if(ye&&!W&&!V(z,!1))return Y.call(z,new a);Y.call(z)},B=()=>{M=!0;let j=re(z)||C(z);if(j&&typeof j!="boolean")return Y.call(z,j);Y.call(z)},U=()=>{z.req.on("finish",te)};$(z)?(z.on("complete",te),k||z.on("abort",I),z.req?U():z.on("request",U)):ye&&!oe&&(z.on("end",q),z.on("close",q)),!k&&typeof z.aborted=="boolean"&&z.on("aborted",I),z.on("end",A),z.on("finish",te),ge.error!==!1&&z.on("error",T),z.on("close",I),M?r.nextTick(I):oe!=null&&oe.errorEmitted||Q!=null&&Q.errorEmitted?k||r.nextTick(B):(!ne&&(!k||E(z))&&(W||R(z)===!1)||!ye&&(!k||R(z))&&(ee||E(z)===!1)||Q&&z.req&&z.aborted)&&r.nextTick(B);let Z=()=>{Y=ae,z.removeListener("aborted",I),z.removeListener("complete",te),z.removeListener("abort",I),z.removeListener("request",U),z.req&&z.req.removeListener("finish",te),z.removeListener("end",q),z.removeListener("close",q),z.removeListener("finish",te),z.removeListener("end",A),z.removeListener("error",T),z.removeListener("close",I)};if(ge.signal&&!M){let j=()=>{let F=Y;Z(),F.call(z,new n(void 0,{cause:ge.signal.reason}))};if(ge.signal.aborted)r.nextTick(j);else{let F=Y;Y=l((...K)=>{ge.signal.removeEventListener("abort",j),F.apply(z,K)}),ge.signal.addEventListener("abort",j)}}return Z}function de(z,ge,Y){let he=!1,N=ae;if(ge.signal)if(N=()=>{he=!0,Y.call(z,new n(void 0,{cause:ge.signal.reason}))},ge.signal.aborted)r.nextTick(N);else{let ye=Y;Y=l((...oe)=>{ge.signal.removeEventListener("abort",N),ye.apply(z,oe)}),ge.signal.addEventListener("abort",N)}let ne=(...ye)=>{he||r.nextTick(()=>Y.apply(z,ye))};return _(z[L].promise,ne,ne),ae}function pe(z,ge){var Y;let he=!1;return ge===null&&(ge=o),(Y=ge)!==null&&Y!==void 0&&Y.cleanup&&(p(ge.cleanup,"cleanup"),he=ge.cleanup),new g((N,ne)=>{let ye=ce(z,ge,oe=>{he&&ye(),oe?ne(oe):N()})})}t.exports=ce,t.exports.finished=pe}),hs=Ae((e,t)=>{be(),ve(),we();var r=mi(),{aggregateTwoErrors:n,codes:{ERR_MULTIPLE_CALLBACK:s},AbortError:i}=Bt(),{Symbol:a}=ut(),{kDestroyed:o,isDestroyed:l,isFinished:u,isServerRequest:f}=sn(),d=a("kDestroy"),p=a("kConstruct");function g(L,$,ae){L&&(L.stack,$&&!$.errored&&($.errored=L),ae&&!ae.errored&&(ae.errored=L))}function _(L,$){let ae=this._readableState,ce=this._writableState,de=ce||ae;return ce!=null&&ce.destroyed||ae!=null&&ae.destroyed?(typeof $=="function"&&$(),this):(g(L,ce,ae),ce&&(ce.destroyed=!0),ae&&(ae.destroyed=!0),de.constructed?b(this,L,$):this.once(d,function(pe){b(this,n(pe,L),$)}),this)}function b(L,$,ae){let ce=!1;function de(pe){if(ce)return;ce=!0;let z=L._readableState,ge=L._writableState;g(pe,ge,z),ge&&(ge.closed=!0),z&&(z.closed=!0),typeof ae=="function"&&ae(pe),pe?r.nextTick(E,L,pe):r.nextTick(v,L)}try{L._destroy($||null,de)}catch(pe){de(pe)}}function E(L,$){S(L,$),v(L)}function v(L){let $=L._readableState,ae=L._writableState;ae&&(ae.closeEmitted=!0),$&&($.closeEmitted=!0),(ae!=null&&ae.emitClose||$!=null&&$.emitClose)&&L.emit("close")}function S(L,$){let ae=L._readableState,ce=L._writableState;ce!=null&&ce.errorEmitted||ae!=null&&ae.errorEmitted||(ce&&(ce.errorEmitted=!0),ae&&(ae.errorEmitted=!0),L.emit("error",$))}function w(){let L=this._readableState,$=this._writableState;L&&(L.constructed=!0,L.closed=!1,L.closeEmitted=!1,L.destroyed=!1,L.errored=null,L.errorEmitted=!1,L.reading=!1,L.ended=L.readable===!1,L.endEmitted=L.readable===!1),$&&($.constructed=!0,$.destroyed=!1,$.closed=!1,$.closeEmitted=!1,$.errored=null,$.errorEmitted=!1,$.finalCalled=!1,$.prefinished=!1,$.ended=$.writable===!1,$.ending=$.writable===!1,$.finished=$.writable===!1)}function C(L,$,ae){let ce=L._readableState,de=L._writableState;if(de!=null&&de.destroyed||ce!=null&&ce.destroyed)return this;ce!=null&&ce.autoDestroy||de!=null&&de.autoDestroy?L.destroy($):$&&($.stack,de&&!de.errored&&(de.errored=$),ce&&!ce.errored&&(ce.errored=$),ae?r.nextTick(S,L,$):S(L,$))}function R(L,$){if(typeof L._construct!="function")return;let ae=L._readableState,ce=L._writableState;ae&&(ae.constructed=!1),ce&&(ce.constructed=!1),L.once(p,$),!(L.listenerCount(p)>1)&&r.nextTick(O,L)}function O(L){let $=!1;function ae(ce){if($){C(L,ce??new s);return}$=!0;let de=L._readableState,pe=L._writableState,z=pe||de;de&&(de.constructed=!0),pe&&(pe.constructed=!0),z.destroyed?L.emit(d,ce):ce?C(L,ce,!0):r.nextTick(D,L)}try{L._construct(ce=>{r.nextTick(ae,ce)})}catch(ce){r.nextTick(ae,ce)}}function D(L){L.emit(p)}function V(L){return(L==null?void 0:L.setHeader)&&typeof L.abort=="function"}function re(L){L.emit("close")}function G(L,$){L.emit("error",$),r.nextTick(re,L)}function X(L,$){!L||l(L)||(!$&&!u(L)&&($=new i),f(L)?(L.socket=null,L.destroy($)):V(L)?L.abort():V(L.req)?L.req.abort():typeof L.destroy=="function"?L.destroy($):typeof L.close=="function"?L.close():$?r.nextTick(G,L,$):r.nextTick(re,L),L.destroyed||(L[o]=!0))}t.exports={construct:R,destroyer:X,destroy:_,undestroy:w,errorOrDestroy:C}});function Ke(){Ke.init.call(this)}function la(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function Mb(e){return e._maxListeners===void 0?Ke.defaultMaxListeners:e._maxListeners}function Yp(e,t,r,n){var s,i,a,o;if(la(r),(i=e._events)===void 0?(i=e._events=Object.create(null),e._eventsCount=0):(i.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),a===void 0)a=i[t]=r,++e._eventsCount;else if(typeof a=="function"?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(s=Mb(e))>0&&a.length>s&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,o=l,console&&console.warn&&console.warn(o)}return e}function QI(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function zp(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=QI.bind(n);return s.listener=r,n.wrapFn=s,s}function Gp(e,t,r){var n=e._events;if(n===void 0)return[];var s=n[t];return s===void 0?[]:typeof s=="function"?r?[s.listener||s]:[s]:r?function(i){for(var a=new Array(i.length),o=0;o{be(),ve(),we(),Ln=typeof Reflect=="object"?Reflect:null,cu=Ln&&typeof Ln.apply=="function"?Ln.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)},Jp=Ln&&typeof Ln.ownKeys=="function"?Ln.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)},hu=Number.isNaN||function(e){return e!=e},Xp=Ke,Ke.EventEmitter=Ke,Ke.prototype._events=void 0,Ke.prototype._eventsCount=0,Ke.prototype._maxListeners=void 0,du=10,Object.defineProperty(Ke,"defaultMaxListeners",{enumerable:!0,get:function(){return du},set:function(e){if(typeof e!="number"||e<0||hu(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");du=e}}),Ke.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Ke.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||hu(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},Ke.prototype.getMaxListeners=function(){return Mb(this)},Ke.prototype.emit=function(e){for(var t=[],r=1;r0&&(i=t[0]),i instanceof Error)throw i;var a=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw a.context=i,a}var o=s[e];if(o===void 0)return!1;if(typeof o=="function")cu(o,this,t);else{var l=o.length,u=Nb(o,l);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,s=i;break}if(s<0)return this;s===0?r.shift():function(o,l){for(;l+1=0;n--)this.removeListener(e,t[n]);return this},Ke.prototype.listeners=function(e){return Gp(this,e,!0)},Ke.prototype.rawListeners=function(e){return Gp(this,e,!1)},Ke.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Qp.call(e,t)},Ke.prototype.listenerCount=Qp,Ke.prototype.eventNames=function(){return this._eventsCount>0?Jp(this._events):[]},jt=Xp,jt.EventEmitter,jt.defaultMaxListeners,jt.init,jt.listenerCount,jt.EventEmitter,jt.defaultMaxListeners,jt.init,jt.listenerCount}),yi={};gi(yi,{EventEmitter:()=>Pb,default:()=>jt,defaultMaxListeners:()=>Lb,init:()=>Bb,listenerCount:()=>Db,on:()=>Ub,once:()=>Fb});var Pb,Lb,Bb,Db,Ub,Fb,ds=pt(()=>{be(),ve(),we(),Zp(),Zp(),jt.once=function(e,t){return new Promise((r,n)=>{function s(...a){i!==void 0&&e.removeListener("error",i),r(a)}let i;t!=="error"&&(i=a=>{e.removeListener(name,s),n(a)},e.once("error",i)),e.once(t,s)})},jt.on=function(e,t){let r=[],n=[],s=null,i=!1,a={async next(){let u=r.shift();if(u)return createIterResult(u,!1);if(s){let f=Promise.reject(s);return s=null,f}return i?createIterResult(void 0,!0):new Promise((f,d)=>n.push({resolve:f,reject:d}))},async return(){e.removeListener(t,o),e.removeListener("error",l),i=!0;for(let u of n)u.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(u){s=u,e.removeListener(t,o),e.removeListener("error",l)},[Symbol.asyncIterator](){return this}};return e.on(t,o),e.on("error",l),a;function o(...u){let f=n.shift();f?f.resolve(createIterResult(u,!1)):r.push(u)}function l(u){i=!0;let f=n.shift();f?f.reject(u):s=u,a.return()}},{EventEmitter:Pb,defaultMaxListeners:Lb,init:Bb,listenerCount:Db,on:Ub,once:Fb}=jt}),id=Ae((e,t)=>{be(),ve(),we();var{ArrayIsArray:r,ObjectSetPrototypeOf:n}=ut(),{EventEmitter:s}=(ds(),ze(yi));function i(o){s.call(this,o)}n(i.prototype,s.prototype),n(i,s),i.prototype.pipe=function(o,l){let u=this;function f(v){o.writable&&o.write(v)===!1&&u.pause&&u.pause()}u.on("data",f);function d(){u.readable&&u.resume&&u.resume()}o.on("drain",d),!o._isStdio&&(!l||l.end!==!1)&&(u.on("end",g),u.on("close",_));let p=!1;function g(){p||(p=!0,o.end())}function _(){p||(p=!0,typeof o.destroy=="function"&&o.destroy())}function b(v){E(),s.listenerCount(this,"error")===0&&this.emit("error",v)}a(u,"error",b),a(o,"error",b);function E(){u.removeListener("data",f),o.removeListener("drain",d),u.removeListener("end",g),u.removeListener("close",_),u.removeListener("error",b),o.removeListener("error",b),u.removeListener("end",E),u.removeListener("close",E),o.removeListener("close",E)}return u.on("end",E),u.on("close",E),o.on("close",E),o.emit("pipe",u),o};function a(o,l,u){if(typeof o.prependListener=="function")return o.prependListener(l,u);!o._events||!o._events[l]?o.on(l,u):r(o._events[l])?o._events[l].unshift(u):o._events[l]=[u,o._events[l]]}t.exports={Stream:i,prependListener:a}}),bl=Ae((e,t)=>{be(),ve(),we();var{AbortError:r,codes:n}=Bt(),{isNodeStream:s,isWebStream:i,kControllerErrorFunction:a}=sn(),o=Rn(),{ERR_INVALID_ARG_TYPE:l}=n,u=(f,d)=>{if(typeof f!="object"||!("aborted"in f))throw new l(d,"AbortSignal",f)};t.exports.addAbortSignal=function(f,d){if(u(f,"signal"),!s(d)&&!i(d))throw new l("stream",["ReadableStream","WritableStream","Stream"],d);return t.exports.addAbortSignalNoValidate(f,d)},t.exports.addAbortSignalNoValidate=function(f,d){if(typeof f!="object"||!("aborted"in f))return d;let p=s(d)?()=>{d.destroy(new r(void 0,{cause:f.reason}))}:()=>{d[a](new r(void 0,{cause:f.reason}))};return f.aborted?p():(f.addEventListener("abort",p),o(d,()=>f.removeEventListener("abort",p))),d}}),XI=Ae((e,t)=>{be(),ve(),we();var{StringPrototypeSlice:r,SymbolIterator:n,TypedArrayPrototypeSet:s,Uint8Array:i}=ut(),{Buffer:a}=(mt(),ze(gt)),{inspect:o}=Gr();t.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(l){let u={data:l,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length}unshift(l){let u={data:l,next:this.head};this.length===0&&(this.tail=u),this.head=u,++this.length}shift(){if(this.length===0)return;let l=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,l}clear(){this.head=this.tail=null,this.length=0}join(l){if(this.length===0)return"";let u=this.head,f=""+u.data;for(;(u=u.next)!==null;)f+=l+u.data;return f}concat(l){if(this.length===0)return a.alloc(0);let u=a.allocUnsafe(l>>>0),f=this.head,d=0;for(;f;)s(u,f.data,d),d+=f.data.length,f=f.next;return u}consume(l,u){let f=this.head.data;if(lp.length)u+=p,l-=p.length;else{l===p.length?(u+=p,++d,f.next?this.head=f.next:this.head=this.tail=null):(u+=r(p,0,l),this.head=f,f.data=r(p,l));break}++d}while((f=f.next)!==null);return this.length-=d,u}_getBuffer(l){let u=a.allocUnsafe(l),f=l,d=this.head,p=0;do{let g=d.data;if(l>g.length)s(u,g,f-l),l-=g.length;else{l===g.length?(s(u,g,f-l),++p,d.next?this.head=d.next:this.head=this.tail=null):(s(u,new i(g.buffer,g.byteOffset,l),f-l),this.head=d,d.data=g.slice(l));break}++p}while((d=d.next)!==null);return this.length-=p,u}[Symbol.for("nodejs.util.inspect.custom")](l,u){return o(this,{...u,depth:0,customInspect:!1})}}}),sd=Ae((e,t)=>{be(),ve(),we();var{MathFloor:r,NumberIsInteger:n}=ut(),{ERR_INVALID_ARG_VALUE:s}=Bt().codes;function i(l,u,f){return l.highWaterMark!=null?l.highWaterMark:u?l[f]:null}function a(l){return l?16:16*1024}function o(l,u,f,d){let p=i(u,d,f);if(p!=null){if(!n(p)||p<0){let g=d?`options.${f}`:"options.highWaterMark";throw new s(g,p)}return r(p)}return a(l.objectMode)}t.exports={getHighWaterMark:o,getDefaultHighWaterMark:a}});function eg(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return r===-1&&(r=t),[r,r===t?0:4-r%4]}function JI(e,t,r){for(var n,s,i=[],a=t;a>18&63]+or[s>>12&63]+or[s>>6&63]+or[63&s]);return i.join("")}function jr(e){if(e>2147483647)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,Ee.prototype),t}function Ee(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return jc(e)}return $b(e,t,r)}function $b(e,t,r){if(typeof e=="string")return function(i,a){if(typeof a=="string"&&a!==""||(a="utf8"),!Ee.isEncoding(a))throw new TypeError("Unknown encoding: "+a);var o=0|Wb(i,a),l=jr(o),u=l.write(i,a);return u!==o&&(l=l.slice(0,u)),l}(e,t);if(ArrayBuffer.isView(e))return pu(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Wr(e,ArrayBuffer)||e&&Wr(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Wr(e,SharedArrayBuffer)||e&&Wr(e.buffer,SharedArrayBuffer)))return ZI(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return Ee.from(n,t,r);var s=function(i){if(Ee.isBuffer(i)){var a=0|od(i.length),o=jr(a);return o.length===0||i.copy(o,0,0,a),o}if(i.length!==void 0)return typeof i.length!="number"||ad(i.length)?jr(0):pu(i);if(i.type==="Buffer"&&Array.isArray(i.data))return pu(i.data)}(e);if(s)return s;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return Ee.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function jb(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function jc(e){return jb(e),jr(e<0?0:0|od(e))}function pu(e){for(var t=e.length<0?0:0|od(e.length),r=jr(t),n=0;n=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function Wb(e,t){if(Ee.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Wr(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;for(var s=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Wc(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Kb(e).length;default:if(s)return n?-1:Wc(e).length;t=(""+t).toLowerCase(),s=!0}}function eC(e,t,r){var n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return uC(this,t,r);case"utf8":case"utf-8":return Vb(this,t,r);case"ascii":return aC(this,t,r);case"latin1":case"binary":return lC(this,t,r);case"base64":return oC(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fC(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function Bn(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function tg(e,t,r,n,s){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),ad(r=+r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if(typeof t=="string"&&(t=Ee.from(t,n)),Ee.isBuffer(t))return t.length===0?-1:rg(e,t,r,n,s);if(typeof t=="number")return t&=255,typeof Uint8Array.prototype.indexOf=="function"?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):rg(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function rg(e,t,r,n,s){var i,a=1,o=e.length,l=t.length;if(n!==void 0&&((n=String(n).toLowerCase())==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,l/=2,r/=2}function u(g,_){return a===1?g[_]:g.readUInt16BE(_*a)}if(s){var f=-1;for(i=r;io&&(r=o-l),i=r;i>=0;i--){for(var d=!0,p=0;ps&&(n=s):n=s;var i=t.length;n>i/2&&(n=i/2);for(var a=0;a>8,l=a%256,u.push(l),u.push(o);return u}(t,e.length-r),e,r,n)}function oC(e,t,r){return t===0&&r===e.length?La.fromByteArray(e):La.fromByteArray(e.slice(t,r))}function Vb(e,t,r){r=Math.min(e.length,r);for(var n=[],s=t;s239?4:u>223?3:u>191?2:1;if(s+d<=r)switch(d){case 1:u<128&&(f=u);break;case 2:(192&(i=e[s+1]))==128&&(l=(31&u)<<6|63&i)>127&&(f=l);break;case 3:i=e[s+1],a=e[s+2],(192&i)==128&&(192&a)==128&&(l=(15&u)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(f=l);break;case 4:i=e[s+1],a=e[s+2],o=e[s+3],(192&i)==128&&(192&a)==128&&(192&o)==128&&(l=(15&u)<<18|(63&i)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(f=l)}f===null?(f=65533,d=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),s+=d}return function(p){var g=p.length;if(g<=4096)return String.fromCharCode.apply(String,p);for(var _="",b=0;bn)&&(r=n);for(var s="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function kt(e,t,r,n,s,i){if(!Ee.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function qb(e,t,r,n,s,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ng(e,t,r,n,s){return t=+t,r>>>=0,s||qb(e,0,r,4),Kn.write(e,t,r,n,23,4),r+4}function ig(e,t,r,n,s){return t=+t,r>>>=0,s||qb(e,0,r,8),Kn.write(e,t,r,n,52,8),r+8}function Wc(e,t){var r;t=t||1/0;for(var n=e.length,s=null,i=[],a=0;a55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),s=r;continue}r=65536+(s-55296<<10|r-56320)}else s&&(t-=3)>-1&&i.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function Kb(e){return La.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Yb,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(e))}function wl(e,t,r,n){for(var s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}function Wr(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function ad(e){return e!=e}function sg(e,t){for(var r in e)t[r]=e[r]}function Dn(e,t,r){return ir(e,t,r)}function As(e){var t;switch(this.encoding=function(r){var n=function(s){if(!s)return"utf8";for(var i;;)switch(s){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return s;default:if(i)return;s=(""+s).toLowerCase(),i=!0}}(r);if(typeof n!="string"&&(Ba.isEncoding===Hc||!Hc(r)))throw new Error("Unknown encoding: "+r);return n||r}(e),this.encoding){case"utf16le":this.text=hC,this.end=dC,t=4;break;case"utf8":this.fillLast=cC,t=4;break;case"base64":this.text=pC,this.end=gC,t=3;break;default:return this.write=mC,this.end=yC,void 0}this.lastNeed=0,this.lastTotal=0,this.lastChar=Ba.allocUnsafe(t)}function gu(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function cC(e){var t=this.lastTotal-this.lastNeed,r=function(n,s,i){if((192&s[0])!=128)return n.lastNeed=0,"�";if(n.lastNeed>1&&s.length>1){if((192&s[1])!=128)return n.lastNeed=1,"�";if(n.lastNeed>2&&s.length>2&&(192&s[2])!=128)return n.lastNeed=2,"�"}}(this,e);return r!==void 0?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length,void 0)}function hC(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function dC(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function pC(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function gC(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function mC(e){return e.toString(this.encoding)}function yC(e){return e&&e.length?this.write(e):""}var og,or,Dt,ag,Po,Un,lg,ug,pr,La,Kn,mu,Yb,zb,Ts,xs,ir,fg,Bi,Ba,Hc,cg=pt(()=>{for(be(),ve(),we(),og={byteLength:function(e){var t=eg(e),r=t[0],n=t[1];return 3*(r+n)/4-n},toByteArray:function(e){var t,r,n=eg(e),s=n[0],i=n[1],a=new ag(function(u,f,d){return 3*(f+d)/4-d}(0,s,i)),o=0,l=i>0?s-4:s;for(r=0;r>16&255,a[o++]=t>>8&255,a[o++]=255&t;return i===2&&(t=Dt[e.charCodeAt(r)]<<2|Dt[e.charCodeAt(r+1)]>>4,a[o++]=255&t),i===1&&(t=Dt[e.charCodeAt(r)]<<10|Dt[e.charCodeAt(r+1)]<<4|Dt[e.charCodeAt(r+2)]>>2,a[o++]=t>>8&255,a[o++]=255&t),a},fromByteArray:function(e){for(var t,r=e.length,n=r%3,s=[],i=0,a=r-n;ia?a:i+16383));return n===1?(t=e[r-1],s.push(or[t>>2]+or[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],s.push(or[t>>10]+or[t>>4&63]+or[t<<2&63]+"=")),s.join("")}},or=[],Dt=[],ag=typeof Uint8Array<"u"?Uint8Array:Array,Po="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Un=0,lg=Po.length;Un>1,f=-7,d=r?s-1:0,p=r?-1:1,g=e[t+d];for(d+=p,i=g&(1<<-f)-1,g>>=-f,f+=o;f>0;i=256*i+e[t+d],d+=p,f-=8);for(a=i&(1<<-f)-1,i>>=-f,f+=n;f>0;a=256*a+e[t+d],d+=p,f-=8);if(i===0)i=1-u;else{if(i===l)return a?NaN:1/0*(g?-1:1);a+=Math.pow(2,n),i-=u}return(g?-1:1)*a*Math.pow(2,i-n)},write:function(e,t,r,n,s,i){var a,o,l,u=8*i-s-1,f=(1<>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:i-1,_=n?1:-1,b=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+d>=1?p/l:p*Math.pow(2,1-d))*l>=2&&(a++,l/=2),a+d>=f?(o=0,a=f):a+d>=1?(o=(t*l-1)*Math.pow(2,s),a+=d):(o=t*Math.pow(2,d-1)*Math.pow(2,s),a=0));s>=8;e[r+g]=255&o,g+=_,o/=256,s-=8);for(a=a<0;e[r+g]=255&a,g+=_,a/=256,u-=8);e[r+g-_]|=128*b}},pr={},La=og,Kn=ug,mu=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null,pr.Buffer=Ee,pr.SlowBuffer=function(e){return+e!=e&&(e=0),Ee.alloc(+e)},pr.INSPECT_MAX_BYTES=50,pr.kMaxLength=2147483647,Ee.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}(),Ee.TYPED_ARRAY_SUPPORT||typeof console>"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Ee.prototype,"parent",{enumerable:!0,get:function(){if(Ee.isBuffer(this))return this.buffer}}),Object.defineProperty(Ee.prototype,"offset",{enumerable:!0,get:function(){if(Ee.isBuffer(this))return this.byteOffset}}),Ee.poolSize=8192,Ee.from=function(e,t,r){return $b(e,t,r)},Object.setPrototypeOf(Ee.prototype,Uint8Array.prototype),Object.setPrototypeOf(Ee,Uint8Array),Ee.alloc=function(e,t,r){return function(n,s,i){return jb(n),n<=0?jr(n):s!==void 0?typeof i=="string"?jr(n).fill(s,i):jr(n).fill(s):jr(n)}(e,t,r)},Ee.allocUnsafe=function(e){return jc(e)},Ee.allocUnsafeSlow=function(e){return jc(e)},Ee.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==Ee.prototype},Ee.compare=function(e,t){if(Wr(e,Uint8Array)&&(e=Ee.from(e,e.offset,e.byteLength)),Wr(t,Uint8Array)&&(t=Ee.from(t,t.offset,t.byteLength)),!Ee.isBuffer(e)||!Ee.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,s=0,i=Math.min(r,n);st&&(e+=" ... "),""},mu&&(Ee.prototype[mu]=Ee.prototype.inspect),Ee.prototype.compare=function(e,t,r,n,s){if(Wr(e,Uint8Array)&&(e=Ee.from(e,e.offset,e.byteLength)),!Ee.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(s>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),o=Math.min(i,a),l=this.slice(n,s),u=e.slice(t,r),f=0;f>>=0,isFinite(r)?(r>>>=0,n===void 0&&(n="utf8")):(n=r,r=void 0)}var s=this.length-t;if((r===void 0||r>s)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return tC(this,e,t,r);case"utf8":case"utf-8":return rC(this,e,t,r);case"ascii":return Hb(this,e,t,r);case"latin1":case"binary":return nC(this,e,t,r);case"base64":return iC(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return sC(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Ee.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},Ee.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=t===void 0?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||ct(e,t,this.length);for(var n=this[e],s=1,i=0;++i>>=0,t>>>=0,r||ct(e,t,this.length);for(var n=this[e+--t],s=1;t>0&&(s*=256);)n+=this[e+--t]*s;return n},Ee.prototype.readUInt8=function(e,t){return e>>>=0,t||ct(e,1,this.length),this[e]},Ee.prototype.readUInt16LE=function(e,t){return e>>>=0,t||ct(e,2,this.length),this[e]|this[e+1]<<8},Ee.prototype.readUInt16BE=function(e,t){return e>>>=0,t||ct(e,2,this.length),this[e]<<8|this[e+1]},Ee.prototype.readUInt32LE=function(e,t){return e>>>=0,t||ct(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ee.prototype.readUInt32BE=function(e,t){return e>>>=0,t||ct(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ee.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||ct(e,t,this.length);for(var n=this[e],s=1,i=0;++i=(s*=128)&&(n-=Math.pow(2,8*t)),n},Ee.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||ct(e,t,this.length);for(var n=t,s=1,i=this[e+--n];n>0&&(s*=256);)i+=this[e+--n]*s;return i>=(s*=128)&&(i-=Math.pow(2,8*t)),i},Ee.prototype.readInt8=function(e,t){return e>>>=0,t||ct(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ee.prototype.readInt16LE=function(e,t){e>>>=0,t||ct(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Ee.prototype.readInt16BE=function(e,t){e>>>=0,t||ct(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Ee.prototype.readInt32LE=function(e,t){return e>>>=0,t||ct(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ee.prototype.readInt32BE=function(e,t){return e>>>=0,t||ct(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ee.prototype.readFloatLE=function(e,t){return e>>>=0,t||ct(e,4,this.length),Kn.read(this,e,!0,23,4)},Ee.prototype.readFloatBE=function(e,t){return e>>>=0,t||ct(e,4,this.length),Kn.read(this,e,!1,23,4)},Ee.prototype.readDoubleLE=function(e,t){return e>>>=0,t||ct(e,8,this.length),Kn.read(this,e,!0,52,8)},Ee.prototype.readDoubleBE=function(e,t){return e>>>=0,t||ct(e,8,this.length),Kn.read(this,e,!1,52,8)},Ee.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||kt(this,e,t,r,Math.pow(2,8*r)-1,0);var s=1,i=0;for(this[t]=255&e;++i>>=0,r>>>=0,n||kt(this,e,t,r,Math.pow(2,8*r)-1,0);var s=r-1,i=1;for(this[t+s]=255&e;--s>=0&&(i*=256);)this[t+s]=e/i&255;return t+r},Ee.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,1,255,0),this[t]=255&e,t+1},Ee.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Ee.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Ee.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Ee.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Ee.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var s=Math.pow(2,8*r-1);kt(this,e,t,r,s-1,-s)}var i=0,a=1,o=0;for(this[t]=255&e;++i>0)-o&255;return t+r},Ee.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var s=Math.pow(2,8*r-1);kt(this,e,t,r,s-1,-s)}var i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&o===0&&this[t+i+1]!==0&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+r},Ee.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ee.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Ee.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Ee.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Ee.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Ee.prototype.writeFloatLE=function(e,t,r){return ng(this,e,t,!0,r)},Ee.prototype.writeFloatBE=function(e,t,r){return ng(this,e,t,!1,r)},Ee.prototype.writeDoubleLE=function(e,t,r){return ig(this,e,t,!0,r)},Ee.prototype.writeDoubleBE=function(e,t,r){return ig(this,e,t,!1,r)},Ee.prototype.copy=function(e,t,r,n){if(!Ee.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||n===0||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return s},Ee.prototype.fill=function(e,t,r,n){if(typeof e=="string"){if(typeof t=="string"?(n=t,t=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!Ee.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(e.length===1){var s=e.charCodeAt(0);(n==="utf8"&&s<128||n==="latin1")&&(e=s)}}else typeof e=="number"?e&=255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length>>=0,r=r===void 0?this.length:r>>>0,e||(e=0),typeof e=="number")for(i=t;i=0?(l>0&&(s.lastNeed=l-1),l):--o=0?(l>0&&(s.lastNeed=l-2),l):--o=0?(l>0&&(l===2?l=0:s.lastNeed=l-3),l):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},As.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length},Bi.StringDecoder,Bi.StringDecoder}),Gb={};gi(Gb,{StringDecoder:()=>Qb,default:()=>Bi});var Qb,_C=pt(()=>{be(),ve(),we(),cg(),cg(),Qb=Bi.StringDecoder}),Xb=Ae((e,t)=>{be(),ve(),we();var r=mi(),{PromisePrototypeThen:n,SymbolAsyncIterator:s,SymbolIterator:i}=ut(),{Buffer:a}=(mt(),ze(gt)),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_NULL_VALUES:l}=Bt().codes;function u(f,d,p){let g;if(typeof d=="string"||d instanceof a)return new f({objectMode:!0,...p,read(){this.push(d),this.push(null)}});let _;if(d&&d[s])_=!0,g=d[s]();else if(d&&d[i])_=!1,g=d[i]();else throw new o("iterable",["Iterable"],d);let b=new f({objectMode:!0,highWaterMark:1,...p}),E=!1;b._read=function(){E||(E=!0,S())},b._destroy=function(w,C){n(v(w),()=>r.nextTick(C,w),R=>r.nextTick(C,R||w))};async function v(w){let C=w!=null,R=typeof g.throw=="function";if(C&&R){let{value:O,done:D}=await g.throw(w);if(await O,D)return}if(typeof g.return=="function"){let{value:O}=await g.return();await O}}async function S(){for(;;){try{let{value:w,done:C}=_?await g.next():g.next();if(C)b.push(null);else{let R=w&&typeof w.then=="function"?await w:w;if(R===null)throw E=!1,new l;if(b.push(R))continue;E=!1}}catch(w){b.destroy(w)}break}}return b}t.exports=u}),vl=Ae((e,t)=>{be(),ve(),we();var r=mi(),{ArrayPrototypeIndexOf:n,NumberIsInteger:s,NumberIsNaN:i,NumberParseInt:a,ObjectDefineProperties:o,ObjectKeys:l,ObjectSetPrototypeOf:u,Promise:f,SafeSet:d,SymbolAsyncIterator:p,Symbol:g}=ut();t.exports=N,N.ReadableState=he;var{EventEmitter:_}=(ds(),ze(yi)),{Stream:b,prependListener:E}=id(),{Buffer:v}=(mt(),ze(gt)),{addAbortSignal:S}=bl(),w=Rn(),C=Gr().debuglog("stream",h=>{C=h}),R=XI(),O=hs(),{getHighWaterMark:D,getDefaultHighWaterMark:V}=sd(),{aggregateTwoErrors:re,codes:{ERR_INVALID_ARG_TYPE:G,ERR_METHOD_NOT_IMPLEMENTED:X,ERR_OUT_OF_RANGE:L,ERR_STREAM_PUSH_AFTER_EOF:$,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:ae}}=Bt(),{validateObject:ce}=_l(),de=g("kPaused"),{StringDecoder:pe}=(_C(),ze(Gb)),z=Xb();u(N.prototype,b.prototype),u(N,b);var ge=()=>{},{errorOrDestroy:Y}=O;function he(h,c,m){typeof m!="boolean"&&(m=c instanceof Qr()),this.objectMode=!!(h&&h.objectMode),m&&(this.objectMode=this.objectMode||!!(h&&h.readableObjectMode)),this.highWaterMark=h?D(this,h,"readableHighWaterMark",m):V(!1),this.buffer=new R,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[de]=null,this.errorEmitted=!1,this.emitClose=!h||h.emitClose!==!1,this.autoDestroy=!h||h.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=h&&h.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,h&&h.encoding&&(this.decoder=new pe(h.encoding),this.encoding=h.encoding)}function N(h){if(!(this instanceof N))return new N(h);let c=this instanceof Qr();this._readableState=new he(h,this,c),h&&(typeof h.read=="function"&&(this._read=h.read),typeof h.destroy=="function"&&(this._destroy=h.destroy),typeof h.construct=="function"&&(this._construct=h.construct),h.signal&&!c&&S(h.signal,this)),b.call(this,h),O.construct(this,()=>{this._readableState.needReadable&&ee(this,this._readableState)})}N.prototype.destroy=O.destroy,N.prototype._undestroy=O.undestroy,N.prototype._destroy=function(h,c){c(h)},N.prototype[_.captureRejectionSymbol]=function(h){this.destroy(h)},N.prototype.push=function(h,c){return ne(this,h,c,!1)},N.prototype.unshift=function(h,c){return ne(this,h,c,!0)};function ne(h,c,m,x){C("readableAddChunk",c);let H=h._readableState,se;if(H.objectMode||(typeof c=="string"?(m=m||H.defaultEncoding,H.encoding!==m&&(x&&H.encoding?c=v.from(c,m).toString(H.encoding):(c=v.from(c,m),m=""))):c instanceof v?m="":b._isUint8Array(c)?(c=b._uint8ArrayToBuffer(c),m=""):c!=null&&(se=new G("chunk",["string","Buffer","Uint8Array"],c))),se)Y(h,se);else if(c===null)H.reading=!1,k(h,H);else if(H.objectMode||c&&c.length>0)if(x)if(H.endEmitted)Y(h,new ae);else{if(H.destroyed||H.errored)return!1;ye(h,H,c,!0)}else if(H.ended)Y(h,new $);else{if(H.destroyed||H.errored)return!1;H.reading=!1,H.decoder&&!m?(c=H.decoder.write(c),H.objectMode||c.length!==0?ye(h,H,c,!1):ee(h,H)):ye(h,H,c,!1)}else x||(H.reading=!1,ee(h,H));return!H.ended&&(H.length0?(c.multiAwaitDrain?c.awaitDrainWriters.clear():c.awaitDrainWriters=null,c.dataEmitted=!0,h.emit("data",m)):(c.length+=c.objectMode?1:m.length,x?c.buffer.unshift(m):c.buffer.push(m),c.needReadable&&W(h)),ee(h,c)}N.prototype.isPaused=function(){let h=this._readableState;return h[de]===!0||h.flowing===!1},N.prototype.setEncoding=function(h){let c=new pe(h);this._readableState.decoder=c,this._readableState.encoding=this._readableState.decoder.encoding;let m=this._readableState.buffer,x="";for(let H of m)x+=c.write(H);return m.clear(),x!==""&&m.push(x),this._readableState.length=x.length,this};var oe=1073741824;function Q(h){if(h>oe)throw new L("size","<= 1GiB",h);return h--,h|=h>>>1,h|=h>>>2,h|=h>>>4,h|=h>>>8,h|=h>>>16,h++,h}function q(h,c){return h<=0||c.length===0&&c.ended?0:c.objectMode?1:i(h)?c.flowing&&c.length?c.buffer.first().length:c.length:h<=c.length?h:c.ended?c.length:0}N.prototype.read=function(h){C("read",h),h===void 0?h=NaN:s(h)||(h=a(h,10));let c=this._readableState,m=h;if(h>c.highWaterMark&&(c.highWaterMark=Q(h)),h!==0&&(c.emittedReadable=!1),h===0&&c.needReadable&&((c.highWaterMark!==0?c.length>=c.highWaterMark:c.length>0)||c.ended))return C("read: emitReadable",c.length,c.ended),c.length===0&&c.ended?P(this):W(this),null;if(h=q(h,c),h===0&&c.ended)return c.length===0&&P(this),null;let x=c.needReadable;if(C("need readable",x),(c.length===0||c.length-h0?H=K(h,c):H=null,H===null?(c.needReadable=c.length<=c.highWaterMark,h=0):(c.length-=h,c.multiAwaitDrain?c.awaitDrainWriters.clear():c.awaitDrainWriters=null),c.length===0&&(c.ended||(c.needReadable=!0),m!==h&&c.ended&&P(this)),H!==null&&!c.errorEmitted&&!c.closeEmitted&&(c.dataEmitted=!0,this.emit("data",H)),H};function k(h,c){if(C("onEofChunk"),!c.ended){if(c.decoder){let m=c.decoder.end();m&&m.length&&(c.buffer.push(m),c.length+=c.objectMode?1:m.length)}c.ended=!0,c.sync?W(h):(c.needReadable=!1,c.emittedReadable=!0,te(h))}}function W(h){let c=h._readableState;C("emitReadable",c.needReadable,c.emittedReadable),c.needReadable=!1,c.emittedReadable||(C("emitReadable",c.flowing),c.emittedReadable=!0,r.nextTick(te,h))}function te(h){let c=h._readableState;C("emitReadable_",c.destroyed,c.length,c.ended),!c.destroyed&&!c.errored&&(c.length||c.ended)&&(h.emit("readable"),c.emittedReadable=!1),c.needReadable=!c.flowing&&!c.ended&&c.length<=c.highWaterMark,Z(h)}function ee(h,c){!c.readingMore&&c.constructed&&(c.readingMore=!0,r.nextTick(A,h,c))}function A(h,c){for(;!c.reading&&!c.ended&&(c.length1&&x.pipes.includes(h)&&(C("false write response, pause",x.awaitDrainWriters.size),x.awaitDrainWriters.add(h)),m.pause()),xe||(xe=T(m,h),h.on("drain",xe))}m.on("data",Oe);function Oe(dt){C("ondata");let at=h.write(dt);C("dest.write",at),at===!1&&ke()}function Ve(dt){if(C("onerror",dt),st(),h.removeListener("error",Ve),h.listenerCount("error")===0){let at=h._writableState||h._readableState;at&&!at.errorEmitted?Y(h,dt):h.emit("error",dt)}}E(h,"error",Ve);function ot(){h.removeListener("finish",Xe),st()}h.once("close",ot);function Xe(){C("onfinish"),h.removeListener("close",ot),st()}h.once("finish",Xe);function st(){C("unpipe"),m.unpipe(h)}return h.emit("pipe",m),h.writableNeedDrain===!0?x.flowing&&ke():x.flowing||(C("pipe resume"),m.resume()),h};function T(h,c){return function(){let m=h._readableState;m.awaitDrainWriters===c?(C("pipeOnDrain",1),m.awaitDrainWriters=null):m.multiAwaitDrain&&(C("pipeOnDrain",m.awaitDrainWriters.size),m.awaitDrainWriters.delete(c)),(!m.awaitDrainWriters||m.awaitDrainWriters.size===0)&&h.listenerCount("data")&&h.resume()}}N.prototype.unpipe=function(h){let c=this._readableState,m={hasUnpiped:!1};if(c.pipes.length===0)return this;if(!h){let H=c.pipes;c.pipes=[],this.pause();for(let se=0;se0,x.flowing!==!1&&this.resume()):h==="readable"&&!x.endEmitted&&!x.readableListening&&(x.readableListening=x.needReadable=!0,x.flowing=!1,x.emittedReadable=!1,C("on readable",x.length,x.reading),x.length?W(this):x.reading||r.nextTick(I,this)),m},N.prototype.addListener=N.prototype.on,N.prototype.removeListener=function(h,c){let m=b.prototype.removeListener.call(this,h,c);return h==="readable"&&r.nextTick(M,this),m},N.prototype.off=N.prototype.removeListener,N.prototype.removeAllListeners=function(h){let c=b.prototype.removeAllListeners.apply(this,arguments);return(h==="readable"||h===void 0)&&r.nextTick(M,this),c};function M(h){let c=h._readableState;c.readableListening=h.listenerCount("readable")>0,c.resumeScheduled&&c[de]===!1?c.flowing=!0:h.listenerCount("data")>0?h.resume():c.readableListening||(c.flowing=null)}function I(h){C("readable nexttick read 0"),h.read(0)}N.prototype.resume=function(){let h=this._readableState;return h.flowing||(C("resume"),h.flowing=!h.readableListening,B(this,h)),h[de]=!1,this};function B(h,c){c.resumeScheduled||(c.resumeScheduled=!0,r.nextTick(U,h,c))}function U(h,c){C("resume",c.reading),c.reading||h.read(0),c.resumeScheduled=!1,h.emit("resume"),Z(h),c.flowing&&!c.reading&&h.read(0)}N.prototype.pause=function(){return C("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(C("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[de]=!0,this};function Z(h){let c=h._readableState;for(C("flow",c.flowing);c.flowing&&h.read()!==null;);}N.prototype.wrap=function(h){let c=!1;h.on("data",x=>{!this.push(x)&&h.pause&&(c=!0,h.pause())}),h.on("end",()=>{this.push(null)}),h.on("error",x=>{Y(this,x)}),h.on("close",()=>{this.destroy()}),h.on("destroy",()=>{this.destroy()}),this._read=()=>{c&&h.resume&&(c=!1,h.resume())};let m=l(h);for(let x=1;x{H=_e?re(H,_e):null,m(),m=ge});try{for(;;){let _e=h.destroyed?null:h.read();if(_e!==null)yield _e;else{if(H)throw H;if(H===null)return;await new f(x)}}}catch(_e){throw H=re(H,_e),H}finally{(H||(c==null?void 0:c.destroyOnReturn)!==!1)&&(H===void 0||h._readableState.autoDestroy)?O.destroyer(h,null):(h.off("readable",x),se())}}o(N.prototype,{readable:{__proto__:null,get(){let h=this._readableState;return!!h&&h.readable!==!1&&!h.destroyed&&!h.errorEmitted&&!h.endEmitted},set(h){this._readableState&&(this._readableState.readable=!!h)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(h){this._readableState&&(this._readableState.flowing=h)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(h){this._readableState&&(this._readableState.destroyed=h)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),o(he.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[de]!==!1},set(h){this[de]=!!h}}}),N._fromList=K;function K(h,c){if(c.length===0)return null;let m;return c.objectMode?m=c.buffer.shift():!h||h>=c.length?(c.decoder?m=c.buffer.join(""):c.buffer.length===1?m=c.buffer.first():m=c.buffer.concat(c.length),c.buffer.clear()):m=c.buffer.consume(h,c.decoder),m}function P(h){let c=h._readableState;C("endReadable",c.endEmitted),c.endEmitted||(c.ended=!0,r.nextTick(J,c,h))}function J(h,c){if(C("endReadableNT",h.endEmitted,h.length),!h.errored&&!h.closeEmitted&&!h.endEmitted&&h.length===0){if(h.endEmitted=!0,c.emit("end"),c.writable&&c.allowHalfOpen===!1)r.nextTick(le,c);else if(h.autoDestroy){let m=c._writableState;(!m||m.autoDestroy&&(m.finished||m.writable===!1))&&c.destroy()}}}function le(h){h.writable&&!h.writableEnded&&!h.destroyed&&h.end()}N.from=function(h,c){return z(N,h,c)};var me;function y(){return me===void 0&&(me={}),me}N.fromWeb=function(h,c){return y().newStreamReadableFromReadableStream(h,c)},N.toWeb=function(h,c){return y().newReadableStreamFromStreamReadable(h,c)},N.wrap=function(h,c){var m,x;return new N({objectMode:(m=(x=h.readableObjectMode)!==null&&x!==void 0?x:h.objectMode)!==null&&m!==void 0?m:!0,...c,destroy(H,se){O.destroyer(h,H),se(H)}}).wrap(h)}}),Jb=Ae((e,t)=>{be(),ve(),we();var r=mi(),{ArrayPrototypeSlice:n,Error:s,FunctionPrototypeSymbolHasInstance:i,ObjectDefineProperty:a,ObjectDefineProperties:o,ObjectSetPrototypeOf:l,StringPrototypeToLowerCase:u,Symbol:f,SymbolHasInstance:d}=ut();t.exports=pe,pe.WritableState=ce;var{EventEmitter:p}=(ds(),ze(yi)),g=id().Stream,{Buffer:_}=(mt(),ze(gt)),b=hs(),{addAbortSignal:E}=bl(),{getHighWaterMark:v,getDefaultHighWaterMark:S}=sd(),{ERR_INVALID_ARG_TYPE:w,ERR_METHOD_NOT_IMPLEMENTED:C,ERR_MULTIPLE_CALLBACK:R,ERR_STREAM_CANNOT_PIPE:O,ERR_STREAM_DESTROYED:D,ERR_STREAM_ALREADY_FINISHED:V,ERR_STREAM_NULL_VALUES:re,ERR_STREAM_WRITE_AFTER_END:G,ERR_UNKNOWN_ENCODING:X}=Bt().codes,{errorOrDestroy:L}=b;l(pe.prototype,g.prototype),l(pe,g);function $(){}var ae=f("kOnFinished");function ce(I,B,U){typeof U!="boolean"&&(U=B instanceof Qr()),this.objectMode=!!(I&&I.objectMode),U&&(this.objectMode=this.objectMode||!!(I&&I.writableObjectMode)),this.highWaterMark=I?v(this,I,"writableHighWaterMark",U):S(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let Z=!!(I&&I.decodeStrings===!1);this.decodeStrings=!Z,this.defaultEncoding=I&&I.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=N.bind(void 0,B),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,de(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!I||I.emitClose!==!1,this.autoDestroy=!I||I.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[ae]=[]}function de(I){I.buffered=[],I.bufferedIndex=0,I.allBuffers=!0,I.allNoop=!0}ce.prototype.getBuffer=function(){return n(this.buffered,this.bufferedIndex)},a(ce.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function pe(I){let B=this instanceof Qr();if(!B&&!i(pe,this))return new pe(I);this._writableState=new ce(I,this,B),I&&(typeof I.write=="function"&&(this._write=I.write),typeof I.writev=="function"&&(this._writev=I.writev),typeof I.destroy=="function"&&(this._destroy=I.destroy),typeof I.final=="function"&&(this._final=I.final),typeof I.construct=="function"&&(this._construct=I.construct),I.signal&&E(I.signal,this)),g.call(this,I),b.construct(this,()=>{let U=this._writableState;U.writing||Q(this,U),te(this,U)})}a(pe,d,{__proto__:null,value:function(I){return i(this,I)?!0:this!==pe?!1:I&&I._writableState instanceof ce}}),pe.prototype.pipe=function(){L(this,new O)};function z(I,B,U,Z){let j=I._writableState;if(typeof U=="function")Z=U,U=j.defaultEncoding;else{if(!U)U=j.defaultEncoding;else if(U!=="buffer"&&!_.isEncoding(U))throw new X(U);typeof Z!="function"&&(Z=$)}if(B===null)throw new re;if(!j.objectMode)if(typeof B=="string")j.decodeStrings!==!1&&(B=_.from(B,U),U="buffer");else if(B instanceof _)U="buffer";else if(g._isUint8Array(B))B=g._uint8ArrayToBuffer(B),U="buffer";else throw new w("chunk",["string","Buffer","Uint8Array"],B);let F;return j.ending?F=new G:j.destroyed&&(F=new D("write")),F?(r.nextTick(Z,F),L(I,F,!0),F):(j.pendingcb++,ge(I,j,B,U,Z))}pe.prototype.write=function(I,B,U){return z(this,I,B,U)===!0},pe.prototype.cork=function(){this._writableState.corked++},pe.prototype.uncork=function(){let I=this._writableState;I.corked&&(I.corked--,I.writing||Q(this,I))},pe.prototype.setDefaultEncoding=function(I){if(typeof I=="string"&&(I=u(I)),!_.isEncoding(I))throw new X(I);return this._writableState.defaultEncoding=I,this};function ge(I,B,U,Z,j){let F=B.objectMode?1:U.length;B.length+=F;let K=B.lengthU.bufferedIndex&&Q(I,U),Z?U.afterWriteTickInfo!==null&&U.afterWriteTickInfo.cb===j?U.afterWriteTickInfo.count++:(U.afterWriteTickInfo={count:1,cb:j,stream:I,state:U},r.nextTick(ne,U.afterWriteTickInfo)):ye(I,U,1,j))}function ne({stream:I,state:B,count:U,cb:Z}){return B.afterWriteTickInfo=null,ye(I,B,U,Z)}function ye(I,B,U,Z){for(!B.ending&&!I.destroyed&&B.length===0&&B.needDrain&&(B.needDrain=!1,I.emit("drain"));U-- >0;)B.pendingcb--,Z();B.destroyed&&oe(B),te(I,B)}function oe(I){if(I.writing)return;for(let j=I.bufferedIndex;j1&&I._writev){B.pendingcb-=F-1;let P=B.allNoop?$:le=>{for(let me=K;me256?(U.splice(0,K),B.bufferedIndex=0):B.bufferedIndex=K}B.bufferProcessing=!1}pe.prototype._write=function(I,B,U){if(this._writev)this._writev([{chunk:I,encoding:B}],U);else throw new C("_write()")},pe.prototype._writev=null,pe.prototype.end=function(I,B,U){let Z=this._writableState;typeof I=="function"?(U=I,I=null,B=null):typeof B=="function"&&(U=B,B=null);let j;if(I!=null){let F=z(this,I,B);F instanceof s&&(j=F)}return Z.corked&&(Z.corked=1,this.uncork()),j||(!Z.errored&&!Z.ending?(Z.ending=!0,te(this,Z,!0),Z.ended=!0):Z.finished?j=new V("end"):Z.destroyed&&(j=new D("end"))),typeof U=="function"&&(j||Z.finished?r.nextTick(U,j):Z[ae].push(U)),this};function q(I){return I.ending&&!I.destroyed&&I.constructed&&I.length===0&&!I.errored&&I.buffered.length===0&&!I.finished&&!I.writing&&!I.errorEmitted&&!I.closeEmitted}function k(I,B){let U=!1;function Z(j){if(U){L(I,j??R());return}if(U=!0,B.pendingcb--,j){let F=B[ae].splice(0);for(let K=0;K{q(j)?ee(Z,j):j.pendingcb--},I,B)):q(B)&&(B.pendingcb++,ee(I,B))))}function ee(I,B){B.pendingcb--,B.finished=!0;let U=B[ae].splice(0);for(let Z=0;Z{be(),ve(),we();var r=mi(),n=(mt(),ze(gt)),{isReadable:s,isWritable:i,isIterable:a,isNodeStream:o,isReadableNodeStream:l,isWritableNodeStream:u,isDuplexNodeStream:f}=sn(),d=Rn(),{AbortError:p,codes:{ERR_INVALID_ARG_TYPE:g,ERR_INVALID_RETURN_VALUE:_}}=Bt(),{destroyer:b}=hs(),E=Qr(),v=vl(),{createDeferredPromise:S}=Gr(),w=Xb(),C=globalThis.Blob||n.Blob,R=typeof C<"u"?function(X){return X instanceof C}:function(X){return!1},O=globalThis.AbortController||nd().AbortController,{FunctionPrototypeCall:D}=ut(),V=class extends E{constructor(X){super(X),(X==null?void 0:X.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(X==null?void 0:X.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};t.exports=function X(L,$){if(f(L))return L;if(l(L))return G({readable:L});if(u(L))return G({writable:L});if(o(L))return G({writable:!1,readable:!1});if(typeof L=="function"){let{value:ce,write:de,final:pe,destroy:z}=re(L);if(a(ce))return w(V,ce,{objectMode:!0,write:de,final:pe,destroy:z});let ge=ce==null?void 0:ce.then;if(typeof ge=="function"){let Y,he=D(ge,ce,N=>{if(N!=null)throw new _("nully","body",N)},N=>{b(Y,N)});return Y=new V({objectMode:!0,readable:!1,write:de,final(N){pe(async()=>{try{await he,r.nextTick(N,null)}catch(ne){r.nextTick(N,ne)}})},destroy:z})}throw new _("Iterable, AsyncIterable or AsyncFunction",$,ce)}if(R(L))return X(L.arrayBuffer());if(a(L))return w(V,L,{objectMode:!0,writable:!1});if(typeof(L==null?void 0:L.writable)=="object"||typeof(L==null?void 0:L.readable)=="object"){let ce=L!=null&&L.readable?l(L==null?void 0:L.readable)?L==null?void 0:L.readable:X(L.readable):void 0,de=L!=null&&L.writable?u(L==null?void 0:L.writable)?L==null?void 0:L.writable:X(L.writable):void 0;return G({readable:ce,writable:de})}let ae=L==null?void 0:L.then;if(typeof ae=="function"){let ce;return D(ae,L,de=>{de!=null&&ce.push(de),ce.push(null)},de=>{b(ce,de)}),ce=new V({objectMode:!0,writable:!1,read(){}})}throw new g($,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],L)};function re(X){let{promise:L,resolve:$}=S(),ae=new O,ce=ae.signal;return{value:X(async function*(){for(;;){let de=L;L=null;let{chunk:pe,done:z,cb:ge}=await de;if(r.nextTick(ge),z)return;if(ce.aborted)throw new p(void 0,{cause:ce.reason});({promise:L,resolve:$}=S()),yield pe}}(),{signal:ce}),write(de,pe,z){let ge=$;$=null,ge({chunk:de,done:!1,cb:z})},final(de){let pe=$;$=null,pe({done:!0,cb:de})},destroy(de,pe){ae.abort(),pe(de)}}}function G(X){let L=X.readable&&typeof X.readable.read!="function"?v.wrap(X.readable):X.readable,$=X.writable,ae=!!s(L),ce=!!i($),de,pe,z,ge,Y;function he(N){let ne=ge;ge=null,ne?ne(N):N&&Y.destroy(N)}return Y=new V({readableObjectMode:!!(L!=null&&L.readableObjectMode),writableObjectMode:!!($!=null&&$.writableObjectMode),readable:ae,writable:ce}),ce&&(d($,N=>{ce=!1,N&&b(L,N),he(N)}),Y._write=function(N,ne,ye){$.write(N,ne)?ye():de=ye},Y._final=function(N){$.end(),pe=N},$.on("drain",function(){if(de){let N=de;de=null,N()}}),$.on("finish",function(){if(pe){let N=pe;pe=null,N()}})),ae&&(d(L,N=>{ae=!1,N&&b(L,N),he(N)}),L.on("readable",function(){if(z){let N=z;z=null,N()}}),L.on("end",function(){Y.push(null)}),Y._read=function(){for(;;){let N=L.read();if(N===null){z=Y._read;return}if(!Y.push(N))return}}),Y._destroy=function(N,ne){!N&&ge!==null&&(N=new p),z=null,de=null,pe=null,ge===null?ne(N):(ge=ne,b($,N),b(L,N))},Y}}),Qr=Ae((e,t)=>{be(),ve(),we();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:n,ObjectKeys:s,ObjectSetPrototypeOf:i}=ut();t.exports=l;var a=vl(),o=Jb();i(l.prototype,a.prototype),i(l,a);{let p=s(o.prototype);for(let g=0;g{be(),ve(),we();var{ObjectSetPrototypeOf:r,Symbol:n}=ut();t.exports=l;var{ERR_METHOD_NOT_IMPLEMENTED:s}=Bt().codes,i=Qr(),{getHighWaterMark:a}=sd();r(l.prototype,i.prototype),r(l,i);var o=n("kCallback");function l(d){if(!(this instanceof l))return new l(d);let p=d?a(this,d,"readableHighWaterMark",!0):null;p===0&&(d={...d,highWaterMark:null,readableHighWaterMark:p,writableHighWaterMark:d.writableHighWaterMark||0}),i.call(this,d),this._readableState.sync=!1,this[o]=null,d&&(typeof d.transform=="function"&&(this._transform=d.transform),typeof d.flush=="function"&&(this._flush=d.flush)),this.on("prefinish",f)}function u(d){typeof this._flush=="function"&&!this.destroyed?this._flush((p,g)=>{if(p){d?d(p):this.destroy(p);return}g!=null&&this.push(g),this.push(null),d&&d()}):(this.push(null),d&&d())}function f(){this._final!==u&&u.call(this)}l.prototype._final=u,l.prototype._transform=function(d,p,g){throw new s("_transform()")},l.prototype._write=function(d,p,g){let _=this._readableState,b=this._writableState,E=_.length;this._transform(d,p,(v,S)=>{if(v){g(v);return}S!=null&&this.push(S),b.ended||E===_.length||_.length<_.highWaterMark?g():this[o]=g})},l.prototype._read=function(){if(this[o]){let d=this[o];this[o]=null,d()}}}),ew=Ae((e,t)=>{be(),ve(),we();var{ObjectSetPrototypeOf:r}=ut();t.exports=s;var n=Zb();r(s.prototype,n.prototype),r(s,n);function s(i){if(!(this instanceof s))return new s(i);n.call(this,i)}s.prototype._transform=function(i,a,o){o(null,i)}}),ld=Ae((e,t)=>{be(),ve(),we();var r=mi(),{ArrayIsArray:n,Promise:s,SymbolAsyncIterator:i}=ut(),a=Rn(),{once:o}=Gr(),l=hs(),u=Qr(),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:d,ERR_INVALID_RETURN_VALUE:p,ERR_MISSING_ARGS:g,ERR_STREAM_DESTROYED:_,ERR_STREAM_PREMATURE_CLOSE:b},AbortError:E}=Bt(),{validateFunction:v,validateAbortSignal:S}=_l(),{isIterable:w,isReadable:C,isReadableNodeStream:R,isNodeStream:O,isTransformStream:D,isWebStream:V,isReadableStream:re,isReadableEnded:G}=sn(),X=globalThis.AbortController||nd().AbortController,L,$;function ae(ne,ye,oe){let Q=!1;ne.on("close",()=>{Q=!0});let q=a(ne,{readable:ye,writable:oe},k=>{Q=!k});return{destroy:k=>{Q||(Q=!0,l.destroyer(ne,k||new _("pipe")))},cleanup:q}}function ce(ne){return v(ne[ne.length-1],"streams[stream.length - 1]"),ne.pop()}function de(ne){if(w(ne))return ne;if(R(ne))return pe(ne);throw new d("val",["Readable","Iterable","AsyncIterable"],ne)}async function*pe(ne){$||($=vl()),yield*$.prototype[i].call(ne)}async function z(ne,ye,oe,{end:Q}){let q,k=null,W=A=>{if(A&&(q=A),k){let T=k;k=null,T()}},te=()=>new s((A,T)=>{q?T(q):k=()=>{q?T(q):A()}});ye.on("drain",W);let ee=a(ye,{readable:!1},W);try{ye.writableNeedDrain&&await te();for await(let A of ne)ye.write(A)||await te();Q&&ye.end(),await te(),oe()}catch(A){oe(q!==A?f(q,A):A)}finally{ee(),ye.off("drain",W)}}async function ge(ne,ye,oe,{end:Q}){D(ye)&&(ye=ye.writable);let q=ye.getWriter();try{for await(let k of ne)await q.ready,q.write(k).catch(()=>{});await q.ready,Q&&await q.close(),oe()}catch(k){try{await q.abort(k),oe(k)}catch(W){oe(W)}}}function Y(...ne){return he(ne,o(ce(ne)))}function he(ne,ye,oe){if(ne.length===1&&n(ne[0])&&(ne=ne[0]),ne.length<2)throw new g("streams");let Q=new X,q=Q.signal,k=oe==null?void 0:oe.signal,W=[];S(k,"options.signal");function te(){B(new E)}k==null||k.addEventListener("abort",te);let ee,A,T=[],M=0;function I(F){B(F,--M===0)}function B(F,K){if(F&&(!ee||ee.code==="ERR_STREAM_PREMATURE_CLOSE")&&(ee=F),!(!ee&&!K)){for(;T.length;)T.shift()(ee);k==null||k.removeEventListener("abort",te),Q.abort(),K&&(ee||W.forEach(P=>P()),r.nextTick(ye,ee,A))}}let U;for(let F=0;F0,le=P||(oe==null?void 0:oe.end)!==!1,me=F===ne.length-1;if(O(K)){let y=function(h){h&&h.name!=="AbortError"&&h.code!=="ERR_STREAM_PREMATURE_CLOSE"&&I(h)};if(le){let{destroy:h,cleanup:c}=ae(K,P,J);T.push(h),C(K)&&me&&W.push(c)}K.on("error",y),C(K)&&me&&W.push(()=>{K.removeListener("error",y)})}if(F===0)if(typeof K=="function"){if(U=K({signal:q}),!w(U))throw new p("Iterable, AsyncIterable or Stream","source",U)}else w(K)||R(K)||D(K)?U=K:U=u.from(K);else if(typeof K=="function"){if(D(U)){var Z;U=de((Z=U)===null||Z===void 0?void 0:Z.readable)}else U=de(U);if(U=K(U,{signal:q}),P){if(!w(U,!0))throw new p("AsyncIterable",`transform[${F-1}]`,U)}else{var j;L||(L=ew());let y=new L({objectMode:!0}),h=(j=U)===null||j===void 0?void 0:j.then;if(typeof h=="function")M++,h.call(U,x=>{A=x,x!=null&&y.write(x),le&&y.end(),r.nextTick(I)},x=>{y.destroy(x),r.nextTick(I,x)});else if(w(U,!0))M++,z(U,y,I,{end:le});else if(re(U)||D(U)){let x=U.readable||U;M++,z(x,y,I,{end:le})}else throw new p("AsyncIterable or Promise","destination",U);U=y;let{destroy:c,cleanup:m}=ae(U,!1,!0);T.push(c),me&&W.push(m)}}else if(O(K)){if(R(U)){M+=2;let y=N(U,K,I,{end:le});C(K)&&me&&W.push(y)}else if(D(U)||re(U)){let y=U.readable||U;M++,z(y,K,I,{end:le})}else if(w(U))M++,z(U,K,I,{end:le});else throw new d("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],U);U=K}else if(V(K)){if(R(U))M++,ge(de(U),K,I,{end:le});else if(re(U)||w(U))M++,ge(U,K,I,{end:le});else if(D(U))M++,ge(U.readable,K,I,{end:le});else throw new d("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],U);U=K}else U=u.from(K)}return(q!=null&&q.aborted||k!=null&&k.aborted)&&r.nextTick(te),U}function N(ne,ye,oe,{end:Q}){let q=!1;if(ye.on("close",()=>{q||oe(new b)}),ne.pipe(ye,{end:!1}),Q){let k=function(){q=!0,ye.end()};G(ne)?r.nextTick(k):ne.once("end",k)}else oe();return a(ne,{readable:!0,writable:!1},k=>{let W=ne._readableState;k&&k.code==="ERR_STREAM_PREMATURE_CLOSE"&&W&&W.ended&&!W.errored&&!W.errorEmitted?ne.once("end",oe).once("error",oe):oe(k)}),a(ye,{readable:!1,writable:!0},oe)}t.exports={pipelineImpl:he,pipeline:Y}}),tw=Ae((e,t)=>{be(),ve(),we();var{pipeline:r}=ld(),n=Qr(),{destroyer:s}=hs(),{isNodeStream:i,isReadable:a,isWritable:o,isWebStream:l,isTransformStream:u,isWritableStream:f,isReadableStream:d}=sn(),{AbortError:p,codes:{ERR_INVALID_ARG_VALUE:g,ERR_MISSING_ARGS:_}}=Bt(),b=Rn();t.exports=function(...E){if(E.length===0)throw new _("streams");if(E.length===1)return n.from(E[0]);let v=[...E];if(typeof E[0]=="function"&&(E[0]=n.from(E[0])),typeof E[E.length-1]=="function"){let L=E.length-1;E[L]=n.from(E[L])}for(let L=0;L0&&!(o(E[L])||f(E[L])||u(E[L])))throw new g(`streams[${L}]`,v[L],"must be writable")}let S,w,C,R,O;function D(L){let $=R;R=null,$?$(L):L?O.destroy(L):!X&&!G&&O.destroy()}let V=E[0],re=r(E,D),G=!!(o(V)||f(V)||u(V)),X=!!(a(re)||d(re)||u(re));if(O=new n({writableObjectMode:!!(V!=null&&V.writableObjectMode),readableObjectMode:!!(re!=null&&re.writableObjectMode),writable:G,readable:X}),G){if(i(V))O._write=function($,ae,ce){V.write($,ae)?ce():S=ce},O._final=function($){V.end(),w=$},V.on("drain",function(){if(S){let $=S;S=null,$()}});else if(l(V)){let $=(u(V)?V.writable:V).getWriter();O._write=async function(ae,ce,de){try{await $.ready,$.write(ae).catch(()=>{}),de()}catch(pe){de(pe)}},O._final=async function(ae){try{await $.ready,$.close().catch(()=>{}),w=ae}catch(ce){ae(ce)}}}let L=u(re)?re.readable:re;b(L,()=>{if(w){let $=w;w=null,$()}})}if(X){if(i(re))re.on("readable",function(){if(C){let L=C;C=null,L()}}),re.on("end",function(){O.push(null)}),O._read=function(){for(;;){let L=re.read();if(L===null){C=O._read;return}if(!O.push(L))return}};else if(l(re)){let L=(u(re)?re.readable:re).getReader();O._read=async function(){for(;;)try{let{value:$,done:ae}=await L.read();if(!O.push($))return;if(ae){O.push(null);return}}catch{return}}}}return O._destroy=function(L,$){!L&&R!==null&&(L=new p),C=null,S=null,w=null,R===null?$(L):(R=$,i(re)&&s(re,L))},O}}),wC=Ae((e,t)=>{be(),ve(),we();var r=globalThis.AbortController||nd().AbortController,{codes:{ERR_INVALID_ARG_VALUE:n,ERR_INVALID_ARG_TYPE:s,ERR_MISSING_ARGS:i,ERR_OUT_OF_RANGE:a},AbortError:o}=Bt(),{validateAbortSignal:l,validateInteger:u,validateObject:f}=_l(),d=ut().Symbol("kWeak"),{finished:p}=Rn(),g=tw(),{addAbortSignalNoValidate:_}=bl(),{isWritable:b,isNodeStream:E}=sn(),{ArrayPrototypePush:v,MathFloor:S,Number:w,NumberIsNaN:C,Promise:R,PromiseReject:O,PromisePrototypeThen:D,Symbol:V}=ut(),re=V("kEmpty"),G=V("kEof");function X(Q,q){if(q!=null&&f(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal"),E(Q)&&!b(Q))throw new n("stream",Q,"must be writable");let k=g(this,Q);return q!=null&&q.signal&&_(q.signal,k),k}function L(Q,q){if(typeof Q!="function")throw new s("fn",["Function","AsyncFunction"],Q);q!=null&&f(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal");let k=1;return(q==null?void 0:q.concurrency)!=null&&(k=S(q.concurrency)),u(k,"concurrency",1),(async function*(){var W,te;let ee=new r,A=this,T=[],M=ee.signal,I={signal:M},B=()=>ee.abort();q!=null&&(W=q.signal)!==null&&W!==void 0&&W.aborted&&B(),q==null||(te=q.signal)===null||te===void 0||te.addEventListener("abort",B);let U,Z,j=!1;function F(){j=!0}async function K(){try{for await(let le of A){var P;if(j)return;if(M.aborted)throw new o;try{le=Q(le,I)}catch(me){le=O(me)}le!==re&&(typeof((P=le)===null||P===void 0?void 0:P.catch)=="function"&&le.catch(F),T.push(le),U&&(U(),U=null),!j&&T.length&&T.length>=k&&await new R(me=>{Z=me}))}T.push(G)}catch(le){let me=O(le);D(me,void 0,F),T.push(me)}finally{var J;j=!0,U&&(U(),U=null),q==null||(J=q.signal)===null||J===void 0||J.removeEventListener("abort",B)}}K();try{for(;;){for(;T.length>0;){let P=await T[0];if(P===G)return;if(M.aborted)throw new o;P!==re&&(yield P),T.shift(),Z&&(Z(),Z=null)}await new R(P=>{U=P})}}finally{ee.abort(),j=!0,Z&&(Z(),Z=null)}}).call(this)}function $(Q=void 0){return Q!=null&&f(Q,"options"),(Q==null?void 0:Q.signal)!=null&&l(Q.signal,"options.signal"),(async function*(){let q=0;for await(let W of this){var k;if(Q!=null&&(k=Q.signal)!==null&&k!==void 0&&k.aborted)throw new o({cause:Q.signal.reason});yield[q++,W]}}).call(this)}async function ae(Q,q=void 0){for await(let k of z.call(this,Q,q))return!0;return!1}async function ce(Q,q=void 0){if(typeof Q!="function")throw new s("fn",["Function","AsyncFunction"],Q);return!await ae.call(this,async(...k)=>!await Q(...k),q)}async function de(Q,q){for await(let k of z.call(this,Q,q))return k}async function pe(Q,q){if(typeof Q!="function")throw new s("fn",["Function","AsyncFunction"],Q);async function k(W,te){return await Q(W,te),re}for await(let W of L.call(this,k,q));}function z(Q,q){if(typeof Q!="function")throw new s("fn",["Function","AsyncFunction"],Q);async function k(W,te){return await Q(W,te)?W:re}return L.call(this,k,q)}var ge=class extends i{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function Y(Q,q,k){var W;if(typeof Q!="function")throw new s("reducer",["Function","AsyncFunction"],Q);k!=null&&f(k,"options"),(k==null?void 0:k.signal)!=null&&l(k.signal,"options.signal");let te=arguments.length>1;if(k!=null&&(W=k.signal)!==null&&W!==void 0&&W.aborted){let I=new o(void 0,{cause:k.signal.reason});throw this.once("error",()=>{}),await p(this.destroy(I)),I}let ee=new r,A=ee.signal;if(k!=null&&k.signal){let I={once:!0,[d]:this};k.signal.addEventListener("abort",()=>ee.abort(),I)}let T=!1;try{for await(let I of this){var M;if(T=!0,k!=null&&(M=k.signal)!==null&&M!==void 0&&M.aborted)throw new o;te?q=await Q(q,I,{signal:A}):(q=I,te=!0)}if(!T&&!te)throw new ge}finally{ee.abort()}return q}async function he(Q){Q!=null&&f(Q,"options"),(Q==null?void 0:Q.signal)!=null&&l(Q.signal,"options.signal");let q=[];for await(let W of this){var k;if(Q!=null&&(k=Q.signal)!==null&&k!==void 0&&k.aborted)throw new o(void 0,{cause:Q.signal.reason});v(q,W)}return q}function N(Q,q){let k=L.call(this,Q,q);return(async function*(){for await(let W of k)yield*W}).call(this)}function ne(Q){if(Q=w(Q),C(Q))return 0;if(Q<0)throw new a("number",">= 0",Q);return Q}function ye(Q,q=void 0){return q!=null&&f(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal"),Q=ne(Q),(async function*(){var k;if(q!=null&&(k=q.signal)!==null&&k!==void 0&&k.aborted)throw new o;for await(let te of this){var W;if(q!=null&&(W=q.signal)!==null&&W!==void 0&&W.aborted)throw new o;Q--<=0&&(yield te)}}).call(this)}function oe(Q,q=void 0){return q!=null&&f(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal"),Q=ne(Q),(async function*(){var k;if(q!=null&&(k=q.signal)!==null&&k!==void 0&&k.aborted)throw new o;for await(let te of this){var W;if(q!=null&&(W=q.signal)!==null&&W!==void 0&&W.aborted)throw new o;if(Q-- >0)yield te;else return}}).call(this)}t.exports.streamReturningOperators={asIndexedPairs:$,drop:ye,filter:z,flatMap:N,map:L,take:oe,compose:X},t.exports.promiseReturningOperators={every:ce,forEach:pe,reduce:Y,toArray:he,some:ae,find:de}}),rw=Ae((e,t)=>{be(),ve(),we();var{ArrayPrototypePop:r,Promise:n}=ut(),{isIterable:s,isNodeStream:i,isWebStream:a}=sn(),{pipelineImpl:o}=ld(),{finished:l}=Rn();nw();function u(...f){return new n((d,p)=>{let g,_,b=f[f.length-1];if(b&&typeof b=="object"&&!i(b)&&!s(b)&&!a(b)){let E=r(f);g=E.signal,_=E.end}o(f,(E,v)=>{E?p(E):d(v)},{signal:g,end:_})})}t.exports={finished:l,pipeline:u}}),nw=Ae((e,t)=>{be(),ve(),we();var{Buffer:r}=(mt(),ze(gt)),{ObjectDefineProperty:n,ObjectKeys:s,ReflectApply:i}=ut(),{promisify:{custom:a}}=Gr(),{streamReturningOperators:o,promiseReturningOperators:l}=wC(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=Bt(),f=tw(),{pipeline:d}=ld(),{destroyer:p}=hs(),g=Rn(),_=rw(),b=sn(),E=t.exports=id().Stream;E.isDisturbed=b.isDisturbed,E.isErrored=b.isErrored,E.isReadable=b.isReadable,E.Readable=vl();for(let S of s(o)){let w=function(...R){if(new.target)throw u();return E.Readable.from(i(C,this,R))},C=o[S];n(w,"name",{__proto__:null,value:C.name}),n(w,"length",{__proto__:null,value:C.length}),n(E.Readable.prototype,S,{__proto__:null,value:w,enumerable:!1,configurable:!0,writable:!0})}for(let S of s(l)){let w=function(...R){if(new.target)throw u();return i(C,this,R)},C=l[S];n(w,"name",{__proto__:null,value:C.name}),n(w,"length",{__proto__:null,value:C.length}),n(E.Readable.prototype,S,{__proto__:null,value:w,enumerable:!1,configurable:!0,writable:!0})}E.Writable=Jb(),E.Duplex=Qr(),E.Transform=Zb(),E.PassThrough=ew(),E.pipeline=d;var{addAbortSignal:v}=bl();E.addAbortSignal=v,E.finished=g,E.destroy=p,E.compose=f,n(E,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),n(d,a,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),n(g,a,{__proto__:null,enumerable:!0,get(){return _.finished}}),E.Stream=E,E._isUint8Array=function(S){return S instanceof Uint8Array},E._uint8ArrayToBuffer=function(S){return r.from(S.buffer,S.byteOffset,S.byteLength)}}),_i=Ae((e,t)=>{be(),ve(),we();var r=nw(),n=rw(),s=r.Readable.destroy;t.exports=r.Readable,t.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,t.exports._isUint8Array=r._isUint8Array,t.exports.isDisturbed=r.isDisturbed,t.exports.isErrored=r.isErrored,t.exports.isReadable=r.isReadable,t.exports.Readable=r.Readable,t.exports.Writable=r.Writable,t.exports.Duplex=r.Duplex,t.exports.Transform=r.Transform,t.exports.PassThrough=r.PassThrough,t.exports.addAbortSignal=r.addAbortSignal,t.exports.finished=r.finished,t.exports.destroy=r.destroy,t.exports.destroy=s,t.exports.pipeline=r.pipeline,t.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get(){return n}}),t.exports.Stream=r.Stream,t.exports.default=t.exports}),vC=Ae((e,t)=>{be(),ve(),we(),typeof Object.create=="function"?t.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,n){if(n){r.super_=n;var s=function(){};s.prototype=n.prototype,r.prototype=new s,r.prototype.constructor=r}}}),EC=Ae((e,t)=>{be(),ve(),we();var{Buffer:r}=(mt(),ze(gt)),n=Symbol.for("BufferList");function s(i){if(!(this instanceof s))return new s(i);s._init.call(this,i)}s._init=function(i){Object.defineProperty(this,n,{value:!0}),this._bufs=[],this.length=0,i&&this.append(i)},s.prototype._new=function(i){return new s(i)},s.prototype._offset=function(i){if(i===0)return[0,0];let a=0;for(let o=0;othis.length||i<0)return;let a=this._offset(i);return this._bufs[a[0]][a[1]]},s.prototype.slice=function(i,a){return typeof i=="number"&&i<0&&(i+=this.length),typeof a=="number"&&a<0&&(a+=this.length),this.copy(null,0,i,a)},s.prototype.copy=function(i,a,o,l){if((typeof o!="number"||o<0)&&(o=0),(typeof l!="number"||l>this.length)&&(l=this.length),o>=this.length||l<=0)return i||r.alloc(0);let u=!!i,f=this._offset(o),d=l-o,p=d,g=u&&a||0,_=f[1];if(o===0&&l===this.length){if(!u)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let b=0;bE)this._bufs[b].copy(i,g,_),g+=E;else{this._bufs[b].copy(i,g,_,_+p),g+=E;break}p-=E,_&&(_=0)}return i.length>g?i.slice(0,g):i},s.prototype.shallowSlice=function(i,a){if(i=i||0,a=typeof a!="number"?this.length:a,i<0&&(i+=this.length),a<0&&(a+=this.length),i===a)return this._new();let o=this._offset(i),l=this._offset(a),u=this._bufs.slice(o[0],l[0]+1);return l[1]===0?u.pop():u[u.length-1]=u[u.length-1].slice(0,l[1]),o[1]!==0&&(u[0]=u[0].slice(o[1])),this._new(u)},s.prototype.toString=function(i,a,o){return this.slice(a,o).toString(i)},s.prototype.consume=function(i){if(i=Math.trunc(i),Number.isNaN(i)||i<=0)return this;for(;this._bufs.length;)if(i>=this._bufs[0].length)i-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(i),this.length-=i;break}return this},s.prototype.duplicate=function(){let i=this._new();for(let a=0;athis.length?this.length:a;let l=this._offset(a),u=l[0],f=l[1];for(;u=i.length){let p=d.indexOf(i,f);if(p!==-1)return this._reverseOffset([u,p]);f=d.length-i.length+1}else{let p=this._reverseOffset([u,f]);if(this._match(p,i))return p;f++}f=0}return-1},s.prototype._match=function(i,a){if(this.length-i{be(),ve(),we();var r=_i().Duplex,n=vC(),s=EC();function i(a){if(!(this instanceof i))return new i(a);if(typeof a=="function"){this._callback=a;let o=(function(l){this._callback&&(this._callback(l),this._callback=null)}).bind(this);this.on("pipe",function(l){l.on("error",o)}),this.on("unpipe",function(l){l.removeListener("error",o)}),a=null}s._init.call(this,a),r.call(this)}n(i,r),Object.assign(i.prototype,s.prototype),i.prototype._new=function(a){return new i(a)},i.prototype._write=function(a,o,l){this._appendBuffer(a),typeof l=="function"&&l()},i.prototype._read=function(a){if(!this.length)return this.push(null);a=Math.min(a,this.length),this.push(this.slice(0,a)),this.consume(a)},i.prototype.end=function(a){r.prototype.end.call(this,a),this._callback&&(this._callback(null,this.slice()),this._callback=null)},i.prototype._destroy=function(a,o){this._bufs.length=0,this.length=0,o(a)},i.prototype._isBufferList=function(a){return a instanceof i||a instanceof s||i.isBufferList(a)},i.isBufferList=s.isBufferList,t.exports=i,t.exports.BufferListStream=i,t.exports.BufferList=s}),AC=Ae((e,t)=>{be(),ve(),we();var r=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}};t.exports=r}),iw=Ae((e,t)=>{be(),ve(),we();var r=t.exports,{Buffer:n}=(mt(),ze(gt));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let i in r.requiredHeaderFlags){let a=r.requiredHeaderFlags[i];r.requiredHeaderFlagsErrors[i]="Invalid header flag bits, must be 0x"+a.toString(16)+" for "+r.types[i]+" packet"}r.codes={};for(let i in r.types){let a=r.types[i];r.codes[a]=i}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=n.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=n.from([r.codes.connack<[0,1].map(o=>[0,1].map(l=>{let u=n.alloc(1);return u.writeUInt8(r.codes[i]<n.from([i])),r.EMPTY={pingreq:n.from([r.codes.pingreq<<4,0]),pingresp:n.from([r.codes.pingresp<<4,0]),disconnect:n.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),TC=Ae((e,t)=>{be(),ve(),we();var r=1e3,n=r*60,s=n*60,i=s*24,a=i*7,o=i*365.25;t.exports=function(p,g){g=g||{};var _=typeof p;if(_==="string"&&p.length>0)return l(p);if(_==="number"&&isFinite(p))return g.long?f(p):u(p);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(p))};function l(p){if(p=String(p),!(p.length>100)){var g=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(p);if(g){var _=parseFloat(g[1]),b=(g[2]||"ms").toLowerCase();switch(b){case"years":case"year":case"yrs":case"yr":case"y":return _*o;case"weeks":case"week":case"w":return _*a;case"days":case"day":case"d":return _*i;case"hours":case"hour":case"hrs":case"hr":case"h":return _*s;case"minutes":case"minute":case"mins":case"min":case"m":return _*n;case"seconds":case"second":case"secs":case"sec":case"s":return _*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return _;default:return}}}}function u(p){var g=Math.abs(p);return g>=i?Math.round(p/i)+"d":g>=s?Math.round(p/s)+"h":g>=n?Math.round(p/n)+"m":g>=r?Math.round(p/r)+"s":p+"ms"}function f(p){var g=Math.abs(p);return g>=i?d(p,g,i,"day"):g>=s?d(p,g,s,"hour"):g>=n?d(p,g,n,"minute"):g>=r?d(p,g,r,"second"):p+" ms"}function d(p,g,_,b){var E=g>=_*1.5;return Math.round(p/_)+" "+b+(E?"s":"")}}),xC=Ae((e,t)=>{be(),ve(),we();function r(n){i.debug=i,i.default=i,i.coerce=d,i.disable=l,i.enable=o,i.enabled=u,i.humanize=TC(),i.destroy=p,Object.keys(n).forEach(g=>{i[g]=n[g]}),i.names=[],i.skips=[],i.formatters={};function s(g){let _=0;for(let b=0;b{if(V==="%%")return"%";D++;let G=i.formatters[re];if(typeof G=="function"){let X=w[D];V=G.call(C,X),w.splice(D,1),D--}return V}),i.formatArgs.call(C,w),(C.log||i.log).apply(C,w)}return S.namespace=g,S.useColors=i.useColors(),S.color=i.selectColor(g),S.extend=a,S.destroy=i.destroy,Object.defineProperty(S,"enabled",{enumerable:!0,configurable:!1,get:()=>b!==null?b:(E!==i.namespaces&&(E=i.namespaces,v=i.enabled(g)),v),set:w=>{b=w}}),typeof i.init=="function"&&i.init(S),S}function a(g,_){let b=i(this.namespace+(typeof _>"u"?":":_)+g);return b.log=this.log,b}function o(g){i.save(g),i.namespaces=g,i.names=[],i.skips=[];let _,b=(typeof g=="string"?g:"").split(/[\s,]+/),E=b.length;for(_=0;_"-"+_)].join(",");return i.enable(""),g}function u(g){if(g[g.length-1]==="*")return!0;let _,b;for(_=0,b=i.skips.length;_{be(),ve(),we(),e.formatArgs=n,e.save=s,e.load=i,e.useColors=r,e.storage=a(),e.destroy=(()=>{let l=!1;return()=>{l||(l=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function r(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function n(l){if(l[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+l[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;let u="color: "+this.color;l.splice(1,0,u,"color: inherit");let f=0,d=0;l[0].replace(/%[a-zA-Z%]/g,p=>{p!=="%%"&&(f++,p==="%c"&&(d=f))}),l.splice(d,0,u)}e.log=console.debug||console.log||(()=>{});function s(l){try{l?e.storage.setItem("debug",l):e.storage.removeItem("debug")}catch{}}function i(){let l;try{l=e.storage.getItem("debug")}catch{}return!l&&typeof He<"u"&&"env"in He&&(l=He.env.DEBUG),l}function a(){try{return localStorage}catch{}}t.exports=xC()(e);var{formatters:o}=t.exports;o.j=function(l){try{return JSON.stringify(l)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}}}),IC=Ae((e,t)=>{be(),ve(),we();var r=SC(),{EventEmitter:n}=(ds(),ze(yi)),s=AC(),i=iw(),a=Xr()("mqtt-packet:parser"),o=class Vc extends n{constructor(){super(),this.parser=this.constructor.parser}static parser(u){return this instanceof Vc?(this.settings=u||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Vc().parser(u)}_resetState(){a("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new s,this.error=null,this._list=r(),this._stateCounter=0}parse(u){for(this.error&&this._resetState(),this._list.append(u),a("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,a("parse: state complete. _stateCounter is now: %d",this._stateCounter),a("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return a("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let u=this._list.readUInt8(0),f=u>>i.CMD_SHIFT;this.packet.cmd=i.types[f];let d=u&15,p=i.requiredHeaderFlags[f];return p!=null&&d!==p?this._emitError(new Error(i.requiredHeaderFlagsErrors[f])):(this.packet.retain=(u&i.RETAIN_MASK)!==0,this.packet.qos=u>>i.QOS_SHIFT&i.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(u&i.DUP_MASK)!==0,a("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let u=this._parseVarByteNum(!0);return u&&(this.packet.length=u.value,this._list.consume(u.bytes)),a("_parseLength %d",u.value),!!u}_parsePayload(){a("_parsePayload: payload %O",this._list);let u=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}u=!0}return a("_parsePayload complete result: %s",u),u}_parseConnect(){a("_parseConnect");let u,f,d,p,g={},_=this.packet,b=this._parseString();if(b===null)return this._emitError(new Error("Cannot parse protocolId"));if(b!=="MQTT"&&b!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(_.protocolId=b,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(_.protocolVersion=this._list.readUInt8(this._pos),_.protocolVersion>=128&&(_.bridgeMode=!0,_.protocolVersion=_.protocolVersion-128),_.protocolVersion!==3&&_.protocolVersion!==4&&_.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));g.username=this._list.readUInt8(this._pos)&i.USERNAME_MASK,g.password=this._list.readUInt8(this._pos)&i.PASSWORD_MASK,g.will=this._list.readUInt8(this._pos)&i.WILL_FLAG_MASK;let E=!!(this._list.readUInt8(this._pos)&i.WILL_RETAIN_MASK),v=(this._list.readUInt8(this._pos)&i.WILL_QOS_MASK)>>i.WILL_QOS_SHIFT;if(g.will)_.will={},_.will.retain=E,_.will.qos=v;else{if(E)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(v)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(_.clean=(this._list.readUInt8(this._pos)&i.CLEAN_SESSION_MASK)!==0,this._pos++,_.keepalive=this._parseNum(),_.keepalive===-1)return this._emitError(new Error("Packet too short"));if(_.protocolVersion===5){let w=this._parseProperties();Object.getOwnPropertyNames(w).length&&(_.properties=w)}let S=this._parseString();if(S===null)return this._emitError(new Error("Packet too short"));if(_.clientId=S,a("_parseConnect: packet.clientId: %s",_.clientId),g.will){if(_.protocolVersion===5){let w=this._parseProperties();Object.getOwnPropertyNames(w).length&&(_.will.properties=w)}if(u=this._parseString(),u===null)return this._emitError(new Error("Cannot parse will topic"));if(_.will.topic=u,a("_parseConnect: packet.will.topic: %s",_.will.topic),f=this._parseBuffer(),f===null)return this._emitError(new Error("Cannot parse will payload"));_.will.payload=f,a("_parseConnect: packet.will.paylaod: %s",_.will.payload)}if(g.username){if(p=this._parseString(),p===null)return this._emitError(new Error("Cannot parse username"));_.username=p,a("_parseConnect: packet.username: %s",_.username)}if(g.password){if(d=this._parseBuffer(),d===null)return this._emitError(new Error("Cannot parse password"));_.password=d}return this.settings=_,a("_parseConnect: complete"),_}_parseConnack(){a("_parseConnack");let u=this.packet;if(this._list.length<1)return null;let f=this._list.readUInt8(this._pos++);if(f>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(u.sessionPresent=!!(f&i.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?u.reasonCode=this._list.readUInt8(this._pos++):u.reasonCode=0;else{if(this._list.length<2)return null;u.returnCode=this._list.readUInt8(this._pos++)}if(u.returnCode===-1||u.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(u.properties=d)}a("_parseConnack: complete")}_parsePublish(){a("_parsePublish");let u=this.packet;if(u.topic=this._parseString(),u.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(u.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){let f=this._parseProperties();Object.getOwnPropertyNames(f).length&&(u.properties=f)}u.payload=this._list.slice(this._pos,u.length),a("_parsePublish: payload from buffer list: %o",u.payload)}}_parseSubscribe(){a("_parseSubscribe");let u=this.packet,f,d,p,g,_,b,E;if(u.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(u.properties=v)}if(u.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos=u.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(d=this._parseByte(),this.settings.protocolVersion===5){if(d&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(d&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(p=d&i.SUBSCRIBE_OPTIONS_QOS_MASK,p>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(b=(d>>i.SUBSCRIBE_OPTIONS_NL_SHIFT&i.SUBSCRIBE_OPTIONS_NL_MASK)!==0,_=(d>>i.SUBSCRIBE_OPTIONS_RAP_SHIFT&i.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,g=d>>i.SUBSCRIBE_OPTIONS_RH_SHIFT&i.SUBSCRIBE_OPTIONS_RH_MASK,g>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));E={topic:f,qos:p},this.settings.protocolVersion===5?(E.nl=b,E.rap=_,E.rh=g):this.settings.bridgeMode&&(E.rh=0,E.rap=!0,E.nl=!0),a("_parseSubscribe: push subscription `%s` to subscription",E),u.subscriptions.push(E)}}}_parseSuback(){a("_parseSuback");let u=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let f=this._parseProperties();Object.getOwnPropertyNames(f).length&&(u.properties=f)}if(u.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&f!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(f)}}}_parseUnsubscribe(){a("_parseUnsubscribe");let u=this.packet;if(u.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let f=this._parseProperties();Object.getOwnPropertyNames(f).length&&(u.properties=f)}if(u.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(u.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!i.MQTT5_PUBACK_PUBREC_CODES[u.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!i.MQTT5_PUBREL_PUBCOMP_CODES[u.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}a("_parseConfirmation: packet.reasonCode `%d`",u.reasonCode)}else u.reasonCode=0;if(u.length>3){let f=this._parseProperties();Object.getOwnPropertyNames(f).length&&(u.properties=f)}}return!0}_parseDisconnect(){let u=this.packet;if(a("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(u.reasonCode=this._parseByte(),i.MQTT5_DISCONNECT_CODES[u.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):u.reasonCode=0;let f=this._parseProperties();Object.getOwnPropertyNames(f).length&&(u.properties=f)}return a("_parseDisconnect result: true"),!0}_parseAuth(){a("_parseAuth");let u=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(u.reasonCode=this._parseByte(),!i.MQTT5_AUTH_CODES[u.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let f=this._parseProperties();return Object.getOwnPropertyNames(f).length&&(u.properties=f),a("_parseAuth: result: true"),!0}_parseMessageId(){let u=this.packet;return u.messageId=this._parseNum(),u.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(a("_parseMessageId: packet.messageId %d",u.messageId),!0)}_parseString(u){let f=this._parseNum(),d=f+this._pos;if(f===-1||d>this._list.length||d>this.packet.length)return null;let p=this._list.toString("utf8",this._pos,d);return this._pos+=f,a("_parseString: result: %s",p),p}_parseStringPair(){return a("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let u=this._parseNum(),f=u+this._pos;if(u===-1||f>this._list.length||f>this.packet.length)return null;let d=this._list.slice(this._pos,f);return this._pos+=u,a("_parseBuffer: result: %o",d),d}_parseNum(){if(this._list.length-this._pos<2)return-1;let u=this._list.readUInt16BE(this._pos);return this._pos+=2,a("_parseNum: result: %s",u),u}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let u=this._list.readUInt32BE(this._pos);return this._pos+=4,a("_parse4ByteNum: result: %s",u),u}_parseVarByteNum(u){a("_parseVarByteNum");let f=4,d=0,p=1,g=0,_=!1,b,E=this._pos?this._pos:0;for(;d=d&&this._emitError(new Error("Invalid variable byte integer")),E&&(this._pos+=d),_?u?_={bytes:d,value:g}:_=g:_=!1,a("_parseVarByteNum: result: %o",_),_}_parseByte(){let u;return this._pos{be(),ve(),we();var{Buffer:r}=(mt(),ze(gt)),n=65536,s={},i=r.isBuffer(r.from([1,2]).subarray(0,1));function a(f){let d=r.allocUnsafe(2);return d.writeUInt8(f>>8,0),d.writeUInt8(f&255,1),d}function o(){for(let f=0;f0&&(d=d|128),g.writeUInt8(d,p++);while(f>0&&p<4);return f>0&&(p=0),i?g.subarray(0,p):g.slice(0,p)}function u(f){let d=r.allocUnsafe(4);return d.writeUInt32BE(f,0),d}t.exports={cache:s,generateCache:o,generateNumber:a,genBufVariableByteInt:l,generate4ByteBuffer:u}}),RC=Ae((e,t)=>{be(),ve(),we(),typeof He>"u"||!He.version||He.version.indexOf("v0.")===0||He.version.indexOf("v1.")===0&&He.version.indexOf("v1.8.")!==0?t.exports={nextTick:r}:t.exports=He;function r(n,s,i,a){if(typeof n!="function")throw new TypeError('"callback" argument must be a function');var o=arguments.length,l,u;switch(o){case 0:case 1:return He.nextTick(n);case 2:return He.nextTick(function(){n.call(null,s)});case 3:return He.nextTick(function(){n.call(null,s,i)});case 4:return He.nextTick(function(){n.call(null,s,i,a)});default:for(l=new Array(o-1),u=0;u{be(),ve(),we();var r=iw(),{Buffer:n}=(mt(),ze(gt)),s=n.allocUnsafe(0),i=n.from([0]),a=CC(),o=RC().nextTick,l=Xr()("mqtt-packet:writeToStream"),u=a.cache,f=a.generateNumber,d=a.generateCache,p=a.genBufVariableByteInt,g=a.generate4ByteBuffer,_=pe,b=!0;function E(q,k,W){switch(l("generate called"),k.cork&&(k.cork(),o(v,k)),b&&(b=!1,d()),l("generate: packet.cmd: %s",q.cmd),q.cmd){case"connect":return S(q,k);case"connack":return w(q,k,W);case"publish":return C(q,k,W);case"puback":case"pubrec":case"pubrel":case"pubcomp":return R(q,k,W);case"subscribe":return O(q,k,W);case"suback":return D(q,k,W);case"unsubscribe":return V(q,k,W);case"unsuback":return re(q,k,W);case"pingreq":case"pingresp":return G(q,k);case"disconnect":return X(q,k,W);case"auth":return L(q,k,W);default:return k.destroy(new Error("Unknown command")),!1}}Object.defineProperty(E,"cacheNumbers",{get(){return _===pe},set(q){q?((!u||Object.keys(u).length===0)&&(b=!0),_=pe):(b=!1,_=z)}});function v(q){q.uncork()}function S(q,k,W){let te=q||{},ee=te.protocolId||"MQTT",A=te.protocolVersion||4,T=te.will,M=te.clean,I=te.keepalive||0,B=te.clientId||"",U=te.username,Z=te.password,j=te.properties;M===void 0&&(M=!0);let F=0;if(!ee||typeof ee!="string"&&!n.isBuffer(ee))return k.destroy(new Error("Invalid protocolId")),!1;if(F+=ee.length+2,A!==3&&A!==4&&A!==5)return k.destroy(new Error("Invalid protocol version")),!1;if(F+=1,(typeof B=="string"||n.isBuffer(B))&&(B||A>=4)&&(B||M))F+=n.byteLength(B)+2;else{if(A<4)return k.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(M*1===0)return k.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof I!="number"||I<0||I>65535||I%1!==0)return k.destroy(new Error("Invalid keepalive")),!1;F+=2,F+=1;let K,P;if(A===5){if(K=he(k,j),!K)return!1;F+=K.length}if(T){if(typeof T!="object")return k.destroy(new Error("Invalid will")),!1;if(!T.topic||typeof T.topic!="string")return k.destroy(new Error("Invalid will topic")),!1;if(F+=n.byteLength(T.topic)+2,F+=2,T.payload)if(T.payload.length>=0)typeof T.payload=="string"?F+=n.byteLength(T.payload):F+=T.payload.length;else return k.destroy(new Error("Invalid will payload")),!1;if(P={},A===5){if(P=he(k,T.properties),!P)return!1;F+=P.length}}let J=!1;if(U!=null)if(Q(U))J=!0,F+=n.byteLength(U)+2;else return k.destroy(new Error("Invalid username")),!1;if(Z!=null){if(!J)return k.destroy(new Error("Username is required to use password")),!1;if(Q(Z))F+=oe(Z)+2;else return k.destroy(new Error("Invalid password")),!1}k.write(r.CONNECT_HEADER),ae(k,F),Y(k,ee),te.bridgeMode&&(A+=128),k.write(A===131?r.VERSION131:A===132?r.VERSION132:A===4?r.VERSION4:A===5?r.VERSION5:r.VERSION3);let le=0;return le|=U!=null?r.USERNAME_MASK:0,le|=Z!=null?r.PASSWORD_MASK:0,le|=T&&T.retain?r.WILL_RETAIN_MASK:0,le|=T&&T.qos?T.qos<0&&_(k,B),j==null||j.write(),l("publish: payload: %o",I),k.write(I)}function R(q,k,W){let te=W?W.protocolVersion:4,ee=q||{},A=ee.cmd||"puback",T=ee.messageId,M=ee.dup&&A==="pubrel"?r.DUP_MASK:0,I=0,B=ee.reasonCode,U=ee.properties,Z=te===5?3:2;if(A==="pubrel"&&(I=1),typeof T!="number")return k.destroy(new Error("Invalid messageId")),!1;let j=null;if(te===5&&typeof U=="object"){if(j=N(k,U,W,Z),!j)return!1;Z+=j.length}return k.write(r.ACKS[A][I][M][0]),Z===3&&(Z+=B!==0?1:-1),ae(k,Z),_(k,T),te===5&&Z!==2&&k.write(n.from([B])),j!==null?j.write():Z===4&&k.write(n.from([0])),!0}function O(q,k,W){l("subscribe: packet: ");let te=W?W.protocolVersion:4,ee=q||{},A=ee.dup?r.DUP_MASK:0,T=ee.messageId,M=ee.subscriptions,I=ee.properties,B=0;if(typeof T!="number")return k.destroy(new Error("Invalid messageId")),!1;B+=2;let U=null;if(te===5){if(U=he(k,I),!U)return!1;B+=U.length}if(typeof M=="object"&&M.length)for(let j=0;j2)return k.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}B+=n.byteLength(F)+2+1}else return k.destroy(new Error("Invalid subscriptions")),!1;l("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),k.write(r.SUBSCRIBE_HEADER[1][A?1:0][0]),ae(k,B),_(k,T),U!==null&&U.write();let Z=!0;for(let j of M){let F=j.topic,K=j.qos,P=+j.nl,J=+j.rap,le=j.rh,me;ce(k,F),me=r.SUBSCRIBE_OPTIONS_QOS[K],te===5&&(me|=P?r.SUBSCRIBE_OPTIONS_NL:0,me|=J?r.SUBSCRIBE_OPTIONS_RAP:0,me|=le?r.SUBSCRIBE_OPTIONS_RH[le]:0),Z=k.write(n.from([me]))}return Z}function D(q,k,W){let te=W?W.protocolVersion:4,ee=q||{},A=ee.messageId,T=ee.granted,M=ee.properties,I=0;if(typeof A!="number")return k.destroy(new Error("Invalid messageId")),!1;if(I+=2,typeof T=="object"&&T.length)for(let U=0;Ur.VARBYTEINT_MAX)return q.destroy(new Error(`Invalid variable byte integer: ${k}`)),!1;let W=$[k];return W||(W=p(k),k<16384&&($[k]=W)),l("writeVarByteInt: writing to stream: %o",W),q.write(W)}function ce(q,k){let W=n.byteLength(k);return _(q,W),l("writeString: %s",k),q.write(k,"utf8")}function de(q,k,W){ce(q,k),ce(q,W)}function pe(q,k){return l("writeNumberCached: number: %d",k),l("writeNumberCached: %o",u[k]),q.write(u[k])}function z(q,k){let W=f(k);return l("writeNumberGenerated: %o",W),q.write(W)}function ge(q,k){let W=g(k);return l("write4ByteNumber: %o",W),q.write(W)}function Y(q,k){typeof k=="string"?ce(q,k):k?(_(q,k.length),q.write(k)):_(q,0)}function he(q,k){if(typeof k!="object"||k.length!=null)return{length:1,write(){ye(q,{},0)}};let W=0;function te(ee,A){let T=r.propertiesTypes[ee],M=0;switch(T){case"byte":{if(typeof A!="boolean")return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=2;break}case"int8":{if(typeof A!="number"||A<0||A>255)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=2;break}case"binary":{if(A&&A===null)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=1+n.byteLength(A)+2;break}case"int16":{if(typeof A!="number"||A<0||A>65535)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=3;break}case"int32":{if(typeof A!="number"||A<0||A>4294967295)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=5;break}case"var":{if(typeof A!="number"||A<0||A>268435455)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=1+n.byteLength(p(A));break}case"string":{if(typeof A!="string")return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=3+n.byteLength(A.toString());break}case"pair":{if(typeof A!="object")return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=Object.getOwnPropertyNames(A).reduce((I,B)=>{let U=A[B];return Array.isArray(U)?I+=U.reduce((Z,j)=>(Z+=3+n.byteLength(B.toString())+2+n.byteLength(j.toString()),Z),0):I+=3+n.byteLength(B.toString())+2+n.byteLength(A[B].toString()),I},0);break}default:return q.destroy(new Error(`Invalid property ${ee}: ${A}`)),!1}return M}if(k)for(let ee in k){let A=0,T=0,M=k[ee];if(Array.isArray(M))for(let I=0;IA;){let M=ee.shift();if(M&&k[M])delete k[M],T=he(q,k);else return!1}return T}function ne(q,k,W){switch(r.propertiesTypes[k]){case"byte":{q.write(n.from([r.properties[k]])),q.write(n.from([+W]));break}case"int8":{q.write(n.from([r.properties[k]])),q.write(n.from([W]));break}case"binary":{q.write(n.from([r.properties[k]])),Y(q,W);break}case"int16":{q.write(n.from([r.properties[k]])),_(q,W);break}case"int32":{q.write(n.from([r.properties[k]])),ge(q,W);break}case"var":{q.write(n.from([r.properties[k]])),ae(q,W);break}case"string":{q.write(n.from([r.properties[k]])),ce(q,W);break}case"pair":{Object.getOwnPropertyNames(W).forEach(te=>{let ee=W[te];Array.isArray(ee)?ee.forEach(A=>{q.write(n.from([r.properties[k]])),de(q,te.toString(),A.toString())}):(q.write(n.from([r.properties[k]])),de(q,te.toString(),ee.toString()))});break}default:return q.destroy(new Error(`Invalid property ${k} value: ${W}`)),!1}}function ye(q,k,W){ae(q,W);for(let te in k)if(Object.prototype.hasOwnProperty.call(k,te)&&k[te]!==null){let ee=k[te];if(Array.isArray(ee))for(let A=0;A{be(),ve(),we();var r=sw(),{EventEmitter:n}=(ds(),ze(yi)),{Buffer:s}=(mt(),ze(gt));function i(o,l){let u=new a;return r(o,u,l),u.concat()}var a=class extends n{constructor(){super(),this._array=new Array(20),this._i=0}write(o){return this._array[this._i++]=o,!0}concat(){let o=0,l=new Array(this._array.length),u=this._array,f=0,d;for(d=0;d{be(),ve(),we(),e.parser=IC().parser,e.generate=OC(),e.writeToStream=sw()}),ow=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=class{constructor(){this.nextId=Math.max(1,Math.floor(Math.random()*65535))}allocate(){let r=this.nextId++;return this.nextId===65536&&(this.nextId=1),r}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(r){return!0}deallocate(r){}clear(){}};e.default=t}),MC=Ae((e,t)=>{be(),ve(),we(),t.exports=n;function r(i){return i instanceof Pa?Pa.from(i):new i.constructor(i.buffer.slice(),i.byteOffset,i.length)}function n(i){if(i=i||{},i.circles)return s(i);return i.proto?l:o;function a(u,f){for(var d=Object.keys(u),p=new Array(d.length),g=0;g{be(),ve(),we(),t.exports=MC()()}),PC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.validateTopics=e.validateTopic=void 0;function t(n){let s=n.split("/");for(let i=0;i{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=_i(),r={objectMode:!0},n={clean:!0},s=class{constructor(i){this.options=i||{},this.options=Object.assign(Object.assign({},n),i),this._inflights=new Map}put(i,a){return this._inflights.set(i.messageId,i),a&&a(),this}createStream(){let i=new t.Readable(r),a=[],o=!1,l=0;return this._inflights.forEach((u,f)=>{a.push(u)}),i._read=()=>{!o&&l{if(!o)return o=!0,setTimeout(()=>{i.emit("close")},0),i},i}del(i,a){let o=this._inflights.get(i.messageId);return o?(this._inflights.delete(i.messageId),a(null,o)):a&&a(new Error("missing packet")),this}get(i,a){let o=this._inflights.get(i.messageId);return o?a(null,o):a&&a(new Error("missing packet")),this}close(i){this.options.clean&&(this._inflights=null),i&&i()}};e.default=s}),LC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=[0,16,128,131,135,144,145,151,153],r=(n,s,i)=>{n.log("handlePublish: packet %o",s),i=typeof i<"u"?i:n.noop;let a=s.topic.toString(),o=s.payload,{qos:l}=s,{messageId:u}=s,{options:f}=n;if(n.options.protocolVersion===5){let d;if(s.properties&&(d=s.properties.topicAlias),typeof d<"u")if(a.length===0)if(d>0&&d<=65535){let p=n.topicAliasRecv.getTopicByAlias(d);if(p)a=p,n.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",a,d);else{n.log("handlePublish :: unregistered topic alias. alias: %d",d),n.emit("error",new Error("Received unregistered Topic Alias"));return}}else{n.log("handlePublish :: topic alias out of range. alias: %d",d),n.emit("error",new Error("Received Topic Alias is out of range"));return}else if(n.topicAliasRecv.put(a,d))n.log("handlePublish :: registered topic: %s - alias: %d",a,d);else{n.log("handlePublish :: topic alias out of range. alias: %d",d),n.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(n.log("handlePublish: qos %d",l),l){case 2:{f.customHandleAcks(a,o,s,(d,p)=>{if(typeof d=="number"&&(p=d,d=null),d)return n.emit("error",d);if(t.indexOf(p)===-1)return n.emit("error",new Error("Wrong reason code for pubrec"));p?n._sendPacket({cmd:"pubrec",messageId:u,reasonCode:p},i):n.incomingStore.put(s,()=>{n._sendPacket({cmd:"pubrec",messageId:u},i)})});break}case 1:{f.customHandleAcks(a,o,s,(d,p)=>{if(typeof d=="number"&&(p=d,d=null),d)return n.emit("error",d);if(t.indexOf(p)===-1)return n.emit("error",new Error("Wrong reason code for puback"));p||n.emit("message",a,o,s),n.handleMessage(s,g=>{if(g)return i&&i(g);n._sendPacket({cmd:"puback",messageId:u,reasonCode:p},i)})});break}case 0:n.emit("message",a,o,s),n.handleMessage(s,i);break;default:n.log("handlePublish: unknown QoS. Doing nothing.");break}};e.default=r}),BC=Ae((e,t)=>{t.exports={version:"5.10.3"}}),ps=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.MQTTJS_VERSION=e.nextTick=e.applyMixin=e.ErrorWithReasonCode=void 0;var t=class lw extends Error{constructor(s,i){super(s),this.code=i,Object.setPrototypeOf(this,lw.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};e.ErrorWithReasonCode=t;function r(n,s,i=!1){var a;let o=[s];for(;;){let l=o[0],u=Object.getPrototypeOf(l);if(u!=null&&u.prototype)o.unshift(u);else break}for(let l of o)for(let u of Object.getOwnPropertyNames(l.prototype))(i||u!=="constructor")&&Object.defineProperty(n.prototype,u,(a=Object.getOwnPropertyDescriptor(l.prototype,u))!==null&&a!==void 0?a:Object.create(null))}e.applyMixin=r,e.nextTick=typeof(He==null?void 0:He.nextTick)=="function"?He.nextTick:n=>{setTimeout(n,0)},e.MQTTJS_VERSION=BC().version}),El=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.ReasonCodes=void 0;var t=ps();e.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"};var r=(n,s)=>{let{messageId:i}=s,a=s.cmd,o=null,l=n.outgoing[i]?n.outgoing[i].cb:null,u=null;if(!l){n.log("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(n.log("_handleAck :: packet type",a),a){case"pubcomp":case"puback":{let f=s.reasonCode;f&&f>0&&f!==16?(u=new t.ErrorWithReasonCode(`Publish error: ${e.ReasonCodes[f]}`,f),n._removeOutgoingAndStoreMessage(i,()=>{l(u,s)})):n._removeOutgoingAndStoreMessage(i,l);break}case"pubrec":{o={cmd:"pubrel",qos:2,messageId:i};let f=s.reasonCode;f&&f>0&&f!==16?(u=new t.ErrorWithReasonCode(`Publish error: ${e.ReasonCodes[f]}`,f),n._removeOutgoingAndStoreMessage(i,()=>{l(u,s)})):n._sendPacket(o);break}case"suback":{delete n.outgoing[i],n.messageIdProvider.deallocate(i);let f=s.granted;for(let d=0;d{delete n._resubscribeTopics[_]})}}delete n.messageIdToTopic[i],n._invokeStoreProcessingQueue(),l(u,s);break}case"unsuback":{delete n.outgoing[i],n.messageIdProvider.deallocate(i),n._invokeStoreProcessingQueue(),l(null,s);break}default:n.emit("error",new Error("unrecognized packet type"))}n.disconnecting&&Object.keys(n.outgoing).length===0&&n.emit("outgoingEmpty")};e.default=r}),DC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=ps(),r=El(),n=(s,i)=>{let{options:a}=s,o=a.protocolVersion,l=o===5?i.reasonCode:i.returnCode;if(o!==5){let u=new t.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${o}`,l);s.emit("error",u);return}s.handleAuth(i,(u,f)=>{if(u){s.emit("error",u);return}if(l===24)s.reconnecting=!1,s._sendPacket(f);else{let d=new t.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[l]}`,l);s.emit("error",d)}})};e.default=n}),UC=Ae(e=>{var g,_,b,E,v,S,w,C,R,O,D,V,re,G,X,L,$,ae,ce,de,pe,z,ge,Y,he,N,qc,ye,oe,Q,q,uw,W,te,ee,cn,hn,Kc,ua,fa,Je,Yc,Fs,F;be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=void 0;var t=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,n=typeof He=="object"&&He?He:{},s=(K,P,J,le)=>{typeof n.emitWarning=="function"?n.emitWarning(K,P,J,le):console.error(`[${J}] ${P}: ${K}`)},i=globalThis.AbortController,a=globalThis.AbortSignal;if(typeof i>"u"){a=class{constructor(){tt(this,"onabort");tt(this,"_onabort",[]);tt(this,"reason");tt(this,"aborted",!1)}addEventListener(J,le){this._onabort.push(le)}},i=class{constructor(){tt(this,"signal",new a);P()}abort(J){var le,me;if(!this.signal.aborted){this.signal.reason=J,this.signal.aborted=!0;for(let y of this.signal._onabort)y(J);(me=(le=this.signal).onabort)==null||me.call(le,J)}}};let K=((g=n.env)==null?void 0:g.LRU_CACHE_IGNORE_AC_WARNING)!=="1",P=()=>{K&&(K=!1,s("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",P))}}var o=K=>!r.has(K),l=K=>K&&K===Math.floor(K)&&K>0&&isFinite(K),u=K=>l(K)?K<=Math.pow(2,8)?Uint8Array:K<=Math.pow(2,16)?Uint16Array:K<=Math.pow(2,32)?Uint32Array:K<=Number.MAX_SAFE_INTEGER?f:null:null,f=class extends Array{constructor(K){super(K),this.fill(0)}},d=(_=class{constructor(P,J){tt(this,"heap");tt(this,"length");if(!fe(_,b))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new J(P),this.length=0}static create(P){let J=u(P);if(!J)return[];Le(_,b,!0);let le=new _(P,J);return Le(_,b,!1),le}push(P){this.heap[this.length++]=P}pop(){return this.heap[--this.length]}},b=new WeakMap,Fe(_,b,!1),_),p=(F=class{constructor(P){Fe(this,N);Fe(this,E);Fe(this,v);Fe(this,S);Fe(this,w);Fe(this,C);tt(this,"ttl");tt(this,"ttlResolution");tt(this,"ttlAutopurge");tt(this,"updateAgeOnGet");tt(this,"updateAgeOnHas");tt(this,"allowStale");tt(this,"noDisposeOnSet");tt(this,"noUpdateTTL");tt(this,"maxEntrySize");tt(this,"sizeCalculation");tt(this,"noDeleteOnFetchRejection");tt(this,"noDeleteOnStaleGet");tt(this,"allowStaleOnFetchAbort");tt(this,"allowStaleOnFetchRejection");tt(this,"ignoreFetchAbort");Fe(this,R);Fe(this,O);Fe(this,D);Fe(this,V);Fe(this,re);Fe(this,G);Fe(this,X);Fe(this,L);Fe(this,$);Fe(this,ae);Fe(this,ce);Fe(this,de);Fe(this,pe);Fe(this,z);Fe(this,ge);Fe(this,Y);Fe(this,he);Fe(this,ye,()=>{});Fe(this,oe,()=>{});Fe(this,Q,()=>{});Fe(this,q,()=>!1);Fe(this,W,P=>{});Fe(this,te,(P,J,le)=>{});Fe(this,ee,(P,J,le,me)=>{if(le||me)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:J=0,ttl:le,ttlResolution:me=1,ttlAutopurge:y,updateAgeOnGet:h,updateAgeOnHas:c,allowStale:m,dispose:x,disposeAfter:H,noDisposeOnSet:se,noUpdateTTL:_e,maxSize:xe=0,maxEntrySize:Re=0,sizeCalculation:Te,fetchMethod:ke,noDeleteOnFetchRejection:Oe,noDeleteOnStaleGet:Ve,allowStaleOnFetchRejection:ot,allowStaleOnFetchAbort:Xe,ignoreFetchAbort:st}=P;if(J!==0&&!l(J))throw new TypeError("max option must be a nonnegative integer");let dt=J?u(J):Array;if(!dt)throw new Error("invalid max value: "+J);if(Le(this,E,J),Le(this,v,xe),this.maxEntrySize=Re||fe(this,v),this.sizeCalculation=Te,this.sizeCalculation){if(!fe(this,v)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(ke!==void 0&&typeof ke!="function")throw new TypeError("fetchMethod must be a function if specified");if(Le(this,C,ke),Le(this,Y,!!ke),Le(this,D,new Map),Le(this,V,new Array(J).fill(void 0)),Le(this,re,new Array(J).fill(void 0)),Le(this,G,new dt(J)),Le(this,X,new dt(J)),Le(this,L,0),Le(this,$,0),Le(this,ae,d.create(J)),Le(this,R,0),Le(this,O,0),typeof x=="function"&&Le(this,S,x),typeof H=="function"?(Le(this,w,H),Le(this,ce,[])):(Le(this,w,void 0),Le(this,ce,void 0)),Le(this,ge,!!fe(this,S)),Le(this,he,!!fe(this,w)),this.noDisposeOnSet=!!se,this.noUpdateTTL=!!_e,this.noDeleteOnFetchRejection=!!Oe,this.allowStaleOnFetchRejection=!!ot,this.allowStaleOnFetchAbort=!!Xe,this.ignoreFetchAbort=!!st,this.maxEntrySize!==0){if(fe(this,v)!==0&&!l(fe(this,v)))throw new TypeError("maxSize must be a positive integer if specified");if(!l(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Ne(this,N,uw).call(this)}if(this.allowStale=!!m,this.noDeleteOnStaleGet=!!Ve,this.updateAgeOnGet=!!h,this.updateAgeOnHas=!!c,this.ttlResolution=l(me)||me===0?me:1,this.ttlAutopurge=!!y,this.ttl=le||0,this.ttl){if(!l(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Ne(this,N,qc).call(this)}if(fe(this,E)===0&&this.ttl===0&&fe(this,v)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!fe(this,E)&&!fe(this,v)){let at="LRU_CACHE_UNBOUNDED";o(at)&&(r.add(at),s("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",at,F))}}static unsafeExposeInternals(P){return{starts:fe(P,pe),ttls:fe(P,z),sizes:fe(P,de),keyMap:fe(P,D),keyList:fe(P,V),valList:fe(P,re),next:fe(P,G),prev:fe(P,X),get head(){return fe(P,L)},get tail(){return fe(P,$)},free:fe(P,ae),isBackgroundFetch:J=>{var le;return Ne(le=P,N,Je).call(le,J)},backgroundFetch:(J,le,me,y)=>{var h;return Ne(h=P,N,fa).call(h,J,le,me,y)},moveToTail:J=>{var le;return Ne(le=P,N,Fs).call(le,J)},indexes:J=>{var le;return Ne(le=P,N,cn).call(le,J)},rindexes:J=>{var le;return Ne(le=P,N,hn).call(le,J)},isStale:J=>{var le;return fe(le=P,q).call(le,J)}}}get max(){return fe(this,E)}get maxSize(){return fe(this,v)}get calculatedSize(){return fe(this,O)}get size(){return fe(this,R)}get fetchMethod(){return fe(this,C)}get dispose(){return fe(this,S)}get disposeAfter(){return fe(this,w)}getRemainingTTL(P){return fe(this,D).has(P)?1/0:0}*entries(){for(let P of Ne(this,N,cn).call(this))fe(this,re)[P]!==void 0&&fe(this,V)[P]!==void 0&&!Ne(this,N,Je).call(this,fe(this,re)[P])&&(yield[fe(this,V)[P],fe(this,re)[P]])}*rentries(){for(let P of Ne(this,N,hn).call(this))fe(this,re)[P]!==void 0&&fe(this,V)[P]!==void 0&&!Ne(this,N,Je).call(this,fe(this,re)[P])&&(yield[fe(this,V)[P],fe(this,re)[P]])}*keys(){for(let P of Ne(this,N,cn).call(this)){let J=fe(this,V)[P];J!==void 0&&!Ne(this,N,Je).call(this,fe(this,re)[P])&&(yield J)}}*rkeys(){for(let P of Ne(this,N,hn).call(this)){let J=fe(this,V)[P];J!==void 0&&!Ne(this,N,Je).call(this,fe(this,re)[P])&&(yield J)}}*values(){for(let P of Ne(this,N,cn).call(this))fe(this,re)[P]!==void 0&&!Ne(this,N,Je).call(this,fe(this,re)[P])&&(yield fe(this,re)[P])}*rvalues(){for(let P of Ne(this,N,hn).call(this))fe(this,re)[P]!==void 0&&!Ne(this,N,Je).call(this,fe(this,re)[P])&&(yield fe(this,re)[P])}[Symbol.iterator](){return this.entries()}find(P,J={}){for(let le of Ne(this,N,cn).call(this)){let me=fe(this,re)[le],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;if(y!==void 0&&P(y,fe(this,V)[le],this))return this.get(fe(this,V)[le],J)}}forEach(P,J=this){for(let le of Ne(this,N,cn).call(this)){let me=fe(this,re)[le],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;y!==void 0&&P.call(J,y,fe(this,V)[le],this)}}rforEach(P,J=this){for(let le of Ne(this,N,hn).call(this)){let me=fe(this,re)[le],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;y!==void 0&&P.call(J,y,fe(this,V)[le],this)}}purgeStale(){let P=!1;for(let J of Ne(this,N,hn).call(this,{allowStale:!0}))fe(this,q).call(this,J)&&(this.delete(fe(this,V)[J]),P=!0);return P}dump(){let P=[];for(let J of Ne(this,N,cn).call(this,{allowStale:!0})){let le=fe(this,V)[J],me=fe(this,re)[J],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;if(y===void 0||le===void 0)continue;let h={value:y};if(fe(this,z)&&fe(this,pe)){h.ttl=fe(this,z)[J];let c=t.now()-fe(this,pe)[J];h.start=Math.floor(Date.now()-c)}fe(this,de)&&(h.size=fe(this,de)[J]),P.unshift([le,h])}return P}load(P){this.clear();for(let[J,le]of P){if(le.start){let me=Date.now()-le.start;le.start=t.now()-me}this.set(J,le.value,le)}}set(P,J,le={}){var _e,xe,Re,Te,ke;if(J===void 0)return this.delete(P),this;let{ttl:me=this.ttl,start:y,noDisposeOnSet:h=this.noDisposeOnSet,sizeCalculation:c=this.sizeCalculation,status:m}=le,{noUpdateTTL:x=this.noUpdateTTL}=le,H=fe(this,ee).call(this,P,J,le.size||0,c);if(this.maxEntrySize&&H>this.maxEntrySize)return m&&(m.set="miss",m.maxEntrySizeExceeded=!0),this.delete(P),this;let se=fe(this,R)===0?void 0:fe(this,D).get(P);if(se===void 0)se=fe(this,R)===0?fe(this,$):fe(this,ae).length!==0?fe(this,ae).pop():fe(this,R)===fe(this,E)?Ne(this,N,ua).call(this,!1):fe(this,R),fe(this,V)[se]=P,fe(this,re)[se]=J,fe(this,D).set(P,se),fe(this,G)[fe(this,$)]=se,fe(this,X)[se]=fe(this,$),Le(this,$,se),So(this,R)._++,fe(this,te).call(this,se,H,m),m&&(m.set="add"),x=!1;else{Ne(this,N,Fs).call(this,se);let Oe=fe(this,re)[se];if(J!==Oe){if(fe(this,Y)&&Ne(this,N,Je).call(this,Oe)){Oe.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ve}=Oe;Ve!==void 0&&!h&&(fe(this,ge)&&((_e=fe(this,S))==null||_e.call(this,Ve,P,"set")),fe(this,he)&&((xe=fe(this,ce))==null||xe.push([Ve,P,"set"])))}else h||(fe(this,ge)&&((Re=fe(this,S))==null||Re.call(this,Oe,P,"set")),fe(this,he)&&((Te=fe(this,ce))==null||Te.push([Oe,P,"set"])));if(fe(this,W).call(this,se),fe(this,te).call(this,se,H,m),fe(this,re)[se]=J,m){m.set="replace";let Ve=Oe&&Ne(this,N,Je).call(this,Oe)?Oe.__staleWhileFetching:Oe;Ve!==void 0&&(m.oldValue=Ve)}}else m&&(m.set="update")}if(me!==0&&!fe(this,z)&&Ne(this,N,qc).call(this),fe(this,z)&&(x||fe(this,Q).call(this,se,me,y),m&&fe(this,oe).call(this,m,se)),!h&&fe(this,he)&&fe(this,ce)){let Oe=fe(this,ce),Ve;for(;Ve=Oe==null?void 0:Oe.shift();)(ke=fe(this,w))==null||ke.call(this,...Ve)}return this}pop(){var P;try{for(;fe(this,R);){let J=fe(this,re)[fe(this,L)];if(Ne(this,N,ua).call(this,!0),Ne(this,N,Je).call(this,J)){if(J.__staleWhileFetching)return J.__staleWhileFetching}else if(J!==void 0)return J}}finally{if(fe(this,he)&&fe(this,ce)){let J=fe(this,ce),le;for(;le=J==null?void 0:J.shift();)(P=fe(this,w))==null||P.call(this,...le)}}}has(P,J={}){let{updateAgeOnHas:le=this.updateAgeOnHas,status:me}=J,y=fe(this,D).get(P);if(y!==void 0){let h=fe(this,re)[y];if(Ne(this,N,Je).call(this,h)&&h.__staleWhileFetching===void 0)return!1;if(fe(this,q).call(this,y))me&&(me.has="stale",fe(this,oe).call(this,me,y));else return le&&fe(this,ye).call(this,y),me&&(me.has="hit",fe(this,oe).call(this,me,y)),!0}else me&&(me.has="miss");return!1}peek(P,J={}){let{allowStale:le=this.allowStale}=J,me=fe(this,D).get(P);if(me!==void 0&&(le||!fe(this,q).call(this,me))){let y=fe(this,re)[me];return Ne(this,N,Je).call(this,y)?y.__staleWhileFetching:y}}async fetch(P,J={}){let{allowStale:le=this.allowStale,updateAgeOnGet:me=this.updateAgeOnGet,noDeleteOnStaleGet:y=this.noDeleteOnStaleGet,ttl:h=this.ttl,noDisposeOnSet:c=this.noDisposeOnSet,size:m=0,sizeCalculation:x=this.sizeCalculation,noUpdateTTL:H=this.noUpdateTTL,noDeleteOnFetchRejection:se=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:_e=this.allowStaleOnFetchRejection,ignoreFetchAbort:xe=this.ignoreFetchAbort,allowStaleOnFetchAbort:Re=this.allowStaleOnFetchAbort,context:Te,forceRefresh:ke=!1,status:Oe,signal:Ve}=J;if(!fe(this,Y))return Oe&&(Oe.fetch="get"),this.get(P,{allowStale:le,updateAgeOnGet:me,noDeleteOnStaleGet:y,status:Oe});let ot={allowStale:le,updateAgeOnGet:me,noDeleteOnStaleGet:y,ttl:h,noDisposeOnSet:c,size:m,sizeCalculation:x,noUpdateTTL:H,noDeleteOnFetchRejection:se,allowStaleOnFetchRejection:_e,allowStaleOnFetchAbort:Re,ignoreFetchAbort:xe,status:Oe,signal:Ve},Xe=fe(this,D).get(P);if(Xe===void 0){Oe&&(Oe.fetch="miss");let st=Ne(this,N,fa).call(this,P,Xe,ot,Te);return st.__returned=st}else{let st=fe(this,re)[Xe];if(Ne(this,N,Je).call(this,st)){let ys=le&&st.__staleWhileFetching!==void 0;return Oe&&(Oe.fetch="inflight",ys&&(Oe.returnedStale=!0)),ys?st.__staleWhileFetching:st.__returned=st}let dt=fe(this,q).call(this,Xe);if(!ke&&!dt)return Oe&&(Oe.fetch="hit"),Ne(this,N,Fs).call(this,Xe),me&&fe(this,ye).call(this,Xe),Oe&&fe(this,oe).call(this,Oe,Xe),st;let at=Ne(this,N,fa).call(this,P,Xe,ot,Te),Si=at.__staleWhileFetching!==void 0&≤return Oe&&(Oe.fetch=dt?"stale":"refresh",Si&&dt&&(Oe.returnedStale=!0)),Si?at.__staleWhileFetching:at.__returned=at}}get(P,J={}){let{allowStale:le=this.allowStale,updateAgeOnGet:me=this.updateAgeOnGet,noDeleteOnStaleGet:y=this.noDeleteOnStaleGet,status:h}=J,c=fe(this,D).get(P);if(c!==void 0){let m=fe(this,re)[c],x=Ne(this,N,Je).call(this,m);return h&&fe(this,oe).call(this,h,c),fe(this,q).call(this,c)?(h&&(h.get="stale"),x?(h&&le&&m.__staleWhileFetching!==void 0&&(h.returnedStale=!0),le?m.__staleWhileFetching:void 0):(y||this.delete(P),h&&le&&(h.returnedStale=!0),le?m:void 0)):(h&&(h.get="hit"),x?m.__staleWhileFetching:(Ne(this,N,Fs).call(this,c),me&&fe(this,ye).call(this,c),m))}else h&&(h.get="miss")}delete(P){var le,me,y,h;let J=!1;if(fe(this,R)!==0){let c=fe(this,D).get(P);if(c!==void 0)if(J=!0,fe(this,R)===1)this.clear();else{fe(this,W).call(this,c);let m=fe(this,re)[c];Ne(this,N,Je).call(this,m)?m.__abortController.abort(new Error("deleted")):(fe(this,ge)||fe(this,he))&&(fe(this,ge)&&((le=fe(this,S))==null||le.call(this,m,P,"delete")),fe(this,he)&&((me=fe(this,ce))==null||me.push([m,P,"delete"]))),fe(this,D).delete(P),fe(this,V)[c]=void 0,fe(this,re)[c]=void 0,c===fe(this,$)?Le(this,$,fe(this,X)[c]):c===fe(this,L)?Le(this,L,fe(this,G)[c]):(fe(this,G)[fe(this,X)[c]]=fe(this,G)[c],fe(this,X)[fe(this,G)[c]]=fe(this,X)[c]),So(this,R)._--,fe(this,ae).push(c)}}if(fe(this,he)&&((y=fe(this,ce))!=null&&y.length)){let c=fe(this,ce),m;for(;m=c==null?void 0:c.shift();)(h=fe(this,w))==null||h.call(this,...m)}return J}clear(){var P,J,le;for(let me of Ne(this,N,hn).call(this,{allowStale:!0})){let y=fe(this,re)[me];if(Ne(this,N,Je).call(this,y))y.__abortController.abort(new Error("deleted"));else{let h=fe(this,V)[me];fe(this,ge)&&((P=fe(this,S))==null||P.call(this,y,h,"delete")),fe(this,he)&&((J=fe(this,ce))==null||J.push([y,h,"delete"]))}}if(fe(this,D).clear(),fe(this,re).fill(void 0),fe(this,V).fill(void 0),fe(this,z)&&fe(this,pe)&&(fe(this,z).fill(0),fe(this,pe).fill(0)),fe(this,de)&&fe(this,de).fill(0),Le(this,L,0),Le(this,$,0),fe(this,ae).length=0,Le(this,O,0),Le(this,R,0),fe(this,he)&&fe(this,ce)){let me=fe(this,ce),y;for(;y=me==null?void 0:me.shift();)(le=fe(this,w))==null||le.call(this,...y)}}},E=new WeakMap,v=new WeakMap,S=new WeakMap,w=new WeakMap,C=new WeakMap,R=new WeakMap,O=new WeakMap,D=new WeakMap,V=new WeakMap,re=new WeakMap,G=new WeakMap,X=new WeakMap,L=new WeakMap,$=new WeakMap,ae=new WeakMap,ce=new WeakMap,de=new WeakMap,pe=new WeakMap,z=new WeakMap,ge=new WeakMap,Y=new WeakMap,he=new WeakMap,N=new WeakSet,qc=function(){let P=new f(fe(this,E)),J=new f(fe(this,E));Le(this,z,P),Le(this,pe,J),Le(this,Q,(y,h,c=t.now())=>{if(J[y]=h!==0?c:0,P[y]=h,h!==0&&this.ttlAutopurge){let m=setTimeout(()=>{fe(this,q).call(this,y)&&this.delete(fe(this,V)[y])},h+1);m.unref&&m.unref()}}),Le(this,ye,y=>{J[y]=P[y]!==0?t.now():0}),Le(this,oe,(y,h)=>{if(P[h]){let c=P[h],m=J[h];y.ttl=c,y.start=m,y.now=le||me();let x=y.now-m;y.remainingTTL=c-x}});let le=0,me=()=>{let y=t.now();if(this.ttlResolution>0){le=y;let h=setTimeout(()=>le=0,this.ttlResolution);h.unref&&h.unref()}return y};this.getRemainingTTL=y=>{let h=fe(this,D).get(y);if(h===void 0)return 0;let c=P[h],m=J[h];if(c===0||m===0)return 1/0;let x=(le||me())-m;return c-x},Le(this,q,y=>P[y]!==0&&J[y]!==0&&(le||me())-J[y]>P[y])},ye=new WeakMap,oe=new WeakMap,Q=new WeakMap,q=new WeakMap,uw=function(){let P=new f(fe(this,E));Le(this,O,0),Le(this,de,P),Le(this,W,J=>{Le(this,O,fe(this,O)-P[J]),P[J]=0}),Le(this,ee,(J,le,me,y)=>{if(Ne(this,N,Je).call(this,le))return 0;if(!l(me))if(y){if(typeof y!="function")throw new TypeError("sizeCalculation must be a function");if(me=y(le,J),!l(me))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return me}),Le(this,te,(J,le,me)=>{if(P[J]=le,fe(this,v)){let y=fe(this,v)-P[J];for(;fe(this,O)>y;)Ne(this,N,ua).call(this,!0)}Le(this,O,fe(this,O)+P[J]),me&&(me.entrySize=le,me.totalCalculatedSize=fe(this,O))})},W=new WeakMap,te=new WeakMap,ee=new WeakMap,cn=function*({allowStale:P=this.allowStale}={}){if(fe(this,R))for(let J=fe(this,$);!(!Ne(this,N,Kc).call(this,J)||((P||!fe(this,q).call(this,J))&&(yield J),J===fe(this,L)));)J=fe(this,X)[J]},hn=function*({allowStale:P=this.allowStale}={}){if(fe(this,R))for(let J=fe(this,L);!(!Ne(this,N,Kc).call(this,J)||((P||!fe(this,q).call(this,J))&&(yield J),J===fe(this,$)));)J=fe(this,G)[J]},Kc=function(P){return P!==void 0&&fe(this,D).get(fe(this,V)[P])===P},ua=function(P){var y,h;let J=fe(this,L),le=fe(this,V)[J],me=fe(this,re)[J];return fe(this,Y)&&Ne(this,N,Je).call(this,me)?me.__abortController.abort(new Error("evicted")):(fe(this,ge)||fe(this,he))&&(fe(this,ge)&&((y=fe(this,S))==null||y.call(this,me,le,"evict")),fe(this,he)&&((h=fe(this,ce))==null||h.push([me,le,"evict"]))),fe(this,W).call(this,J),P&&(fe(this,V)[J]=void 0,fe(this,re)[J]=void 0,fe(this,ae).push(J)),fe(this,R)===1?(Le(this,L,Le(this,$,0)),fe(this,ae).length=0):Le(this,L,fe(this,G)[J]),fe(this,D).delete(le),So(this,R)._--,J},fa=function(P,J,le,me){let y=J===void 0?void 0:fe(this,re)[J];if(Ne(this,N,Je).call(this,y))return y;let h=new i,{signal:c}=le;c==null||c.addEventListener("abort",()=>h.abort(c.reason),{signal:h.signal});let m={signal:h.signal,options:le,context:me},x=(Te,ke=!1)=>{let{aborted:Oe}=h.signal,Ve=le.ignoreFetchAbort&&Te!==void 0;if(le.status&&(Oe&&!ke?(le.status.fetchAborted=!0,le.status.fetchError=h.signal.reason,Ve&&(le.status.fetchAbortIgnored=!0)):le.status.fetchResolved=!0),Oe&&!Ve&&!ke)return se(h.signal.reason);let ot=xe;return fe(this,re)[J]===xe&&(Te===void 0?ot.__staleWhileFetching?fe(this,re)[J]=ot.__staleWhileFetching:this.delete(P):(le.status&&(le.status.fetchUpdated=!0),this.set(P,Te,m.options))),Te},H=Te=>(le.status&&(le.status.fetchRejected=!0,le.status.fetchError=Te),se(Te)),se=Te=>{let{aborted:ke}=h.signal,Oe=ke&&le.allowStaleOnFetchAbort,Ve=Oe||le.allowStaleOnFetchRejection,ot=Ve||le.noDeleteOnFetchRejection,Xe=xe;if(fe(this,re)[J]===xe&&(!ot||Xe.__staleWhileFetching===void 0?this.delete(P):Oe||(fe(this,re)[J]=Xe.__staleWhileFetching)),Ve)return le.status&&Xe.__staleWhileFetching!==void 0&&(le.status.returnedStale=!0),Xe.__staleWhileFetching;if(Xe.__returned===Xe)throw Te},_e=(Te,ke)=>{var Ve;let Oe=(Ve=fe(this,C))==null?void 0:Ve.call(this,P,y,m);Oe&&Oe instanceof Promise&&Oe.then(ot=>Te(ot===void 0?void 0:ot),ke),h.signal.addEventListener("abort",()=>{(!le.ignoreFetchAbort||le.allowStaleOnFetchAbort)&&(Te(void 0),le.allowStaleOnFetchAbort&&(Te=ot=>x(ot,!0)))})};le.status&&(le.status.fetchDispatched=!0);let xe=new Promise(_e).then(x,H),Re=Object.assign(xe,{__abortController:h,__staleWhileFetching:y,__returned:void 0});return J===void 0?(this.set(P,Re,{...m.options,status:void 0}),J=fe(this,D).get(P)):fe(this,re)[J]=Re,Re},Je=function(P){if(!fe(this,Y))return!1;let J=P;return!!J&&J instanceof Promise&&J.hasOwnProperty("__staleWhileFetching")&&J.__abortController instanceof i},Yc=function(P,J){fe(this,X)[J]=P,fe(this,G)[P]=J},Fs=function(P){P!==fe(this,$)&&(P===fe(this,L)?Le(this,L,fe(this,G)[P]):Ne(this,N,Yc).call(this,fe(this,X)[P],fe(this,G)[P]),Ne(this,N,Yc).call(this,fe(this,$),P),Le(this,$,P))},F);e.LRUCache=p}),on=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.ContainerIterator=e.Container=e.Base=void 0;var t=class{constructor(s=0){this.iteratorType=s}equals(s){return this.o===s.o}};e.ContainerIterator=t;var r=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};e.Base=r;var n=class extends r{};e.Container=n}),FC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Base{constructor(s=[]){super(),this.S=[];let i=this;s.forEach(function(a){i.push(a)})}clear(){this.i=0,this.S=[]}push(s){return this.S.push(s),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}},n=r;e.default=n}),$C=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Base{constructor(s=[]){super(),this.j=0,this.q=[];let i=this;s.forEach(function(a){i.push(a)})}clear(){this.q=[],this.i=this.j=0}push(s){let i=this.q.length;if(this.j/i>.5&&this.j+this.i>=i&&i>4096){let a=this.i;for(let o=0;o{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Base{constructor(s=[],i=function(o,l){return o>l?-1:o>1;for(let l=this.i-1>>1;l>=0;--l)this.k(l,o)}m(s){let i=this.C[s];for(;s>0;){let a=s-1>>1,o=this.C[a];if(this.v(o,i)<=0)break;this.C[s]=o,s=a}this.C[s]=i}k(s,i){let a=this.C[s];for(;s0&&(o=l,u=this.C[l]),this.v(u,a)>=0)break;this.C[s]=u,s=o}this.C[s]=a}clear(){this.i=0,this.C.length=0}push(s){this.C.push(s),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let s=this.C[0],i=this.C.pop();return this.i-=1,this.i&&(this.C[0]=i,this.k(0,this.i>>1)),s}top(){return this.C[0]}find(s){return this.C.indexOf(s)>=0}remove(s){let i=this.C.indexOf(s);return i<0?!1:(i===0?this.pop():i===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(i,1,this.C.pop()),this.i-=1,this.m(i),this.k(i,this.i>>1)),!0)}updateItem(s){let i=this.C.indexOf(s);return i<0?!1:(this.m(i),this.k(i,this.i>>1),!0)}toArray(){return[...this.C]}},n=r;e.default=n}),ud=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Container{},n=r;e.default=n}),an=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.throwIteratorAccessError=t;function t(){throw new RangeError("Iterator access denied!")}}),fw=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.RandomIterator=void 0;var t=on(),r=an(),n=class extends t.ContainerIterator{constructor(s,i){super(i),this.o=s,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(s){this.container.setElementByPos(this.o,s)}};e.RandomIterator=n}),WC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=n(ud()),r=fw();function n(o){return o&&o.t?o:{default:o}}var s=class cw extends r.RandomIterator{constructor(l,u,f){super(l,f),this.container=u}copy(){return new cw(this.o,this.container,this.iteratorType)}},i=class extends t.default{constructor(o=[],l=!0){if(super(),Array.isArray(o))this.J=l?[...o]:o,this.i=o.length;else{this.J=[];let u=this;o.forEach(function(f){u.pushBack(f)})}}clear(){this.i=0,this.J.length=0}begin(){return new s(0,this)}end(){return new s(this.i,this)}rBegin(){return new s(this.i-1,this,1)}rEnd(){return new s(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(o){if(o<0||o>this.i-1)throw new RangeError;return this.J[o]}eraseElementByPos(o){if(o<0||o>this.i-1)throw new RangeError;return this.J.splice(o,1),this.i-=1,this.i}eraseElementByValue(o){let l=0;for(let u=0;uthis.i-1)throw new RangeError;this.J[o]=l}insert(o,l,u=1){if(o<0||o>this.i)throw new RangeError;return this.J.splice(o,0,...new Array(u).fill(l)),this.i+=u,this.i}find(o){for(let l=0;l{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=s(ud()),r=on(),n=an();function s(l){return l&&l.t?l:{default:l}}var i=class hw extends r.ContainerIterator{constructor(u,f,d,p){super(p),this.o=u,this.h=f,this.container=d,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.l}set pointer(u){this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.l=u}copy(){return new hw(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.default{constructor(l=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let u=this;l.forEach(function(f){u.pushBack(f)})}V(l){let{L:u,B:f}=l;u.B=f,f.L=u,l===this.p&&(this.p=f),l===this._&&(this._=u),this.i-=1}G(l,u){let f=u.B,d={l,L:u,B:f};u.B=d,f.L=d,u===this.h&&(this.p=d),f===this.h&&(this._=d),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new i(this.p,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this._,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let u=this.p;for(;l--;)u=u.B;return u.l}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let u=this.p;for(;l--;)u=u.B;return this.V(u),this.i}eraseElementByValue(l){let u=this.p;for(;u!==this.h;)u.l===l&&this.V(u),u=u.B;return this.i}eraseElementByIterator(l){let u=l.o;return u===this.h&&(0,n.throwIteratorAccessError)(),l=l.next(),this.V(u),l}pushBack(l){return this.G(l,this._),this.i}popBack(){if(this.i===0)return;let l=this._.l;return this.V(this._),l}pushFront(l){return this.G(l,this.h),this.i}popFront(){if(this.i===0)return;let l=this.p.l;return this.V(this.p),l}setElementByPos(l,u){if(l<0||l>this.i-1)throw new RangeError;let f=this.p;for(;l--;)f=f.B;f.l=u}insert(l,u,f=1){if(l<0||l>this.i)throw new RangeError;if(f<=0)return this.i;if(l===0)for(;f--;)this.pushFront(u);else if(l===this.i)for(;f--;)this.pushBack(u);else{let d=this.p;for(let g=1;g{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=n(ud()),r=fw();function n(o){return o&&o.t?o:{default:o}}var s=class dw extends r.RandomIterator{constructor(l,u,f){super(l,f),this.container=u}copy(){return new dw(this.o,this.container,this.iteratorType)}},i=class extends t.default{constructor(o=[],l=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let u=(()=>{if(typeof o.length=="number")return o.length;if(typeof o.size=="number")return o.size;if(typeof o.size=="function")return o.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=l,this.P=Math.max(Math.ceil(u/this.F),1);for(let p=0;p>1)-(f>>1),this.D=this.N=this.F-u%this.F>>1;let d=this;o.forEach(function(p){d.pushBack(p)})}T(){let o=[],l=Math.max(this.P>>1,1);for(let u=0;u>1}begin(){return new s(0,this)}end(){return new s(this.i,this)}rBegin(){return new s(this.i-1,this,1)}rEnd(){return new s(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(o){return this.i&&(this.N0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,o}pushFront(o){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=o,this.i}popFront(){if(this.i===0)return;let o=this.A[this.j][this.D];return this.i!==1&&(this.Dthis.i-1)throw new RangeError;let{curNodeBucketIndex:l,curNodePointerIndex:u}=this.O(o);return this.A[l][u]}setElementByPos(o,l){if(o<0||o>this.i-1)throw new RangeError;let{curNodeBucketIndex:u,curNodePointerIndex:f}=this.O(o);this.A[u][f]=l}insert(o,l,u=1){if(o<0||o>this.i)throw new RangeError;if(o===0)for(;u--;)this.pushFront(l);else if(o===this.i)for(;u--;)this.pushBack(l);else{let f=[];for(let d=o;dthis.i-1)throw new RangeError;if(o===0)this.popFront();else if(o===this.i-1)this.popBack();else{let l=[];for(let f=o+1;fo;)this.popBack();return this.i}sort(o){let l=[];for(let u=0;u{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.TreeNodeEnableIndex=e.TreeNode=void 0;var t=class{constructor(n,s){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=n,this.l=s}L(){let n=this;if(n.ee===1&&n.tt.tt===n)n=n.W;else if(n.U)for(n=n.U;n.W;)n=n.W;else{let s=n.tt;for(;s.U===n;)n=s,s=n.tt;n=s}return n}B(){let n=this;if(n.W){for(n=n.W;n.U;)n=n.U;return n}else{let s=n.tt;for(;s.W===n;)n=s,s=n.tt;return n.W!==s?s:n}}te(){let n=this.tt,s=this.W,i=s.U;return n.tt===this?n.tt=s:n.U===this?n.U=s:n.W=s,s.tt=n,s.U=this,this.tt=s,this.W=i,i&&(i.tt=this),s}se(){let n=this.tt,s=this.U,i=s.W;return n.tt===this?n.tt=s:n.U===this?n.U=s:n.W=s,s.tt=n,s.W=this,this.tt=s,this.U=i,i&&(i.tt=this),s}};e.TreeNode=t;var r=class extends t{constructor(){super(...arguments),this.rt=1}te(){let n=super.te();return this.ie(),n.ie(),n}se(){let n=super.se();return this.ie(),n.ie(),n}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}};e.TreeNodeEnableIndex=r}),pw=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=qC(),r=on(),n=an(),s=class extends r.Container{constructor(a=function(l,u){return lu?1:0},o=!1){super(),this.Y=void 0,this.v=a,o?(this.re=t.TreeNodeEnableIndex,this.M=function(l,u,f){let d=this.ne(l,u,f);if(d){let p=d.tt;for(;p!==this.h;)p.rt+=1,p=p.tt;let g=this.he(d);if(g){let{parentNode:_,grandParent:b,curNode:E}=g;_.ie(),b.ie(),E.ie()}}return this.i},this.V=function(l){let u=this.fe(l);for(;u!==this.h;)u.rt-=1,u=u.tt}):(this.re=t.TreeNode,this.M=function(l,u,f){let d=this.ne(l,u,f);return d&&this.he(d),this.i},this.V=this.fe),this.h=new this.re}X(a,o){let l=this.h;for(;a;){let u=this.v(a.u,o);if(u<0)a=a.W;else if(u>0)l=a,a=a.U;else return a}return l}Z(a,o){let l=this.h;for(;a;)this.v(a.u,o)<=0?a=a.W:(l=a,a=a.U);return l}$(a,o){let l=this.h;for(;a;){let u=this.v(a.u,o);if(u<0)l=a,a=a.W;else if(u>0)a=a.U;else return a}return l}rr(a,o){let l=this.h;for(;a;)this.v(a.u,o)<0?(l=a,a=a.W):a=a.U;return l}ue(a){for(;;){let o=a.tt;if(o===this.h)return;if(a.ee===1){a.ee=0;return}if(a===o.U){let l=o.W;if(l.ee===1)l.ee=0,o.ee=1,o===this.Y?this.Y=o.te():o.te();else if(l.W&&l.W.ee===1){l.ee=o.ee,o.ee=0,l.W.ee=0,o===this.Y?this.Y=o.te():o.te();return}else l.U&&l.U.ee===1?(l.ee=1,l.U.ee=0,l.se()):(l.ee=1,a=o)}else{let l=o.U;if(l.ee===1)l.ee=0,o.ee=1,o===this.Y?this.Y=o.se():o.se();else if(l.U&&l.U.ee===1){l.ee=o.ee,o.ee=0,l.U.ee=0,o===this.Y?this.Y=o.se():o.se();return}else l.W&&l.W.ee===1?(l.ee=1,l.W.ee=0,l.te()):(l.ee=1,a=o)}}}fe(a){if(this.i===1)return this.clear(),this.h;let o=a;for(;o.U||o.W;){if(o.W)for(o=o.W;o.U;)o=o.U;else o=o.U;[a.u,o.u]=[o.u,a.u],[a.l,o.l]=[o.l,a.l],a=o}this.h.U===o?this.h.U=o.tt:this.h.W===o&&(this.h.W=o.tt),this.ue(o);let l=o.tt;return o===l.U?l.U=void 0:l.W=void 0,this.i-=1,this.Y.ee=0,l}oe(a,o){return a===void 0?!1:this.oe(a.U,o)||o(a)?!0:this.oe(a.W,o)}he(a){for(;;){let o=a.tt;if(o.ee===0)return;let l=o.tt;if(o===l.U){let u=l.W;if(u&&u.ee===1){if(u.ee=o.ee=0,l===this.Y)return;l.ee=1,a=l;continue}else if(a===o.W){if(a.ee=0,a.U&&(a.U.tt=o),a.W&&(a.W.tt=l),o.W=a.U,l.U=a.W,a.U=o,a.W=l,l===this.Y)this.Y=a,this.h.tt=a;else{let f=l.tt;f.U===l?f.U=a:f.W=a}return a.tt=l.tt,o.tt=a,l.tt=a,l.ee=1,{parentNode:o,grandParent:l,curNode:a}}else o.ee=0,l===this.Y?this.Y=l.se():l.se(),l.ee=1}else{let u=l.U;if(u&&u.ee===1){if(u.ee=o.ee=0,l===this.Y)return;l.ee=1,a=l;continue}else if(a===o.U){if(a.ee=0,a.U&&(a.U.tt=l),a.W&&(a.W.tt=o),l.W=a.U,o.U=a.W,a.U=l,a.W=o,l===this.Y)this.Y=a,this.h.tt=a;else{let f=l.tt;f.U===l?f.U=a:f.W=a}return a.tt=l.tt,o.tt=a,l.tt=a,l.ee=1,{parentNode:o,grandParent:l,curNode:a}}else o.ee=0,l===this.Y?this.Y=l.te():l.te(),l.ee=1}return}}ne(a,o,l){if(this.Y===void 0){this.i+=1,this.Y=new this.re(a,o),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,this.h.W=this.Y;return}let u,f=this.h.U,d=this.v(f.u,a);if(d===0){f.l=o;return}else if(d>0)f.U=new this.re(a,o),f.U.tt=f,u=f.U,this.h.U=u;else{let p=this.h.W,g=this.v(p.u,a);if(g===0){p.l=o;return}else if(g<0)p.W=new this.re(a,o),p.W.tt=p,u=p.W,this.h.W=u;else{if(l!==void 0){let _=l.o;if(_!==this.h){let b=this.v(_.u,a);if(b===0){_.l=o;return}else if(b>0){let E=_.L(),v=this.v(E.u,a);if(v===0){E.l=o;return}else v<0&&(u=new this.re(a,o),E.W===void 0?(E.W=u,u.tt=E):(_.U=u,u.tt=_))}}}if(u===void 0)for(u=this.Y;;){let _=this.v(u.u,a);if(_>0){if(u.U===void 0){u.U=new this.re(a,o),u.U.tt=u,u=u.U;break}u=u.U}else if(_<0){if(u.W===void 0){u.W=new this.re(a,o),u.W.tt=u,u=u.W;break}u=u.W}else{u.l=o;return}}}}return this.i+=1,u}I(a,o){for(;a;){let l=this.v(a.u,o);if(l<0)a=a.W;else if(l>0)a=a.U;else return a}return a||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(a,o){let l=a.o;if(l===this.h&&(0,n.throwIteratorAccessError)(),this.i===1)return l.u=o,!0;if(l===this.h.U)return this.v(l.B().u,o)>0?(l.u=o,!0):!1;if(l===this.h.W)return this.v(l.L().u,o)<0?(l.u=o,!0):!1;let u=l.L().u;if(this.v(u,o)>=0)return!1;let f=l.B().u;return this.v(f,o)<=0?!1:(l.u=o,!0)}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let o=0,l=this;return this.oe(this.Y,function(u){return a===o?(l.V(u),!0):(o+=1,!1)}),this.i}eraseElementByKey(a){if(this.i===0)return!1;let o=this.I(this.Y,a);return o===this.h?!1:(this.V(o),!0)}eraseElementByIterator(a){let o=a.o;o===this.h&&(0,n.throwIteratorAccessError)();let l=o.W===void 0;return a.iteratorType===0?l&&a.next():(!l||o.U===void 0)&&a.next(),this.V(o),a}forEach(a){let o=0;for(let l of this)a(l,o++,this)}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let o,l=0;for(let u of this){if(l===a){o=u;break}l+=1}return o}getHeight(){if(this.i===0)return 0;let a=function(o){return o?Math.max(a(o.U),a(o.W))+1:0};return a(this.Y)}},i=s;e.default=i}),gw=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=an(),n=class extends t.ContainerIterator{constructor(i,a,o){super(o),this.o=i,this.h=a,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let i=this.o,a=this.h.tt;if(i===this.h)return a?a.rt-1:0;let o=0;for(i.U&&(o+=i.U.rt);i!==a;){let l=i.tt;i===l.W&&(o+=1,l.U&&(o+=l.U.rt)),i=l}return o}},s=n;e.default=s}),KC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=s(pw()),r=s(gw()),n=an();function s(l){return l&&l.t?l:{default:l}}var i=class mw extends r.default{constructor(u,f,d,p){super(u,f,p),this.container=d}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.u}copy(){return new mw(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.default{constructor(l=[],u,f){super(u,f);let d=this;l.forEach(function(p){d.insert(p)})}*K(l){l!==void 0&&(yield*this.K(l.U),yield l.u,yield*this.K(l.W))}begin(){return new i(this.h.U||this.h,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this.h.W||this.h,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(l,u){return this.M(l,void 0,u)}find(l){let u=this.I(this.Y,l);return new i(u,this.h,this)}lowerBound(l){let u=this.X(this.Y,l);return new i(u,this.h,this)}upperBound(l){let u=this.Z(this.Y,l);return new i(u,this.h,this)}reverseLowerBound(l){let u=this.$(this.Y,l);return new i(u,this.h,this)}reverseUpperBound(l){let u=this.rr(this.Y,l);return new i(u,this.h,this)}union(l){let u=this;return l.forEach(function(f){u.insert(f)}),this.i}[Symbol.iterator](){return this.K(this.Y)}},o=a;e.default=o}),YC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=s(pw()),r=s(gw()),n=an();function s(l){return l&&l.t?l:{default:l}}var i=class yw extends r.default{constructor(u,f,d,p){super(u,f,p),this.container=d}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let u=this;return new Proxy([],{get(f,d){if(d==="0")return u.o.u;if(d==="1")return u.o.l},set(f,d,p){if(d!=="1")throw new TypeError("props must be 1");return u.o.l=p,!0}})}copy(){return new yw(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.default{constructor(l=[],u,f){super(u,f);let d=this;l.forEach(function(p){d.setElement(p[0],p[1])})}*K(l){l!==void 0&&(yield*this.K(l.U),yield[l.u,l.l],yield*this.K(l.W))}begin(){return new i(this.h.U||this.h,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this.h.W||this.h,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){if(this.i===0)return;let l=this.h.U;return[l.u,l.l]}back(){if(this.i===0)return;let l=this.h.W;return[l.u,l.l]}lowerBound(l){let u=this.X(this.Y,l);return new i(u,this.h,this)}upperBound(l){let u=this.Z(this.Y,l);return new i(u,this.h,this)}reverseLowerBound(l){let u=this.$(this.Y,l);return new i(u,this.h,this)}reverseUpperBound(l){let u=this.rr(this.Y,l);return new i(u,this.h,this)}setElement(l,u,f){return this.M(l,u,f)}find(l){let u=this.I(this.Y,l);return new i(u,this.h,this)}getElementByKey(l){return this.I(this.Y,l).l}union(l){let u=this;return l.forEach(function(f){u.setElement(f[0],f[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}},o=a;e.default=o}),_w=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=t;function t(r){let n=typeof r;return n==="object"&&r!==null||n==="function"}}),bw=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.HashContainerIterator=e.HashContainer=void 0;var t=on(),r=s(_w()),n=an();function s(o){return o&&o.t?o:{default:o}}var i=class extends t.ContainerIterator{constructor(o,l,u){super(u),this.o=o,this.h=l,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this})}};e.HashContainerIterator=i;var a=class extends t.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(o){let{L:l,B:u}=o;l.B=u,u.L=l,o===this.p&&(this.p=u),o===this._&&(this._=l),this.i-=1}M(o,l,u){u===void 0&&(u=(0,r.default)(o));let f;if(u){let d=o[this.HASH_TAG];if(d!==void 0)return this.H[d].l=l,this.i;Object.defineProperty(o,this.HASH_TAG,{value:this.H.length,configurable:!0}),f={u:o,l,L:this._,B:this.h},this.H.push(f)}else{let d=this.g[o];if(d)return d.l=l,this.i;f={u:o,l,L:this._,B:this.h},this.g[o]=f}return this.i===0?(this.p=f,this.h.B=f):this._.B=f,this._=f,this.h.L=f,++this.i}I(o,l){if(l===void 0&&(l=(0,r.default)(o)),l){let u=o[this.HASH_TAG];return u===void 0?this.h:this.H[u]}else return this.g[o]||this.h}clear(){let o=this.HASH_TAG;this.H.forEach(function(l){delete l.u[o]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(o,l){let u;if(l===void 0&&(l=(0,r.default)(o)),l){let f=o[this.HASH_TAG];if(f===void 0)return!1;delete o[this.HASH_TAG],u=this.H[f],delete this.H[f]}else{if(u=this.g[o],u===void 0)return!1;delete this.g[o]}return this.V(u),!0}eraseElementByIterator(o){let l=o.o;return l===this.h&&(0,n.throwIteratorAccessError)(),this.V(l),o.next()}eraseElementByPos(o){if(o<0||o>this.i-1)throw new RangeError;let l=this.p;for(;o--;)l=l.B;return this.V(l),this.i}};e.HashContainer=a}),zC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=bw(),r=an(),n=class ww extends t.HashContainerIterator{constructor(o,l,u,f){super(o,l,f),this.container=u}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new ww(this.o,this.h,this.container,this.iteratorType)}},s=class extends t.HashContainer{constructor(a=[]){super();let o=this;a.forEach(function(l){o.insert(l)})}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(a,o){return this.M(a,void 0,o)}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let o=this.p;for(;a--;)o=o.B;return o.u}find(a,o){let l=this.I(a,o);return new n(l,this.h,this)}forEach(a){let o=0,l=this.p;for(;l!==this.h;)a(l.u,o++,this),l=l.B}[Symbol.iterator](){return(function*(){let a=this.p;for(;a!==this.h;)yield a.u,a=a.B}).bind(this)()}},i=s;e.default=i}),GC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=bw(),r=s(_w()),n=an();function s(l){return l&&l.t?l:{default:l}}var i=class vw extends t.HashContainerIterator{constructor(u,f,d,p){super(u,f,p),this.container=d}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let u=this;return new Proxy([],{get(f,d){if(d==="0")return u.o.u;if(d==="1")return u.o.l},set(f,d,p){if(d!=="1")throw new TypeError("props must be 1");return u.o.l=p,!0}})}copy(){return new vw(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.HashContainer{constructor(l=[]){super();let u=this;l.forEach(function(f){u.setElement(f[0],f[1])})}begin(){return new i(this.p,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this._,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(l,u,f){return this.M(l,u,f)}getElementByKey(l,u){if(u===void 0&&(u=(0,r.default)(l)),u){let d=l[this.HASH_TAG];return d!==void 0?this.H[d].l:void 0}let f=this.g[l];return f?f.l:void 0}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let u=this.p;for(;l--;)u=u.B;return[u.u,u.l]}find(l,u){let f=this.I(l,u);return new i(f,this.h,this)}forEach(l){let u=0,f=this.p;for(;f!==this.h;)l([f.u,f.l],u++,this),f=f.B}[Symbol.iterator](){return(function*(){let l=this.p;for(;l!==this.h;)yield[l.u,l.l],l=l.B}).bind(this)()}},o=a;e.default=o}),QC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),Object.defineProperty(e,"Deque",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"HashMap",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"HashSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"LinkList",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"OrderedMap",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"OrderedSet",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"PriorityQueue",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"Stack",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"Vector",{enumerable:!0,get:function(){return s.default}});var t=d(FC()),r=d($C()),n=d(jC()),s=d(WC()),i=d(HC()),a=d(VC()),o=d(KC()),l=d(YC()),u=d(zC()),f=d(GC());function d(p){return p&&p.t?p:{default:p}}}),XC=Ae((e,t)=>{be(),ve(),we();var r=QC().OrderedSet,n=Xr()("number-allocator:trace"),s=Xr()("number-allocator:error");function i(o,l){this.low=o,this.high=l}i.prototype.equals=function(o){return this.low===o.low&&this.high===o.high},i.prototype.compare=function(o){return this.lowu.compare(f)),n("Create"),this.clear()}a.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low},a.prototype.alloc=function(){if(this.ss.size()===0)return n("alloc():empty"),null;let o=this.ss.begin(),l=o.pointer.low,u=o.pointer.high,f=l;return f+1<=u?this.ss.updateKeyByIterator(o,new i(l+1,u)):this.ss.eraseElementByPos(0),n("alloc():"+f),f},a.prototype.use=function(o){let l=new i(o,o),u=this.ss.lowerBound(l);if(!u.equals(this.ss.end())){let f=u.pointer.low,d=u.pointer.high;return u.pointer.equals(l)?(this.ss.eraseElementByIterator(u),n("use():"+o),!0):f>o?!1:f===o?(this.ss.updateKeyByIterator(u,new i(f+1,d)),n("use():"+o),!0):d===o?(this.ss.updateKeyByIterator(u,new i(f,d-1)),n("use():"+o),!0):(this.ss.updateKeyByIterator(u,new i(o+1,d)),this.ss.insert(new i(f,o-1)),n("use():"+o),!0)}return n("use():failed"),!1},a.prototype.free=function(o){if(othis.max){s("free():"+o+" is out of range");return}let l=new i(o,o),u=this.ss.upperBound(l);if(u.equals(this.ss.end())){if(u.equals(this.ss.begin())){this.ss.insert(l);return}u.pre();let f=u.pointer.high;u.pointer.high+1===o?this.ss.updateKeyByIterator(u,new i(f,o)):this.ss.insert(l)}else if(u.equals(this.ss.begin()))if(o+1===u.pointer.low){let f=u.pointer.high;this.ss.updateKeyByIterator(u,new i(o,f))}else this.ss.insert(l);else{let f=u.pointer.low,d=u.pointer.high;u.pre();let p=u.pointer.low;u.pointer.high+1===o?o+1===f?(this.ss.eraseElementByIterator(u),this.ss.updateKeyByIterator(u,new i(p,d))):this.ss.updateKeyByIterator(u,new i(p,o)):o+1===f?(this.ss.eraseElementByIterator(u.next()),this.ss.insert(new i(o,d))):this.ss.insert(l)}n("free():"+o)},a.prototype.clear=function(){n("clear()"),this.ss.clear(),this.ss.insert(new i(this.min,this.max))},a.prototype.intervalCount=function(){return this.ss.size()},a.prototype.dump=function(){console.log("length:"+this.ss.size());for(let o of this.ss)console.log(o)},t.exports=a}),Ew=Ae((e,t)=>{be(),ve(),we();var r=XC();t.exports.NumberAllocator=r}),JC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=UC(),r=Ew(),n=class{constructor(s){s>0&&(this.aliasToTopic=new t.LRUCache({max:s}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,s),this.max=s,this.length=0)}put(s,i){if(i===0||i>this.max)return!1;let a=this.aliasToTopic.get(i);return a&&delete this.topicToAlias[a],this.aliasToTopic.set(i,s),this.topicToAlias[s]=i,this.numberAllocator.use(i),this.length=this.aliasToTopic.size,!0}getTopicByAlias(s){return this.aliasToTopic.get(s)}getAliasByTopic(s){let i=this.topicToAlias[s];return typeof i<"u"&&this.aliasToTopic.get(i),i}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}};e.default=n}),ZC=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(e,"__esModule",{value:!0});var r=El(),n=t(JC()),s=ps(),i=(a,o)=>{a.log("_handleConnack");let{options:l}=a,u=l.protocolVersion===5?o.reasonCode:o.returnCode;if(clearTimeout(a.connackTimer),delete a.topicAliasSend,o.properties){if(o.properties.topicAliasMaximum){if(o.properties.topicAliasMaximum>65535){a.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}o.properties.topicAliasMaximum>0&&(a.topicAliasSend=new n.default(o.properties.topicAliasMaximum))}o.properties.serverKeepAlive&&l.keepalive&&(l.keepalive=o.properties.serverKeepAlive),o.properties.maximumPacketSize&&(l.properties||(l.properties={}),l.properties.maximumPacketSize=o.properties.maximumPacketSize)}if(u===0)a.reconnecting=!1,a._onConnect(o);else if(u>0){let f=new s.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[u]}`,u);a.emit("error",f),a.options.reconnectOnConnackError&&a._cleanUp(!0)}};e.default=i}),eR=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=(r,n,s)=>{r.log("handling pubrel packet");let i=typeof s<"u"?s:r.noop,{messageId:a}=n,o={cmd:"pubcomp",messageId:a};r.incomingStore.get(n,(l,u)=>{l?r._sendPacket(o,i):(r.emit("message",u.topic,u.payload,u),r.handleMessage(u,f=>{if(f)return i(f);r.incomingStore.del(u,r.noop),r._sendPacket(o,i)}))})};e.default=t}),tR=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(e,"__esModule",{value:!0});var r=t(LC()),n=t(DC()),s=t(ZC()),i=t(El()),a=t(eR()),o=(l,u,f)=>{let{options:d}=l;if(d.protocolVersion===5&&d.properties&&d.properties.maximumPacketSize&&d.properties.maximumPacketSize{be(),ve(),we();var t=e&&e.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(e,"__esModule",{value:!0}),e.TypedEventEmitter=void 0;var r=t((ds(),ze(yi))),n=ps(),s=class{};e.TypedEventEmitter=s,(0,n.applyMixin)(s,r.default)}),Sl=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.isReactNativeBrowser=e.isWebWorker=void 0;var t=()=>{var i;return typeof window<"u"?typeof navigator<"u"&&((i=navigator.userAgent)===null||i===void 0?void 0:i.toLowerCase().indexOf(" electron/"))>-1&&He!=null&&He.versions?!Object.prototype.hasOwnProperty.call(He.versions,"electron"):typeof window.document<"u":!1},r=()=>{var i,a;return!!(typeof self=="object"&&!((a=(i=self==null?void 0:self.constructor)===null||i===void 0?void 0:i.name)===null||a===void 0)&&a.includes("WorkerGlobalScope"))},n=()=>typeof navigator<"u"&&navigator.product==="ReactNative",s=t()||r()||n();e.isWebWorker=r(),e.isReactNativeBrowser=n(),e.default=s}),nR=Ae((e,t)=>{be(),ve(),we(),function(r,n){typeof e=="object"&&typeof t<"u"?n(e):typeof define=="function"&&define.amd?define(["exports"],n):(r=typeof globalThis<"u"?globalThis:r||self,n(r.fastUniqueNumbers={}))}(e,function(r){var n=function(g){return function(_){var b=g(_);return _.add(b),b}},s=function(g){return function(_,b){return g.set(_,b),b}},i=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,a=536870912,o=a*2,l=function(g,_){return function(b){var E=_.get(b),v=E===void 0?b.size:Ei)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;b.has(v);)v=Math.floor(Math.random()*i);return g(b,v)}},u=new WeakMap,f=s(u),d=l(f,u),p=n(d);r.addUniqueNumber=p,r.generateUniqueNumber=d})}),iR=Ae((e,t)=>{be(),ve(),we(),function(r,n){typeof e=="object"&&typeof t<"u"?n(e,nR()):typeof define=="function"&&define.amd?define(["exports","fast-unique-numbers"],n):(r=typeof globalThis<"u"?globalThis:r||self,n(r.workerTimersBroker={},r.fastUniqueNumbers))}(e,function(r,n){var s=function(o){return o.method!==void 0&&o.method==="call"},i=function(o){return o.error===null&&typeof o.id=="number"},a=function(o){var l=new Map([[0,function(){}]]),u=new Map([[0,function(){}]]),f=new Map,d=new Worker(o);d.addEventListener("message",function(E){var v=E.data;if(s(v)){var S=v.params,w=S.timerId,C=S.timerType;if(C==="interval"){var R=l.get(w);if(typeof R=="number"){var O=f.get(R);if(O===void 0||O.timerId!==w||O.timerType!==C)throw new Error("The timer is in an undefined state.")}else if(typeof R<"u")R();else throw new Error("The timer is in an undefined state.")}else if(C==="timeout"){var D=u.get(w);if(typeof D=="number"){var V=f.get(D);if(V===void 0||V.timerId!==w||V.timerType!==C)throw new Error("The timer is in an undefined state.")}else if(typeof D<"u")D(),u.delete(w);else throw new Error("The timer is in an undefined state.")}}else if(i(v)){var re=v.id,G=f.get(re);if(G===void 0)throw new Error("The timer is in an undefined state.");var X=G.timerId,L=G.timerType;f.delete(re),L==="interval"?l.delete(X):u.delete(X)}else{var $=v.error.message;throw new Error($)}});var p=function(E){var v=n.generateUniqueNumber(f);f.set(v,{timerId:E,timerType:"interval"}),l.set(E,v),d.postMessage({id:v,method:"clear",params:{timerId:E,timerType:"interval"}})},g=function(E){var v=n.generateUniqueNumber(f);f.set(v,{timerId:E,timerType:"timeout"}),u.set(E,v),d.postMessage({id:v,method:"clear",params:{timerId:E,timerType:"timeout"}})},_=function(E){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=n.generateUniqueNumber(l);return l.set(S,function(){E(),typeof l.get(S)=="function"&&d.postMessage({id:null,method:"set",params:{delay:v,now:performance.now(),timerId:S,timerType:"interval"}})}),d.postMessage({id:null,method:"set",params:{delay:v,now:performance.now(),timerId:S,timerType:"interval"}}),S},b=function(E){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=n.generateUniqueNumber(u);return u.set(S,E),d.postMessage({id:null,method:"set",params:{delay:v,now:performance.now(),timerId:S,timerType:"timeout"}}),S};return{clearInterval:p,clearTimeout:g,setInterval:_,setTimeout:b}};r.load=a})}),sR=Ae((e,t)=>{be(),ve(),we(),function(r,n){typeof e=="object"&&typeof t<"u"?n(e,iR()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],n):(r=typeof globalThis<"u"?globalThis:r||self,n(r.workerTimers={},r.workerTimersBroker))}(e,function(r,n){var s=function(d,p){var g=null;return function(){if(g!==null)return g;var _=new Blob([p],{type:"application/javascript; charset=utf-8"}),b=URL.createObjectURL(_);return g=d(b),setTimeout(function(){return URL.revokeObjectURL(b)}),g}},i=`(()=>{var e={472:(e,t,r)=>{var o,i;void 0===(i="function"==typeof(o=function(){"use strict";var e=new Map,t=new Map,r=function(t){var r=e.get(t);if(void 0===r)throw new Error('There is no interval scheduled with the given id "'.concat(t,'".'));clearTimeout(r),e.delete(t)},o=function(e){var r=t.get(e);if(void 0===r)throw new Error('There is no timeout scheduled with the given id "'.concat(e,'".'));clearTimeout(r),t.delete(e)},i=function(e,t){var r,o=performance.now();return{expected:o+(r=e-Math.max(0,o-t)),remainingDelay:r}},n=function e(t,r,o,i){var n=performance.now();n>o?postMessage({id:null,method:"call",params:{timerId:r,timerType:i}}):t.set(r,setTimeout(e,o-n,t,r,o,i))},a=function(t,r,o){var a=i(t,o),s=a.expected,d=a.remainingDelay;e.set(r,setTimeout(n,d,e,r,s,"interval"))},s=function(e,r,o){var a=i(e,o),s=a.expected,d=a.remainingDelay;t.set(r,setTimeout(n,d,t,r,s,"timeout"))};addEventListener("message",(function(e){var t=e.data;try{if("clear"===t.method){var i=t.id,n=t.params,d=n.timerId,c=n.timerType;if("interval"===c)r(d),postMessage({error:null,id:i});else{if("timeout"!==c)throw new Error('The given type "'.concat(c,'" is not supported'));o(d),postMessage({error:null,id:i})}}else{if("set"!==t.method)throw new Error('The given method "'.concat(t.method,'" is not supported'));var u=t.params,l=u.delay,p=u.now,m=u.timerId,v=u.timerType;if("interval"===v)a(l,m,p);else{if("timeout"!==v)throw new Error('The given type "'.concat(v,'" is not supported'));s(l,m,p)}}}catch(e){postMessage({error:{message:e.message},id:t.id,result:null})}}))})?o.call(t,r,t,e):o)||(e.exports=i)}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`,a=s(n.load,i),o=function(d){return a().clearInterval(d)},l=function(d){return a().clearTimeout(d)},u=function(){var d;return(d=a()).setInterval.apply(d,arguments)},f=function(){var d;return(d=a()).setTimeout.apply(d,arguments)};r.clearInterval=o,r.clearTimeout=l,r.setInterval=u,r.setTimeout=f})}),oR=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(u,f,d,p){p===void 0&&(p=d);var g=Object.getOwnPropertyDescriptor(f,d);(!g||("get"in g?!f.__esModule:g.writable||g.configurable))&&(g={enumerable:!0,get:function(){return f[d]}}),Object.defineProperty(u,p,g)}:function(u,f,d,p){p===void 0&&(p=d),u[p]=f[d]}),r=e&&e.__setModuleDefault||(Object.create?function(u,f){Object.defineProperty(u,"default",{enumerable:!0,value:f})}:function(u,f){u.default=f}),n=e&&e.__importStar||function(u){if(u&&u.__esModule)return u;var f={};if(u!=null)for(var d in u)d!=="default"&&Object.prototype.hasOwnProperty.call(u,d)&&t(f,u,d);return r(f,u),f};Object.defineProperty(e,"__esModule",{value:!0});var s=n(Sl()),i=sR(),a={set:i.setInterval,clear:i.clearInterval},o={set:(u,f)=>setInterval(u,f),clear:u=>clearInterval(u)},l=u=>{switch(u){case"native":return o;case"worker":return a;case"auto":default:return s.default&&!s.isWebWorker&&!s.isReactNativeBrowser?a:o}};e.default=l}),Sw=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(e,"__esModule",{value:!0});var r=t(oR()),n=class{get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}constructor(s,i){this.destroyed=!1,this.client=s,this.timer=typeof i=="object"&&"set"in i&&"clear"in i?i:(0,r.default)(i),this.setKeepalive(s.options.keepalive)}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(s){if(s*=1e3,isNaN(s)||s<=0||s>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${s}`);this._keepalive=s,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${s}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let s=Math.ceil(this._keepalive*1.5);this._keepaliveTimeoutTimestamp=Date.now()+s,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}};e.default=n}),zc=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(R,O,D,V){V===void 0&&(V=D);var re=Object.getOwnPropertyDescriptor(O,D);(!re||("get"in re?!O.__esModule:re.writable||re.configurable))&&(re={enumerable:!0,get:function(){return O[D]}}),Object.defineProperty(R,V,re)}:function(R,O,D,V){V===void 0&&(V=D),R[V]=O[D]}),r=e&&e.__setModuleDefault||(Object.create?function(R,O){Object.defineProperty(R,"default",{enumerable:!0,value:O})}:function(R,O){R.default=O}),n=e&&e.__importStar||function(R){if(R&&R.__esModule)return R;var O={};if(R!=null)for(var D in R)D!=="default"&&Object.prototype.hasOwnProperty.call(R,D)&&t(O,R,D);return r(O,R),O},s=e&&e.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};Object.defineProperty(e,"__esModule",{value:!0});var i=s(GI()),a=s(kC()),o=s(ow()),l=_i(),u=s(NC()),f=n(PC()),d=s(Xr()),p=s(aw()),g=s(tR()),_=ps(),b=rR(),E=s(Sw()),v=n(Sl()),S=globalThis.setImmediate||((...R)=>{let O=R.shift();(0,_.nextTick)(()=>{O(...R)})}),w={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:30*1e3,clean:!0,resubscribe:!0,writeCache:!0,timerVariant:"auto"},C=class Gc extends b.TypedEventEmitter{static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}constructor(O,D){super(),this.options=D||{};for(let V in w)typeof this.options[V]>"u"?this.options[V]=w[V]:this.options[V]=D[V];this.log=this.options.log||(0,d.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",Gc.VERSION),v.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",v.default?"browser":"node"),this.log("MqttClient :: options.protocol",D.protocol),this.log("MqttClient :: options.protocolVersion",D.protocolVersion),this.log("MqttClient :: options.username",D.username),this.log("MqttClient :: options.keepalive",D.keepalive),this.log("MqttClient :: options.reconnectPeriod",D.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",D.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",D.properties?D.properties.topicAliasMaximum:void 0),this.options.clientId=typeof D.clientId=="string"?D.clientId:Gc.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=D.protocolVersion===5&&D.customHandleAcks?D.customHandleAcks:(...V)=>{V[3](null,0)},this.options.writeCache||(a.default.writeToStream.cacheNumbers=!1),this.streamBuilder=O,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new o.default:this.options.messageIdProvider,this.outgoingStore=D.outgoingStore||new p.default,this.incomingStore=D.incomingStore||new p.default,this.queueQoSZero=D.queueQoSZero===void 0?!0:D.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,D.properties&&D.properties.topicAliasMaximum>0&&(D.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new i.default(D.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:V}=this,re=()=>{let G=V.shift();this.log("deliver :: entry %o",G);let X=null;if(!G){this._resubscribe();return}X=G.packet,this.log("deliver :: call _sendPacket for %o",X);let L=!0;X.messageId&&X.messageId!==0&&(this.messageIdProvider.register(X.messageId)||(L=!1)),L?this._sendPacket(X,$=>{G.cb&&G.cb($),re()}):(this.log("messageId: %d has already used. The message is skipped and removed.",X.messageId),re())};this.log("connect :: sending queued packets"),re()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}handleAuth(O,D){D()}handleMessage(O,D){D()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var O;let D=new l.Writable,V=a.default.parser(this.options),re=null,G=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new p.default,this.outgoingStore=this.options.outgoingStore||new p.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),V.on("packet",ce=>{this.log("parser :: on packet push to packets array."),G.push(ce)});let X=()=>{this.log("work :: getting next packet in queue");let ce=G.shift();if(ce)this.log("work :: packet pulled from queue"),(0,g.default)(this,ce,L);else{this.log("work :: no packets in queue");let de=re;re=null,this.log("work :: done flag is %s",!!de),de&&de()}},L=()=>{if(G.length)(0,_.nextTick)(X);else{let ce=re;re=null,ce()}};D._write=(ce,de,pe)=>{re=pe,this.log("writable stream :: parsing buffer"),V.parse(ce),X()};let $=ce=>{this.log("streamErrorHandler :: error",ce.message),ce.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",ce)):this.noop(ce)};this.log("connect :: pipe stream to writable stream"),this.stream.pipe(D),this.stream.on("error",$),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let ae={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(ae.will=Object.assign(Object.assign({},this.options.will),{payload:(O=this.options.will)===null||O===void 0?void 0:O.payload})),this.topicAliasRecv&&(ae.properties||(ae.properties={}),this.topicAliasRecv&&(ae.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(ae),V.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let ce=Object.assign({cmd:"auth",reasonCode:0},this.options.authPacket);this._writePacket(ce)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(O,D,V,re){this.log("publish :: message `%s` to topic `%s`",D,O);let{options:G}=this;typeof V=="function"&&(re=V,V=null),V=V||{},V=Object.assign(Object.assign({},{qos:0,retain:!1,dup:!1}),V);let{qos:X,retain:L,dup:$,properties:ae,cbStorePut:ce}=V;if(this._checkDisconnecting(re))return this;let de=()=>{let pe=0;if((X===1||X===2)&&(pe=this._nextId(),pe===null))return this.log("No messageId left"),!1;let z={cmd:"publish",topic:O,payload:D,qos:X,retain:L,messageId:pe,dup:$};switch(G.protocolVersion===5&&(z.properties=ae),this.log("publish :: qos",X),X){case 1:case 2:this.outgoing[z.messageId]={volatile:!1,cb:re||this.noop},this.log("MqttClient:publish: packet cmd: %s",z.cmd),this._sendPacket(z,void 0,ce);break;default:this.log("MqttClient:publish: packet cmd: %s",z.cmd),this._sendPacket(z,re,ce);break}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!de())&&this._storeProcessingQueue.push({invoke:de,cbStorePut:V.cbStorePut,callback:re}),this}publishAsync(O,D,V){return new Promise((re,G)=>{this.publish(O,D,V,(X,L)=>{X?G(X):re(L)})})}subscribe(O,D,V){let re=this.options.protocolVersion;typeof D=="function"&&(V=D),V=V||this.noop;let G=!1,X=[];typeof O=="string"?(O=[O],X=O):Array.isArray(O)?X=O:typeof O=="object"&&(G=O.resubscribe,delete O.resubscribe,X=Object.keys(O));let L=f.validateTopics(X);if(L!==null)return S(V,new Error(`Invalid topic ${L}`)),this;if(this._checkDisconnecting(V))return this.log("subscribe: discconecting true"),this;let $={qos:0};re===5&&($.nl=!1,$.rap=!1,$.rh=0),D=Object.assign(Object.assign({},$),D);let ae=D.properties,ce=[],de=(z,ge)=>{if(ge=ge||D,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,z)||this._resubscribeTopics[z].qos{this.log("subscribe: array topic %s",z),de(z)}):Object.keys(O).forEach(z=>{this.log("subscribe: object topic %s, %o",z,O[z]),de(z,O[z])}),!ce.length)return V(null,[]),this;let pe=()=>{let z=this._nextId();if(z===null)return this.log("No messageId left"),!1;let ge={cmd:"subscribe",subscriptions:ce,messageId:z};if(ae&&(ge.properties=ae),this.options.resubscribe){this.log("subscribe :: resubscribe true");let Y=[];ce.forEach(he=>{if(this.options.reconnectPeriod>0){let N={qos:he.qos};re===5&&(N.nl=he.nl||!1,N.rap=he.rap||!1,N.rh=he.rh||0,N.properties=he.properties),this._resubscribeTopics[he.topic]=N,Y.push(he.topic)}}),this.messageIdToTopic[ge.messageId]=Y}return this.outgoing[ge.messageId]={volatile:!0,cb(Y,he){if(!Y){let{granted:N}=he;for(let ne=0;ne0||!pe())&&this._storeProcessingQueue.push({invoke:pe,callback:V}),this}subscribeAsync(O,D){return new Promise((V,re)=>{this.subscribe(O,D,(G,X)=>{G?re(G):V(X)})})}unsubscribe(O,D,V){typeof O=="string"&&(O=[O]),typeof D=="function"&&(V=D),V=V||this.noop;let re=f.validateTopics(O);if(re!==null)return S(V,new Error(`Invalid topic ${re}`)),this;if(this._checkDisconnecting(V))return this;let G=()=>{let X=this._nextId();if(X===null)return this.log("No messageId left"),!1;let L={cmd:"unsubscribe",messageId:X,unsubscriptions:[]};return typeof O=="string"?L.unsubscriptions=[O]:Array.isArray(O)&&(L.unsubscriptions=O),this.options.resubscribe&&L.unsubscriptions.forEach($=>{delete this._resubscribeTopics[$]}),typeof D=="object"&&D.properties&&(L.properties=D.properties),this.outgoing[L.messageId]={volatile:!0,cb:V},this.log("unsubscribe: call _sendPacket"),this._sendPacket(L),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!G())&&this._storeProcessingQueue.push({invoke:G,callback:V}),this}unsubscribeAsync(O,D){return new Promise((V,re)=>{this.unsubscribe(O,D,(G,X)=>{G?re(G):V(X)})})}end(O,D,V){this.log("end :: (%s)",this.options.clientId),(O==null||typeof O!="boolean")&&(V=V||D,D=O,O=!1),typeof D!="object"&&(V=V||D,D=null),this.log("end :: cb? %s",!!V),(!V||typeof V!="function")&&(V=this.noop);let re=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(X=>{this.outgoingStore.close(L=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),V){let $=X||L;this.log("end :: closeStores: invoking callback with args"),V($)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},G=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,O),this._cleanUp(O,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,_.nextTick)(re)},D)};return this.disconnecting?(V(),this):(this._clearReconnect(),this.disconnecting=!0,!O&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,G,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),G()),this)}endAsync(O,D){return new Promise((V,re)=>{this.end(O,D,G=>{G?re(G):V()})})}removeOutgoingMessage(O){if(this.outgoing[O]){let{cb:D}=this.outgoing[O];this._removeOutgoingAndStoreMessage(O,()=>{D(new Error("Message removed"))})}return this}reconnect(O){this.log("client reconnect");let D=()=>{O?(this.options.incomingStore=O.incomingStore,this.options.outgoingStore=O.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new p.default,this.outgoingStore=this.options.outgoingStore||new p.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=D:D(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(O=>{this.outgoing[O].volatile&&typeof this.outgoing[O].cb=="function"&&(this.outgoing[O].cb(new Error("Connection closed")),delete this.outgoing[O])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(O=>{typeof this.outgoing[O].cb=="function"&&(this.outgoing[O].cb(new Error("Connection closed")),delete this.outgoing[O])}))}_removeTopicAliasAndRecoverTopicName(O){let D;O.properties&&(D=O.properties.topicAlias);let V=O.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",D,V),V.length===0){if(typeof D>"u")return new Error("Unregistered Topic Alias");if(V=this.topicAliasSend.getTopicByAlias(D),typeof V>"u")return new Error("Unregistered Topic Alias");O.topic=V}D&&delete O.properties.topicAlias}_checkDisconnecting(O){return this.disconnecting&&(O&&O!==this.noop?O(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(O,D,V={}){if(D&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",D)),this.log("_cleanUp :: forced? %s",O),O)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let re=Object.assign({cmd:"disconnect"},V);this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(re,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),S(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),D&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",D),D())}_storeAndSend(O,D,V){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",O.cmd);let re=O,G;if(re.cmd==="publish"&&(re=(0,u.default)(O),G=this._removeTopicAliasAndRecoverTopicName(re),G))return D&&D(G);this.outgoingStore.put(re,X=>{if(X)return D&&D(X);V(),this._writePacket(O,D)})}_applyTopicAlias(O){if(this.options.protocolVersion===5&&O.cmd==="publish"){let D;O.properties&&(D=O.properties.topicAlias);let V=O.topic.toString();if(this.topicAliasSend)if(D){if(V.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",V,D),!this.topicAliasSend.put(V,D)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",V,D),new Error("Sending Topic Alias out of range")}else V.length!==0&&(this.options.autoAssignTopicAlias?(D=this.topicAliasSend.getAliasByTopic(V),D?(O.topic="",O.properties=Object.assign(Object.assign({},O.properties),{topicAlias:D}),this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",V,D)):(D=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(V,D),O.properties=Object.assign(Object.assign({},O.properties),{topicAlias:D}),this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",V,D))):this.options.autoUseTopicAlias&&(D=this.topicAliasSend.getAliasByTopic(V),D&&(O.topic="",O.properties=Object.assign(Object.assign({},O.properties),{topicAlias:D}),this.log("applyTopicAlias :: auto use topic: %s - alias: %d",V,D))));else if(D)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",V,D),new Error("Sending Topic Alias out of range")}}_noop(O){this.log("noop ::",O)}_writePacket(O,D){this.log("_writePacket :: packet: %O",O),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",O),this.log("_writePacket :: writing to stream");let V=a.default.writeToStream(O,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",V),!V&&D&&D!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",D)):D&&(this.log("_writePacket :: invoking cb"),D())}_sendPacket(O,D,V,re){this.log("_sendPacket :: (%s) :: start",this.options.clientId),V=V||this.noop,D=D||this.noop;let G=this._applyTopicAlias(O);if(G){D(G);return}if(!this.connected){if(O.cmd==="auth"){this._writePacket(O,D);return}this.log("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(O,D,V);return}if(re){this._writePacket(O,D);return}switch(O.cmd){case"publish":break;case"pubrel":this._storeAndSend(O,D,V);return;default:this._writePacket(O,D);return}switch(O.qos){case 2:case 1:this._storeAndSend(O,D,V);break;case 0:default:this._writePacket(O,D);break}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}_storePacket(O,D,V){this.log("_storePacket :: packet: %o",O),this.log("_storePacket :: cb? %s",!!D),V=V||this.noop;let re=O;if(re.cmd==="publish"){re=(0,u.default)(O);let X=this._removeTopicAliasAndRecoverTopicName(re);if(X)return D&&D(X)}let G=re.qos||0;G===0&&this.queueQoSZero||re.cmd!=="publish"?this.queue.push({packet:re,cb:D}):G>0?(D=this.outgoing[re.messageId]?this.outgoing[re.messageId].cb:null,this.outgoingStore.put(re,X=>{if(X)return D&&D(X);V()})):D&&D(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new E.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(O=!1){this.keepaliveManager&&this.options.keepalive&&(O||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let O=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&O.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let D=0;D{let V=this.outgoingStore.createStream(),re=()=>{V.destroy(),V=null,this._flushStoreProcessingQueue(),G()},G=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",re),V.on("error",L=>{G(),this._flushStoreProcessingQueue(),this.removeListener("close",re),this.emit("error",L)});let X=()=>{if(!V)return;let L=V.read(1),$;if(!L){V.once("readable",X);return}if(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[L.messageId]){X();return}!this.disconnecting&&!this.reconnectTimer?($=this.outgoing[L.messageId]?this.outgoing[L.messageId].cb:null,this.outgoing[L.messageId]={volatile:!1,cb(ae,ce){$&&$(ae,ce),X()}},this._packetIdsDuringStoreProcessing[L.messageId]=!0,this.messageIdProvider.register(L.messageId)?this._sendPacket(L,void 0,void 0,!0):this.log("messageId: %d has already used.",L.messageId)):V.destroy&&V.destroy()};V.on("end",()=>{let L=!0;for(let $ in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[$]){L=!1;break}this.removeListener("close",re),L?(G(),this._invokeAllStoreProcessingQueue(),this.emit("connect",O)):D()}),X()};D()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let O=this._storeProcessingQueue[0];if(O&&O.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let O of this._storeProcessingQueue)O.cbStorePut&&O.cbStorePut(new Error("Connection closed")),O.callback&&O.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(O,D){delete this.outgoing[O],this.outgoingStore.del({messageId:O},(V,re)=>{D(V,re),this.messageIdProvider.deallocate(O),this._invokeStoreProcessingQueue()})}};C.VERSION=_.MQTTJS_VERSION,e.default=C}),aR=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=Ew(),r=class{constructor(){this.numberAllocator=new t.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(n){return this.numberAllocator.use(n)}deallocate(n){this.numberAllocator.free(n)}clear(){this.numberAllocator.clear()}};e.default=r});function Fn(e){throw new RangeError(Tw[e])}function hg(e,t){let r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]);let s=function(i,a){let o=[],l=i.length;for(;l--;)o[l]=a(i[l]);return o}((e=e.replace(Aw,".")).split("."),t).join(".");return n+s}function dg(e){let t=[],r=0,n=e.length;for(;r=55296&&s<=56319&&r{be(),ve(),we(),pg=/^xn--/,gg=/[^\0-\x7E]/,Aw=/[\x2E\u3002\uFF0E\uFF61]/g,Tw={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},nr=Math.floor,Lo=String.fromCharCode,yu=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},_u=function(e,t,r){let n=0;for(e=r?nr(e/700):e>>1,e+=nr(e/t);e>455;n+=36)e=nr(e/35);return nr(n+36*e/(e+38))},bu=function(e){let t=[],r=e.length,n=0,s=128,i=72,a=e.lastIndexOf("-");a<0&&(a=0);for(let l=0;l=128&&Fn("not-basic"),t.push(e.charCodeAt(l));for(let l=a>0?a+1:0;l=r&&Fn("invalid-input");let g=(o=e.charCodeAt(l++))-48<10?o-22:o-65<26?o-65:o-97<26?o-97:36;(g>=36||g>nr((2147483647-n)/d))&&Fn("overflow"),n+=g*d;let _=p<=i?1:p>=i+26?26:p-i;if(g<_)break;let b=36-_;d>nr(2147483647/b)&&Fn("overflow"),d*=b}let f=t.length+1;i=_u(n-u,f,u==0),nr(n/f)>2147483647-s&&Fn("overflow"),s+=nr(n/f),n%=f,t.splice(n++,0,s)}var o;return String.fromCodePoint(...t)},wu=function(e){let t=[],r=(e=dg(e)).length,n=128,s=0,i=72;for(let l of e)l<128&&t.push(Lo(l));let a=t.length,o=a;for(a&&t.push("-");o=n&&fnr((2147483647-s)/u)&&Fn("overflow"),s+=(l-n)*u,n=l;for(let f of e)if(f2147483647&&Fn("overflow"),f==n){let d=s;for(let p=36;;p+=36){let g=p<=i?1:p>=i+26?26:p-i;if(dString.fromCodePoint(...e)},decode:bu,encode:wu,toASCII:function(e){return hg(e,function(t){return gg.test(t)?"xn--"+wu(t):t})},toUnicode:function(e){return hg(e,function(t){return pg.test(t)?bu(t.slice(4).toLowerCase()):t})}},dn.decode,dn.encode,dn.toASCII,dn.toUnicode,dn.ucs2,dn.version});function uR(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var mg,Ii,yg,mr,fR=pt(()=>{be(),ve(),we(),mg=function(e,t,r,n){t=t||"&",r=r||"=";var s={};if(typeof e!="string"||e.length===0)return s;var i=/\+/g;e=e.split(t);var a=1e3;n&&typeof n.maxKeys=="number"&&(a=n.maxKeys);var o=e.length;a>0&&o>a&&(o=a);for(var l=0;l=0?(u=g.substr(0,_),f=g.substr(_+1)):(u=g,f=""),d=decodeURIComponent(u),p=decodeURIComponent(f),uR(s,d)?Array.isArray(s[d])?s[d].push(p):s[d]=[s[d],p]:s[d]=p}return s},Ii=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},yg=function(e,t,r,n){return t=t||"&",r=r||"=",e===null&&(e=void 0),typeof e=="object"?Object.keys(e).map(function(s){var i=encodeURIComponent(Ii(s))+r;return Array.isArray(e[s])?e[s].map(function(a){return i+encodeURIComponent(Ii(a))}).join(t):i+encodeURIComponent(Ii(e[s]))}).join(t):n?encodeURIComponent(Ii(n))+r+encodeURIComponent(Ii(e)):""},mr={},mr.decode=mr.parse=mg,mr.encode=mr.stringify=yg,mr.decode,mr.encode,mr.parse,mr.stringify});function Qc(){throw new Error("setTimeout has not been defined")}function Xc(){throw new Error("clearTimeout has not been defined")}function xw(e){if(Br===setTimeout)return setTimeout(e,0);if((Br===Qc||!Br)&&setTimeout)return Br=setTimeout,setTimeout(e,0);try{return Br(e,0)}catch{try{return Br.call(null,e,0)}catch{return Br.call(this||ri,e,0)}}}function cR(){ni&&Qn&&(ni=!1,Qn.length?wr=Qn.concat(wr):Js=-1,wr.length&&Iw())}function Iw(){if(!ni){var e=xw(cR);ni=!0;for(var t=wr.length;t;){for(Qn=wr,wr=[];++Js{be(),ve(),we(),ri=typeof globalThis<"u"?globalThis:typeof self<"u"?self:si,it=bg={},function(){try{Br=typeof setTimeout=="function"?setTimeout:Qc}catch{Br=Qc}try{Dr=typeof clearTimeout=="function"?clearTimeout:Xc}catch{Dr=Xc}}(),wr=[],ni=!1,Js=-1,it.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r1)for(var v=1;v{be(),ve(),we(),ca={},Jc=!1,Hn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:si,Ze=dR(),Ze.platform="browser",Ze.addListener,Ze.argv,Ze.binding,Ze.browser,Ze.chdir,Ze.cwd,Ze.emit,Ze.env,Ze.listeners,Ze.nextTick,Ze.off,Ze.on,Ze.once,Ze.prependListener,Ze.prependOnceListener,Ze.removeAllListeners,Ze.removeListener,Ze.title,Ze.umask,Ze.version,Ze.versions});function pR(){if(Zc)return ha;Zc=!0;var e=Ze;function t(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}function r(i,a){for(var o="",l=0,u=-1,f=0,d,p=0;p<=i.length;++p){if(p2){var g=o.lastIndexOf("/");if(g!==o.length-1){g===-1?(o="",l=0):(o=o.slice(0,g),l=o.length-1-o.lastIndexOf("/")),u=p,f=0;continue}}else if(o.length===2||o.length===1){o="",l=0,u=p,f=0;continue}}a&&(o.length>0?o+="/..":o="..",l=2)}else o.length>0?o+="/"+i.slice(u+1,p):o=i.slice(u+1,p),l=p-u-1;u=p,f=0}else d===46&&f!==-1?++f:f=-1}return o}function n(i,a){var o=a.dir||a.root,l=a.base||(a.name||"")+(a.ext||"");return o?o===a.root?o+l:o+i+l:l}var s={resolve:function(){for(var i="",a=!1,o,l=arguments.length-1;l>=-1&&!a;l--){var u;l>=0?u=arguments[l]:(o===void 0&&(o=e.cwd()),u=o),t(u),u.length!==0&&(i=u+"/"+i,a=u.charCodeAt(0)===47)}return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(i){if(t(i),i.length===0)return".";var a=i.charCodeAt(0)===47,o=i.charCodeAt(i.length-1)===47;return i=r(i,!a),i.length===0&&!a&&(i="."),i.length>0&&o&&(i+="/"),a?"/"+i:i},isAbsolute:function(i){return t(i),i.length>0&&i.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var i,a=0;a0&&(i===void 0?i=o:i+="/"+o)}return i===void 0?".":s.normalize(i)},relative:function(i,a){if(t(i),t(a),i===a||(i=s.resolve(i),a=s.resolve(a),i===a))return"";for(var o=1;og){if(a.charCodeAt(f+b)===47)return a.slice(f+b+1);if(b===0)return a.slice(f+b)}else u>g&&(i.charCodeAt(o+b)===47?_=b:b===0&&(_=0));break}var E=i.charCodeAt(o+b),v=a.charCodeAt(f+b);if(E!==v)break;E===47&&(_=b)}var S="";for(b=o+_+1;b<=l;++b)(b===l||i.charCodeAt(b)===47)&&(S.length===0?S+="..":S+="/..");return S.length>0?S+a.slice(f+_):(f+=_,a.charCodeAt(f)===47&&++f,a.slice(f))},_makeLong:function(i){return i},dirname:function(i){if(t(i),i.length===0)return".";for(var a=i.charCodeAt(0),o=a===47,l=-1,u=!0,f=i.length-1;f>=1;--f)if(a=i.charCodeAt(f),a===47){if(!u){l=f;break}}else u=!1;return l===-1?o?"/":".":o&&l===1?"//":i.slice(0,l)},basename:function(i,a){if(a!==void 0&&typeof a!="string")throw new TypeError('"ext" argument must be a string');t(i);var o=0,l=-1,u=!0,f;if(a!==void 0&&a.length>0&&a.length<=i.length){if(a.length===i.length&&a===i)return"";var d=a.length-1,p=-1;for(f=i.length-1;f>=0;--f){var g=i.charCodeAt(f);if(g===47){if(!u){o=f+1;break}}else p===-1&&(u=!1,p=f+1),d>=0&&(g===a.charCodeAt(d)?--d===-1&&(l=f):(d=-1,l=p))}return o===l?l=p:l===-1&&(l=i.length),i.slice(o,l)}else{for(f=i.length-1;f>=0;--f)if(i.charCodeAt(f)===47){if(!u){o=f+1;break}}else l===-1&&(u=!1,l=f+1);return l===-1?"":i.slice(o,l)}},extname:function(i){t(i);for(var a=-1,o=0,l=-1,u=!0,f=0,d=i.length-1;d>=0;--d){var p=i.charCodeAt(d);if(p===47){if(!u){o=d+1;break}continue}l===-1&&(u=!1,l=d+1),p===46?a===-1?a=d:f!==1&&(f=1):a!==-1&&(f=-1)}return a===-1||l===-1||f===0||f===1&&a===l-1&&a===o+1?"":i.slice(a,l)},format:function(i){if(i===null||typeof i!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof i);return n("/",i)},parse:function(i){t(i);var a={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return a;var o=i.charCodeAt(0),l=o===47,u;l?(a.root="/",u=1):u=0;for(var f=-1,d=0,p=-1,g=!0,_=i.length-1,b=0;_>=u;--_){if(o=i.charCodeAt(_),o===47){if(!g){d=_+1;break}continue}p===-1&&(g=!1,p=_+1),o===46?f===-1?f=_:b!==1&&(b=1):f!==-1&&(b=-1)}return f===-1||p===-1||b===0||b===1&&f===p-1&&f===d+1?p!==-1&&(d===0&&l?a.base=a.name=i.slice(1,p):a.base=a.name=i.slice(d,p)):(d===0&&l?(a.name=i.slice(1,f),a.base=i.slice(1,p)):(a.name=i.slice(d,f),a.base=i.slice(d,p)),a.ext=i.slice(f,p)),d>0?a.dir=i.slice(0,d-1):l&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};return s.posix=s,ha=s,ha}var ha,Zc,eh,gR=pt(()=>{be(),ve(),we(),Cw(),ha={},Zc=!1,eh=pR()}),Rw={};gi(Rw,{URL:()=>Yw,Url:()=>Ww,default:()=>qe,fileURLToPath:()=>Ow,format:()=>Hw,parse:()=>Kw,pathToFileURL:()=>kw,resolve:()=>Vw,resolveObject:()=>qw});function Gt(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function Is(e,t,r){if(e&&sr.isObject(e)&&e instanceof Gt)return e;var n=new Gt;return n.parse(e,t,r),n}function mR(){if(th)return da;th=!0;var e=rt;function t(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}function r(i,a){for(var o="",l=0,u=-1,f=0,d,p=0;p<=i.length;++p){if(p2){var g=o.lastIndexOf("/");if(g!==o.length-1){g===-1?(o="",l=0):(o=o.slice(0,g),l=o.length-1-o.lastIndexOf("/")),u=p,f=0;continue}}else if(o.length===2||o.length===1){o="",l=0,u=p,f=0;continue}}a&&(o.length>0?o+="/..":o="..",l=2)}else o.length>0?o+="/"+i.slice(u+1,p):o=i.slice(u+1,p),l=p-u-1;u=p,f=0}else d===46&&f!==-1?++f:f=-1}return o}function n(i,a){var o=a.dir||a.root,l=a.base||(a.name||"")+(a.ext||"");return o?o===a.root?o+l:o+i+l:l}var s={resolve:function(){for(var i="",a=!1,o,l=arguments.length-1;l>=-1&&!a;l--){var u;l>=0?u=arguments[l]:(o===void 0&&(o=e.cwd()),u=o),t(u),u.length!==0&&(i=u+"/"+i,a=u.charCodeAt(0)===47)}return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(i){if(t(i),i.length===0)return".";var a=i.charCodeAt(0)===47,o=i.charCodeAt(i.length-1)===47;return i=r(i,!a),i.length===0&&!a&&(i="."),i.length>0&&o&&(i+="/"),a?"/"+i:i},isAbsolute:function(i){return t(i),i.length>0&&i.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var i,a=0;a0&&(i===void 0?i=o:i+="/"+o)}return i===void 0?".":s.normalize(i)},relative:function(i,a){if(t(i),t(a),i===a||(i=s.resolve(i),a=s.resolve(a),i===a))return"";for(var o=1;og){if(a.charCodeAt(f+b)===47)return a.slice(f+b+1);if(b===0)return a.slice(f+b)}else u>g&&(i.charCodeAt(o+b)===47?_=b:b===0&&(_=0));break}var E=i.charCodeAt(o+b),v=a.charCodeAt(f+b);if(E!==v)break;E===47&&(_=b)}var S="";for(b=o+_+1;b<=l;++b)(b===l||i.charCodeAt(b)===47)&&(S.length===0?S+="..":S+="/..");return S.length>0?S+a.slice(f+_):(f+=_,a.charCodeAt(f)===47&&++f,a.slice(f))},_makeLong:function(i){return i},dirname:function(i){if(t(i),i.length===0)return".";for(var a=i.charCodeAt(0),o=a===47,l=-1,u=!0,f=i.length-1;f>=1;--f)if(a=i.charCodeAt(f),a===47){if(!u){l=f;break}}else u=!1;return l===-1?o?"/":".":o&&l===1?"//":i.slice(0,l)},basename:function(i,a){if(a!==void 0&&typeof a!="string")throw new TypeError('"ext" argument must be a string');t(i);var o=0,l=-1,u=!0,f;if(a!==void 0&&a.length>0&&a.length<=i.length){if(a.length===i.length&&a===i)return"";var d=a.length-1,p=-1;for(f=i.length-1;f>=0;--f){var g=i.charCodeAt(f);if(g===47){if(!u){o=f+1;break}}else p===-1&&(u=!1,p=f+1),d>=0&&(g===a.charCodeAt(d)?--d===-1&&(l=f):(d=-1,l=p))}return o===l?l=p:l===-1&&(l=i.length),i.slice(o,l)}else{for(f=i.length-1;f>=0;--f)if(i.charCodeAt(f)===47){if(!u){o=f+1;break}}else l===-1&&(u=!1,l=f+1);return l===-1?"":i.slice(o,l)}},extname:function(i){t(i);for(var a=-1,o=0,l=-1,u=!0,f=0,d=i.length-1;d>=0;--d){var p=i.charCodeAt(d);if(p===47){if(!u){o=d+1;break}continue}l===-1&&(u=!1,l=d+1),p===46?a===-1?a=d:f!==1&&(f=1):a!==-1&&(f=-1)}return a===-1||l===-1||f===0||f===1&&a===l-1&&a===o+1?"":i.slice(a,l)},format:function(i){if(i===null||typeof i!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof i);return n("/",i)},parse:function(i){t(i);var a={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return a;var o=i.charCodeAt(0),l=o===47,u;l?(a.root="/",u=1):u=0;for(var f=-1,d=0,p=-1,g=!0,_=i.length-1,b=0;_>=u;--_){if(o=i.charCodeAt(_),o===47){if(!g){d=_+1;break}continue}p===-1&&(g=!1,p=_+1),o===46?f===-1?f=_:b!==1&&(b=1):f!==-1&&(b=-1)}return f===-1||p===-1||b===0||b===1&&f===p-1&&f===d+1?p!==-1&&(d===0&&l?a.base=a.name=i.slice(1,p):a.base=a.name=i.slice(d,p)):(d===0&&l?(a.name=i.slice(1,f),a.base=i.slice(1,p)):(a.name=i.slice(d,f),a.base=i.slice(d,p)),a.ext=i.slice(f,p)),d>0?a.dir=i.slice(0,d-1):l&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};return s.posix=s,da=s,da}function yR(e){if(typeof e=="string")e=new URL(e);else if(!(e instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(e.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return Da?_R(e):bR(e)}function _R(e){let t=e.hostname,r=e.pathname;for(let n=0;nLw||s!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function bR(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=e.pathname;for(let r=0;rXw||s!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function ER(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=e.pathname;for(let r=0;r{be(),ve(),we(),lR(),fR(),hR(),gR(),Cw(),qe={},wg=dn,sr={isString:function(e){return typeof e=="string"},isObject:function(e){return typeof e=="object"&&e!==null},isNull:function(e){return e===null},isNullOrUndefined:function(e){return e==null}},qe.parse=Is,qe.resolve=function(e,t){return Is(e,!1,!0).resolve(t)},qe.resolveObject=function(e,t){return e?Is(e,!1,!0).resolveObject(t):t},qe.format=function(e){return sr.isString(e)&&(e=Is(e)),e instanceof Gt?e.format():Gt.prototype.format.call(e)},qe.Url=Gt,vg=/^([a-z0-9.+-]+:)/i,Eg=/:[0-9]*$/,Sg=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Ag=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` +`," "]),Bo=["'"].concat(Ag),vu=["%","/","?",";","#"].concat(Bo),Eu=["/","?","#"],Su=/^[+a-z0-9A-Z_-]{0,63}$/,Tg=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,xg={javascript:!0,"javascript:":!0},Do={javascript:!0,"javascript:":!0},$n={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Uo=mr,Gt.prototype.parse=function(e,t,r){if(!sr.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),s=n!==-1&&n127?C+="x":C+=w[R];if(!C.match(Su)){var D=v.slice(0,_),V=v.slice(_+1),re=w.match(Tg);re&&(D.push(re[1]),V.unshift(re[2])),V.length&&(a="/"+V.join(".")+a),this.hostname=D.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),E||(this.hostname=wg.toASCII(this.hostname));var G=this.port?":"+this.port:"",X=this.hostname||"";this.host=X+G,this.href+=this.host,E&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),a[0]!=="/"&&(a="/"+a))}if(!xg[u])for(_=0,S=Bo.length;_0)&&r.host.split("@"))&&(r.auth=re.shift(),r.host=r.hostname=re.shift())),r.search=e.search,r.query=e.query,sr.isNull(r.pathname)&&sr.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!w.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var R=w.slice(-1)[0],O=(r.host||e.host||w.length>1)&&(R==="."||R==="..")||R==="",D=0,V=w.length;V>=0;V--)(R=w[V])==="."?w.splice(V,1):R===".."?(w.splice(V,1),D++):D&&(w.splice(V,1),D--);if(!v&&!S)for(;D--;D)w.unshift("..");!v||w[0]===""||w[0]&&w[0].charAt(0)==="/"||w.unshift(""),O&&w.join("/").substr(-1)!=="/"&&w.push("");var re,G=w[0]===""||w[0]&&w[0].charAt(0)==="/";return C&&(r.hostname=r.host=G?"":w.length?w.shift():"",(re=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=re.shift(),r.host=r.hostname=re.shift())),(v=v||r.host&&w.length)&&!G&&w.unshift(""),w.length?r.pathname=w.join("/"):(r.pathname=null,r.path=null),sr.isNull(r.pathname)&&sr.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},Gt.prototype.parseHost=function(){var e=this.host,t=Eg.exec(e);t&&((t=t[0])!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},qe.Url,qe.format,qe.resolve,qe.resolveObject,da={},th=!1,rh=mR(),Ig=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,qe.URL=typeof URL<"u"?URL:null,qe.pathToFileURL=wR,qe.fileURLToPath=yR,qe.Url,qe.format,qe.resolve,qe.resolveObject,qe.URL,Mw=92,Nw=47,Pw=97,Lw=122,Da=Ig==="win32",Bw=/\//g,Dw=/%/g,Uw=/\\/g,Fw=/\n/g,$w=/\r/g,jw=/\t/g,Cg=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,qe.URL=typeof URL<"u"?URL:null,qe.pathToFileURL=kw,qe.fileURLToPath=Ow,Ww=qe.Url,Hw=qe.format,Vw=qe.resolve,qw=qe.resolveObject,Kw=qe.parse,Yw=qe.URL,zw=92,Gw=47,Qw=97,Xw=122,Ua=Cg==="win32",Jw=/\//g,Zw=/%/g,e0=/\\/g,t0=/\n/g,r0=/\r/g,n0=/\t/g}),AR=Ae((e,t)=>{be(),ve(),we(),t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),fd=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.BufferedDuplex=e.writev=void 0;var t=_i(),r=(mt(),ze(gt));function n(i,a){let o=new Array(i.length);for(let l=0;l{this.destroyed||this.push(l)})}_read(i){this.proxy.read(i)}_write(i,a,o){this.isSocketOpen?this.writeToProxy(i,a,o):this.writeQueue.push({chunk:i,encoding:a,cb:o})}_final(i){this.writeQueue=[],this.proxy.end(i)}_destroy(i,a){this.writeQueue=[],this.proxy.destroy(),a(i)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(i,a,o){this.proxy.write(i,a)===!1?this.proxy.once("drain",o):o()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:i,encoding:a,cb:o}=this.writeQueue.shift();this.writeToProxy(i,a,o)}}};e.BufferedDuplex=s}),Fo=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(v){return v&&v.__esModule?v:{default:v}};Object.defineProperty(e,"__esModule",{value:!0}),e.streamBuilder=e.browserStreamBuilder=void 0;var r=(mt(),ze(gt)),n=t(AR()),s=t(Xr()),i=_i(),a=t(Sl()),o=fd(),l=(0,s.default)("mqttjs:ws"),u=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function f(v,S){let w=`${v.protocol}://${v.hostname}:${v.port}${v.path}`;return typeof v.transformWsUrl=="function"&&(w=v.transformWsUrl(w,v,S)),w}function d(v){let S=v;return v.port||(v.protocol==="wss"?S.port=443:S.port=80),v.path||(S.path="/"),v.wsOptions||(S.wsOptions={}),!a.default&&!v.forceNativeWebSocket&&v.protocol==="wss"&&u.forEach(w=>{Object.prototype.hasOwnProperty.call(v,w)&&!Object.prototype.hasOwnProperty.call(v.wsOptions,w)&&(S.wsOptions[w]=v[w])}),S}function p(v){let S=d(v);if(S.hostname||(S.hostname=S.host),!S.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let w=new URL(document.URL);S.hostname=w.hostname,S.port||(S.port=Number(w.port))}return S.objectMode===void 0&&(S.objectMode=!(S.binary===!0||S.binary===void 0)),S}function g(v,S,w){l("createWebSocket"),l(`protocol: ${w.protocolId} ${w.protocolVersion}`);let C=w.protocolId==="MQIsdp"&&w.protocolVersion===3?"mqttv3.1":"mqtt";l(`creating new Websocket for url: ${S} and protocol: ${C}`);let R;return w.createWebsocket?R=w.createWebsocket(S,[C],w):R=new n.default(S,[C],w.wsOptions),R}function _(v,S){let w=S.protocolId==="MQIsdp"&&S.protocolVersion===3?"mqttv3.1":"mqtt",C=f(S,v),R;return S.createWebsocket?R=S.createWebsocket(C,[w],S):R=new WebSocket(C,[w]),R.binaryType="arraybuffer",R}var b=(v,S)=>{l("streamBuilder");let w=d(S);w.hostname=w.hostname||w.host||"localhost";let C=f(w,v),R=g(v,C,w),O=n.default.createWebSocketStream(R,w.wsOptions);return O.url=C,R.on("close",()=>{O.destroy()}),O};e.streamBuilder=b;var E=(v,S)=>{l("browserStreamBuilder");let w,C=p(S).browserBufferSize||1024*512,R=S.browserBufferTimeout||1e3,O=!S.objectMode,D=_(v,S),V=G(S,ce,de);S.objectMode||(V._writev=o.writev.bind(V)),V.on("close",()=>{D.close()});let re=typeof D.addEventListener<"u";D.readyState===D.OPEN?(w=V,w.socket=D):(w=new o.BufferedDuplex(S,V,D),re?D.addEventListener("open",X):D.onopen=X),re?(D.addEventListener("close",L),D.addEventListener("error",$),D.addEventListener("message",ae)):(D.onclose=L,D.onerror=$,D.onmessage=ae);function G(pe,z,ge){let Y=new i.Transform({objectMode:pe.objectMode});return Y._write=z,Y._flush=ge,Y}function X(){l("WebSocket onOpen"),w instanceof o.BufferedDuplex&&w.socketReady()}function L(pe){l("WebSocket onClose",pe),w.end(),w.destroy()}function $(pe){l("WebSocket onError",pe);let z=new Error("WebSocket error");z.event=pe,w.destroy(z)}async function ae(pe){let{data:z}=pe;z instanceof ArrayBuffer?z=r.Buffer.from(z):z instanceof Blob?z=r.Buffer.from(await new Response(z).arrayBuffer()):z=r.Buffer.from(z,"utf8"),V&&!V.destroyed&&V.push(z)}function ce(pe,z,ge){if(D.bufferedAmount>C){setTimeout(ce,R,pe,z,ge);return}O&&typeof pe=="string"&&(pe=r.Buffer.from(pe,"utf8"));try{D.send(pe)}catch(Y){return ge(Y)}ge()}function de(pe){D.close(),pe()}return w};e.browserStreamBuilder=E}),cd={};gi(cd,{Server:()=>et,Socket:()=>et,Stream:()=>et,_createServerHandle:()=>et,_normalizeArgs:()=>et,_setSimultaneousAccepts:()=>et,connect:()=>et,createConnection:()=>et,createServer:()=>et,default:()=>i0,isIP:()=>et,isIPv4:()=>et,isIPv6:()=>et});function et(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}var i0,s0=pt(()=>{be(),ve(),we(),i0={_createServerHandle:et,_normalizeArgs:et,_setSimultaneousAccepts:et,connect:et,createConnection:et,createServer:et,isIP:et,isIPv4:et,isIPv6:et,Server:et,Socket:et,Stream:et}}),Rg=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(e,"__esModule",{value:!0});var r=t((s0(),ze(cd))),n=t(Xr()),s=(0,n.default)("mqttjs:tcp"),i=(a,o)=>{o.port=o.port||1883,o.hostname=o.hostname||o.host||"localhost";let{port:l,path:u}=o,f=o.hostname;return s("port %d and host %s",l,f),r.default.createConnection({port:l,host:f,path:u})};e.default=i}),o0={};gi(o0,{default:()=>a0});var a0,TR=pt(()=>{be(),ve(),we(),a0={}}),Og=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(e,"__esModule",{value:!0});var r=t((TR(),ze(o0))),n=t((s0(),ze(cd))),s=t(Xr()),i=(0,s.default)("mqttjs:tls"),a=(o,l)=>{l.port=l.port||8883,l.host=l.hostname||l.host||"localhost",n.default.isIP(l.host)===0&&(l.servername=l.host),l.rejectUnauthorized=l.rejectUnauthorized!==!1,delete l.path,i("port %d host %s rejectUnauthorized %b",l.port,l.host,l.rejectUnauthorized);let u=r.default.connect(l);u.on("secureConnect",()=>{l.rejectUnauthorized&&!u.authorized?u.emit("error",new Error("TLS not authorized")):u.removeListener("error",f)});function f(d){l.rejectUnauthorized&&o.emit("error",d),u.end()}return u.on("error",f),u};e.default=a}),kg=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=(mt(),ze(gt)),r=_i(),n=fd(),s,i,a;function o(){let p=new r.Transform;return p._write=(g,_,b)=>{s.send({data:g.buffer,success(){b()},fail(E){b(new Error(E))}})},p._flush=g=>{s.close({success(){g()}})},p}function l(p){p.hostname||(p.hostname="localhost"),p.path||(p.path="/"),p.wsOptions||(p.wsOptions={})}function u(p,g){let _=p.protocol==="wxs"?"wss":"ws",b=`${_}://${p.hostname}${p.path}`;return p.port&&p.port!==80&&p.port!==443&&(b=`${_}://${p.hostname}:${p.port}${p.path}`),typeof p.transformWsUrl=="function"&&(b=p.transformWsUrl(b,p,g)),b}function f(){s.onOpen(()=>{a.socketReady()}),s.onMessage(p=>{let{data:g}=p;g instanceof ArrayBuffer?g=t.Buffer.from(g):g=t.Buffer.from(g,"utf8"),i.push(g)}),s.onClose(()=>{a.emit("close"),a.end(),a.destroy()}),s.onError(p=>{let g=new Error(p.errMsg);a.destroy(g)})}var d=(p,g)=>{if(g.hostname=g.hostname||g.host,!g.hostname)throw new Error("Could not determine host. Specify host manually.");let _=g.protocolId==="MQIsdp"&&g.protocolVersion===3?"mqttv3.1":"mqtt";l(g);let b=u(g,p);s=wx.connectSocket({url:b,protocols:[_]}),i=o(),a=new n.BufferedDuplex(g,i,s),a._destroy=(v,S)=>{s.close({success(){S&&S(v)}})};let E=a.destroy;return a.destroy=(v,S)=>(a.destroy=E,setTimeout(()=>{s.close({fail(){a._destroy(v,S)}})},0),a),f(),a};e.default=d}),Mg=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=(mt(),ze(gt)),r=_i(),n=fd(),s,i,a,o=!1;function l(){let g=new r.Transform;return g._write=(_,b,E)=>{s.sendSocketMessage({data:_.buffer,success(){E()},fail(){E(new Error)}})},g._flush=_=>{s.closeSocket({success(){_()}})},g}function u(g){g.hostname||(g.hostname="localhost"),g.path||(g.path="/"),g.wsOptions||(g.wsOptions={})}function f(g,_){let b=g.protocol==="alis"?"wss":"ws",E=`${b}://${g.hostname}${g.path}`;return g.port&&g.port!==80&&g.port!==443&&(E=`${b}://${g.hostname}:${g.port}${g.path}`),typeof g.transformWsUrl=="function"&&(E=g.transformWsUrl(E,g,_)),E}function d(){o||(o=!0,s.onSocketOpen(()=>{a.socketReady()}),s.onSocketMessage(g=>{if(typeof g.data=="string"){let _=t.Buffer.from(g.data,"base64");i.push(_)}else{let _=new FileReader;_.addEventListener("load",()=>{let b=_.result;b instanceof ArrayBuffer?b=t.Buffer.from(b):b=t.Buffer.from(b,"utf8"),i.push(b)}),_.readAsArrayBuffer(g.data)}}),s.onSocketClose(()=>{a.end(),a.destroy()}),s.onSocketError(g=>{a.destroy(g)}))}var p=(g,_)=>{if(_.hostname=_.hostname||_.host,!_.hostname)throw new Error("Could not determine host. Specify host manually.");let b=_.protocolId==="MQIsdp"&&_.protocolVersion===3?"mqttv3.1":"mqtt";u(_);let E=f(_,g);return s=_.my,s.connectSocket({url:E,protocols:b}),i=l(),a=new n.BufferedDuplex(_,i,s),d(),a};e.default=p}),xR=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.connectAsync=void 0;var r=t(Xr()),n=t((SR(),ze(Rw))),s=t(zc()),i=t(Sl());typeof(He==null?void 0:He.nextTick)!="function"&&(He.nextTick=setImmediate);var a=(0,r.default)("mqttjs"),o=null;function l(d){let p;d.auth&&(p=d.auth.match(/^(.+):(.+)$/),p?(d.username=p[1],d.password=p[2]):d.username=d.auth)}function u(d,p){var g,_,b,E;if(a("connecting to an MQTT broker..."),typeof d=="object"&&!p&&(p=d,d=""),p=p||{},d&&typeof d=="string"){let w=n.default.parse(d,!0),C={};if(w.port!=null&&(C.port=Number(w.port)),C.host=w.hostname,C.query=w.query,C.auth=w.auth,C.protocol=w.protocol,C.path=w.path,C.protocol=(g=C.protocol)===null||g===void 0?void 0:g.replace(/:$/,""),p=Object.assign(Object.assign({},C),p),!p.protocol)throw new Error("Missing protocol")}if(p.unixSocket=p.unixSocket||((_=p.protocol)===null||_===void 0?void 0:_.includes("+unix")),p.unixSocket?p.protocol=p.protocol.replace("+unix",""):!(!((b=p.protocol)===null||b===void 0)&&b.startsWith("ws"))&&!(!((E=p.protocol)===null||E===void 0)&&E.startsWith("wx"))&&delete p.path,l(p),p.query&&typeof p.query.clientId=="string"&&(p.clientId=p.query.clientId),p.cert&&p.key)if(p.protocol){if(["mqtts","wss","wxs","alis"].indexOf(p.protocol)===-1)switch(p.protocol){case"mqtt":p.protocol="mqtts";break;case"ws":p.protocol="wss";break;case"wx":p.protocol="wxs";break;case"ali":p.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${p.protocol}"!`)}}else throw new Error("Missing secure protocol key");if(o||(o={},!i.default&&!p.forceNativeWebSocket?(o.ws=Fo().streamBuilder,o.wss=Fo().streamBuilder,o.mqtt=Rg().default,o.tcp=Rg().default,o.ssl=Og().default,o.tls=o.ssl,o.mqtts=Og().default):(o.ws=Fo().browserStreamBuilder,o.wss=Fo().browserStreamBuilder,o.wx=kg().default,o.wxs=kg().default,o.ali=Mg().default,o.alis=Mg().default)),!o[p.protocol]){let w=["mqtts","wss"].indexOf(p.protocol)!==-1;p.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((C,R)=>w&&R%2===0?!1:typeof o[C]=="function")[0]}if(p.clean===!1&&!p.clientId)throw new Error("Missing clientId for unclean clients");p.protocol&&(p.defaultProtocol=p.protocol);function v(w){return p.servers&&((!w._reconnectCount||w._reconnectCount===p.servers.length)&&(w._reconnectCount=0),p.host=p.servers[w._reconnectCount].host,p.port=p.servers[w._reconnectCount].port,p.protocol=p.servers[w._reconnectCount].protocol?p.servers[w._reconnectCount].protocol:p.defaultProtocol,p.hostname=p.host,w._reconnectCount++),a("calling streambuilder for",p.protocol),o[p.protocol](w,p)}let S=new s.default(v,p);return S.on("error",()=>{}),S}function f(d,p,g=!0){return new Promise((_,b)=>{let E=u(d,p),v={connect:w=>{S(),_(E)},end:()=>{S(),_(E)},error:w=>{S(),E.end(),b(w)}};g===!1&&(v.close=()=>{v.error(new Error("Couldn't connect to server"))});function S(){Object.keys(v).forEach(w=>{E.off(w,v[w])})}Object.keys(v).forEach(w=>{E.on(w,v[w])})})}e.connectAsync=f,e.default=u}),Ng=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(g,_,b,E){E===void 0&&(E=b);var v=Object.getOwnPropertyDescriptor(_,b);(!v||("get"in v?!_.__esModule:v.writable||v.configurable))&&(v={enumerable:!0,get:function(){return _[b]}}),Object.defineProperty(g,E,v)}:function(g,_,b,E){E===void 0&&(E=b),g[E]=_[b]}),r=e&&e.__setModuleDefault||(Object.create?function(g,_){Object.defineProperty(g,"default",{enumerable:!0,value:_})}:function(g,_){g.default=_}),n=e&&e.__importStar||function(g){if(g&&g.__esModule)return g;var _={};if(g!=null)for(var b in g)b!=="default"&&Object.prototype.hasOwnProperty.call(g,b)&&t(_,g,b);return r(_,g),_},s=e&&e.__exportStar||function(g,_){for(var b in g)b!=="default"&&!Object.prototype.hasOwnProperty.call(_,b)&&t(_,g,b)},i=e&&e.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.ReasonCodes=e.KeepaliveManager=e.UniqueMessageIdProvider=e.DefaultMessageIdProvider=e.Store=e.MqttClient=e.connectAsync=e.connect=e.Client=void 0;var a=i(zc());e.MqttClient=a.default;var o=i(ow());e.DefaultMessageIdProvider=o.default;var l=i(aR());e.UniqueMessageIdProvider=l.default;var u=i(aw());e.Store=u.default;var f=n(xR());e.connect=f.default,Object.defineProperty(e,"connectAsync",{enumerable:!0,get:function(){return f.connectAsync}});var d=i(Sw());e.KeepaliveManager=d.default,e.Client=a.default,s(zc(),e),s(ps(),e);var p=El();Object.defineProperty(e,"ReasonCodes",{enumerable:!0,get:function(){return p.ReasonCodes}})}),IR=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(a,o,l,u){u===void 0&&(u=l);var f=Object.getOwnPropertyDescriptor(o,l);(!f||("get"in f?!o.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return o[l]}}),Object.defineProperty(a,u,f)}:function(a,o,l,u){u===void 0&&(u=l),a[u]=o[l]}),r=e&&e.__setModuleDefault||(Object.create?function(a,o){Object.defineProperty(a,"default",{enumerable:!0,value:o})}:function(a,o){a.default=o}),n=e&&e.__importStar||function(a){if(a&&a.__esModule)return a;var o={};if(a!=null)for(var l in a)l!=="default"&&Object.prototype.hasOwnProperty.call(a,l)&&t(o,a,l);return r(o,a),o},s=e&&e.__exportStar||function(a,o){for(var l in a)l!=="default"&&!Object.prototype.hasOwnProperty.call(o,l)&&t(o,a,l)};Object.defineProperty(e,"__esModule",{value:!0});var i=n(Ng());e.default=i,s(Ng(),e)});const vL=IR();/*! Bundled license information: + +@jspm/core/nodelibs/browser/buffer.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) +*/var Cs={},Rs={exports:{}},Au={exports:{}},Tu={exports:{}},xu={},Os={},Pg;function CR(){if(Pg)return Os;Pg=1,Os.byteLength=o,Os.toByteArray=u,Os.fromByteArray=p;for(var e=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,i=n.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var b=g.indexOf("=");b===-1&&(b=_);var E=b===_?0:4-b%4;return[b,E]}function o(g){var _=a(g),b=_[0],E=_[1];return(b+E)*3/4-E}function l(g,_,b){return(_+b)*3/4-b}function u(g){var _,b=a(g),E=b[0],v=b[1],S=new r(l(g,E,v)),w=0,C=v>0?E-4:E,R;for(R=0;R>16&255,S[w++]=_>>8&255,S[w++]=_&255;return v===2&&(_=t[g.charCodeAt(R)]<<2|t[g.charCodeAt(R+1)]>>4,S[w++]=_&255),v===1&&(_=t[g.charCodeAt(R)]<<10|t[g.charCodeAt(R+1)]<<4|t[g.charCodeAt(R+2)]>>2,S[w++]=_>>8&255,S[w++]=_&255),S}function f(g){return e[g>>18&63]+e[g>>12&63]+e[g>>6&63]+e[g&63]}function d(g,_,b){for(var E,v=[],S=_;SC?C:w+S));return E===1?(_=g[b-1],v.push(e[_>>2]+e[_<<4&63]+"==")):E===2&&(_=(g[b-2]<<8)+g[b-1],v.push(e[_>>10]+e[_>>4&63]+e[_<<2&63]+"=")),v.join("")}return Os}var $o={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */var Lg;function RR(){return Lg||(Lg=1,$o.read=function(e,t,r,n,s){var i,a,o=s*8-n-1,l=(1<>1,f=-7,d=r?s-1:0,p=r?-1:1,g=e[t+d];for(d+=p,i=g&(1<<-f)-1,g>>=-f,f+=o;f>0;i=i*256+e[t+d],d+=p,f-=8);for(a=i&(1<<-f)-1,i>>=-f,f+=n;f>0;a=a*256+e[t+d],d+=p,f-=8);if(i===0)i=1-u;else{if(i===l)return a?NaN:(g?-1:1)*(1/0);a=a+Math.pow(2,n),i=i-u}return(g?-1:1)*a*Math.pow(2,i-n)},$o.write=function(e,t,r,n,s,i){var a,o,l,u=i*8-s-1,f=(1<>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:i-1,_=n?1:-1,b=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+d>=1?t+=p/l:t+=p*Math.pow(2,1-d),t*l>=2&&(a++,l/=2),a+d>=f?(o=0,a=f):a+d>=1?(o=(t*l-1)*Math.pow(2,s),a=a+d):(o=t*Math.pow(2,d-1)*Math.pow(2,s),a=0));s>=8;e[r+g]=o&255,g+=_,o/=256,s-=8);for(a=a<0;e[r+g]=a&255,g+=_,a/=256,u-=8);e[r+g-_]|=b*128}),$o}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */var Bg;function Yt(){return Bg||(Bg=1,function(e){const t=CR(),r=RR(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=S,e.INSPECT_MAX_BYTES=50;const s=2147483647;e.kMaxLength=s,o.TYPED_ARRAY_SUPPORT=i(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{const h=new Uint8Array(1),c={foo:function(){return 42}};return Object.setPrototypeOf(c,Uint8Array.prototype),Object.setPrototypeOf(h,c),h.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function a(h){if(h>s)throw new RangeError('The value "'+h+'" is invalid for option "size"');const c=new Uint8Array(h);return Object.setPrototypeOf(c,o.prototype),c}function o(h,c,m){if(typeof h=="number"){if(typeof c=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return d(h)}return l(h,c,m)}o.poolSize=8192;function l(h,c,m){if(typeof h=="string")return p(h,c);if(ArrayBuffer.isView(h))return _(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(P(h,ArrayBuffer)||h&&P(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(P(h,SharedArrayBuffer)||h&&P(h.buffer,SharedArrayBuffer)))return b(h,c,m);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const x=h.valueOf&&h.valueOf();if(x!=null&&x!==h)return o.from(x,c,m);const H=E(h);if(H)return H;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return o.from(h[Symbol.toPrimitive]("string"),c,m);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}o.from=function(h,c,m){return l(h,c,m)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function u(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function f(h,c,m){return u(h),h<=0?a(h):c!==void 0?typeof m=="string"?a(h).fill(c,m):a(h).fill(c):a(h)}o.alloc=function(h,c,m){return f(h,c,m)};function d(h){return u(h),a(h<0?0:v(h)|0)}o.allocUnsafe=function(h){return d(h)},o.allocUnsafeSlow=function(h){return d(h)};function p(h,c){if((typeof c!="string"||c==="")&&(c="utf8"),!o.isEncoding(c))throw new TypeError("Unknown encoding: "+c);const m=w(h,c)|0;let x=a(m);const H=x.write(h,c);return H!==m&&(x=x.slice(0,H)),x}function g(h){const c=h.length<0?0:v(h.length)|0,m=a(c);for(let x=0;x=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return h|0}function S(h){return+h!=h&&(h=0),o.alloc(+h)}o.isBuffer=function(c){return c!=null&&c._isBuffer===!0&&c!==o.prototype},o.compare=function(c,m){if(P(c,Uint8Array)&&(c=o.from(c,c.offset,c.byteLength)),P(m,Uint8Array)&&(m=o.from(m,m.offset,m.byteLength)),!o.isBuffer(c)||!o.isBuffer(m))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(c===m)return 0;let x=c.length,H=m.length;for(let se=0,_e=Math.min(x,H);se<_e;++se)if(c[se]!==m[se]){x=c[se],H=m[se];break}return xH.length?(o.isBuffer(_e)||(_e=o.from(_e)),_e.copy(H,se)):Uint8Array.prototype.set.call(H,_e,se);else if(o.isBuffer(_e))_e.copy(H,se);else throw new TypeError('"list" argument must be an Array of Buffers');se+=_e.length}return H};function w(h,c){if(o.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||P(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);const m=h.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&m===0)return 0;let H=!1;for(;;)switch(c){case"ascii":case"latin1":case"binary":return m;case"utf8":case"utf-8":return U(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m*2;case"hex":return m>>>1;case"base64":return F(h).length;default:if(H)return x?-1:U(h).length;c=(""+c).toLowerCase(),H=!0}}o.byteLength=w;function C(h,c,m){let x=!1;if((c===void 0||c<0)&&(c=0),c>this.length||((m===void 0||m>this.length)&&(m=this.length),m<=0)||(m>>>=0,c>>>=0,m<=c))return"";for(h||(h="utf8");;)switch(h){case"hex":return ge(this,c,m);case"utf8":case"utf-8":return ae(this,c,m);case"ascii":return pe(this,c,m);case"latin1":case"binary":return z(this,c,m);case"base64":return $(this,c,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,c,m);default:if(x)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),x=!0}}o.prototype._isBuffer=!0;function R(h,c,m){const x=h[c];h[c]=h[m],h[m]=x}o.prototype.swap16=function(){const c=this.length;if(c%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let m=0;mm&&(c+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(c,m,x,H,se){if(P(c,Uint8Array)&&(c=o.from(c,c.offset,c.byteLength)),!o.isBuffer(c))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof c);if(m===void 0&&(m=0),x===void 0&&(x=c?c.length:0),H===void 0&&(H=0),se===void 0&&(se=this.length),m<0||x>c.length||H<0||se>this.length)throw new RangeError("out of range index");if(H>=se&&m>=x)return 0;if(H>=se)return-1;if(m>=x)return 1;if(m>>>=0,x>>>=0,H>>>=0,se>>>=0,this===c)return 0;let _e=se-H,xe=x-m;const Re=Math.min(_e,xe),Te=this.slice(H,se),ke=c.slice(m,x);for(let Oe=0;Oe2147483647?m=2147483647:m<-2147483648&&(m=-2147483648),m=+m,J(m)&&(m=H?0:h.length-1),m<0&&(m=h.length+m),m>=h.length){if(H)return-1;m=h.length-1}else if(m<0)if(H)m=0;else return-1;if(typeof c=="string"&&(c=o.from(c,x)),o.isBuffer(c))return c.length===0?-1:D(h,c,m,x,H);if(typeof c=="number")return c=c&255,typeof Uint8Array.prototype.indexOf=="function"?H?Uint8Array.prototype.indexOf.call(h,c,m):Uint8Array.prototype.lastIndexOf.call(h,c,m):D(h,[c],m,x,H);throw new TypeError("val must be string, number or Buffer")}function D(h,c,m,x,H){let se=1,_e=h.length,xe=c.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(h.length<2||c.length<2)return-1;se=2,_e/=2,xe/=2,m/=2}function Re(ke,Oe){return se===1?ke[Oe]:ke.readUInt16BE(Oe*se)}let Te;if(H){let ke=-1;for(Te=m;Te<_e;Te++)if(Re(h,Te)===Re(c,ke===-1?0:Te-ke)){if(ke===-1&&(ke=Te),Te-ke+1===xe)return ke*se}else ke!==-1&&(Te-=Te-ke),ke=-1}else for(m+xe>_e&&(m=_e-xe),Te=m;Te>=0;Te--){let ke=!0;for(let Oe=0;OeH&&(x=H)):x=H;const se=c.length;x>se/2&&(x=se/2);let _e;for(_e=0;_e>>0,isFinite(x)?(x=x>>>0,H===void 0&&(H="utf8")):(H=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const se=this.length-m;if((x===void 0||x>se)&&(x=se),c.length>0&&(x<0||m<0)||m>this.length)throw new RangeError("Attempt to write outside buffer bounds");H||(H="utf8");let _e=!1;for(;;)switch(H){case"hex":return V(this,c,m,x);case"utf8":case"utf-8":return re(this,c,m,x);case"ascii":case"latin1":case"binary":return G(this,c,m,x);case"base64":return X(this,c,m,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,c,m,x);default:if(_e)throw new TypeError("Unknown encoding: "+H);H=(""+H).toLowerCase(),_e=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function $(h,c,m){return c===0&&m===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(c,m))}function ae(h,c,m){m=Math.min(h.length,m);const x=[];let H=c;for(;H239?4:se>223?3:se>191?2:1;if(H+xe<=m){let Re,Te,ke,Oe;switch(xe){case 1:se<128&&(_e=se);break;case 2:Re=h[H+1],(Re&192)===128&&(Oe=(se&31)<<6|Re&63,Oe>127&&(_e=Oe));break;case 3:Re=h[H+1],Te=h[H+2],(Re&192)===128&&(Te&192)===128&&(Oe=(se&15)<<12|(Re&63)<<6|Te&63,Oe>2047&&(Oe<55296||Oe>57343)&&(_e=Oe));break;case 4:Re=h[H+1],Te=h[H+2],ke=h[H+3],(Re&192)===128&&(Te&192)===128&&(ke&192)===128&&(Oe=(se&15)<<18|(Re&63)<<12|(Te&63)<<6|ke&63,Oe>65535&&Oe<1114112&&(_e=Oe))}}_e===null?(_e=65533,xe=1):_e>65535&&(_e-=65536,x.push(_e>>>10&1023|55296),_e=56320|_e&1023),x.push(_e),H+=xe}return de(x)}const ce=4096;function de(h){const c=h.length;if(c<=ce)return String.fromCharCode.apply(String,h);let m="",x=0;for(;xx)&&(m=x);let H="";for(let se=c;sex&&(c=x),m<0?(m+=x,m<0&&(m=0)):m>x&&(m=x),mm)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(c,m,x){c=c>>>0,m=m>>>0,x||he(c,m,this.length);let H=this[c],se=1,_e=0;for(;++_e>>0,m=m>>>0,x||he(c,m,this.length);let H=this[c+--m],se=1;for(;m>0&&(se*=256);)H+=this[c+--m]*se;return H},o.prototype.readUint8=o.prototype.readUInt8=function(c,m){return c=c>>>0,m||he(c,1,this.length),this[c]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(c,m){return c=c>>>0,m||he(c,2,this.length),this[c]|this[c+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(c,m){return c=c>>>0,m||he(c,2,this.length),this[c]<<8|this[c+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(c,m){return c=c>>>0,m||he(c,4,this.length),(this[c]|this[c+1]<<8|this[c+2]<<16)+this[c+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(c,m){return c=c>>>0,m||he(c,4,this.length),this[c]*16777216+(this[c+1]<<16|this[c+2]<<8|this[c+3])},o.prototype.readBigUInt64LE=me(function(c){c=c>>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=m+this[++c]*2**8+this[++c]*2**16+this[++c]*2**24,se=this[++c]+this[++c]*2**8+this[++c]*2**16+x*2**24;return BigInt(H)+(BigInt(se)<>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=m*2**24+this[++c]*2**16+this[++c]*2**8+this[++c],se=this[++c]*2**24+this[++c]*2**16+this[++c]*2**8+x;return(BigInt(H)<>>0,m=m>>>0,x||he(c,m,this.length);let H=this[c],se=1,_e=0;for(;++_e=se&&(H-=Math.pow(2,8*m)),H},o.prototype.readIntBE=function(c,m,x){c=c>>>0,m=m>>>0,x||he(c,m,this.length);let H=m,se=1,_e=this[c+--H];for(;H>0&&(se*=256);)_e+=this[c+--H]*se;return se*=128,_e>=se&&(_e-=Math.pow(2,8*m)),_e},o.prototype.readInt8=function(c,m){return c=c>>>0,m||he(c,1,this.length),this[c]&128?(255-this[c]+1)*-1:this[c]},o.prototype.readInt16LE=function(c,m){c=c>>>0,m||he(c,2,this.length);const x=this[c]|this[c+1]<<8;return x&32768?x|4294901760:x},o.prototype.readInt16BE=function(c,m){c=c>>>0,m||he(c,2,this.length);const x=this[c+1]|this[c]<<8;return x&32768?x|4294901760:x},o.prototype.readInt32LE=function(c,m){return c=c>>>0,m||he(c,4,this.length),this[c]|this[c+1]<<8|this[c+2]<<16|this[c+3]<<24},o.prototype.readInt32BE=function(c,m){return c=c>>>0,m||he(c,4,this.length),this[c]<<24|this[c+1]<<16|this[c+2]<<8|this[c+3]},o.prototype.readBigInt64LE=me(function(c){c=c>>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=this[c+4]+this[c+5]*2**8+this[c+6]*2**16+(x<<24);return(BigInt(H)<>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=(m<<24)+this[++c]*2**16+this[++c]*2**8+this[++c];return(BigInt(H)<>>0,m||he(c,4,this.length),r.read(this,c,!0,23,4)},o.prototype.readFloatBE=function(c,m){return c=c>>>0,m||he(c,4,this.length),r.read(this,c,!1,23,4)},o.prototype.readDoubleLE=function(c,m){return c=c>>>0,m||he(c,8,this.length),r.read(this,c,!0,52,8)},o.prototype.readDoubleBE=function(c,m){return c=c>>>0,m||he(c,8,this.length),r.read(this,c,!1,52,8)};function N(h,c,m,x,H,se){if(!o.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(c>H||ch.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(c,m,x,H){if(c=+c,m=m>>>0,x=x>>>0,!H){const xe=Math.pow(2,8*x)-1;N(this,c,m,x,xe,0)}let se=1,_e=0;for(this[m]=c&255;++_e>>0,x=x>>>0,!H){const xe=Math.pow(2,8*x)-1;N(this,c,m,x,xe,0)}let se=x-1,_e=1;for(this[m+se]=c&255;--se>=0&&(_e*=256);)this[m+se]=c/_e&255;return m+x},o.prototype.writeUint8=o.prototype.writeUInt8=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,1,255,0),this[m]=c&255,m+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,65535,0),this[m]=c&255,this[m+1]=c>>>8,m+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,65535,0),this[m]=c>>>8,this[m+1]=c&255,m+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,4294967295,0),this[m+3]=c>>>24,this[m+2]=c>>>16,this[m+1]=c>>>8,this[m]=c&255,m+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,4294967295,0),this[m]=c>>>24,this[m+1]=c>>>16,this[m+2]=c>>>8,this[m+3]=c&255,m+4};function ne(h,c,m,x,H){A(c,x,H,h,m,7);let se=Number(c&BigInt(4294967295));h[m++]=se,se=se>>8,h[m++]=se,se=se>>8,h[m++]=se,se=se>>8,h[m++]=se;let _e=Number(c>>BigInt(32)&BigInt(4294967295));return h[m++]=_e,_e=_e>>8,h[m++]=_e,_e=_e>>8,h[m++]=_e,_e=_e>>8,h[m++]=_e,m}function ye(h,c,m,x,H){A(c,x,H,h,m,7);let se=Number(c&BigInt(4294967295));h[m+7]=se,se=se>>8,h[m+6]=se,se=se>>8,h[m+5]=se,se=se>>8,h[m+4]=se;let _e=Number(c>>BigInt(32)&BigInt(4294967295));return h[m+3]=_e,_e=_e>>8,h[m+2]=_e,_e=_e>>8,h[m+1]=_e,_e=_e>>8,h[m]=_e,m+8}o.prototype.writeBigUInt64LE=me(function(c,m=0){return ne(this,c,m,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=me(function(c,m=0){return ye(this,c,m,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(c,m,x,H){if(c=+c,m=m>>>0,!H){const Re=Math.pow(2,8*x-1);N(this,c,m,x,Re-1,-Re)}let se=0,_e=1,xe=0;for(this[m]=c&255;++se>0)-xe&255;return m+x},o.prototype.writeIntBE=function(c,m,x,H){if(c=+c,m=m>>>0,!H){const Re=Math.pow(2,8*x-1);N(this,c,m,x,Re-1,-Re)}let se=x-1,_e=1,xe=0;for(this[m+se]=c&255;--se>=0&&(_e*=256);)c<0&&xe===0&&this[m+se+1]!==0&&(xe=1),this[m+se]=(c/_e>>0)-xe&255;return m+x},o.prototype.writeInt8=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,1,127,-128),c<0&&(c=255+c+1),this[m]=c&255,m+1},o.prototype.writeInt16LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,32767,-32768),this[m]=c&255,this[m+1]=c>>>8,m+2},o.prototype.writeInt16BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,32767,-32768),this[m]=c>>>8,this[m+1]=c&255,m+2},o.prototype.writeInt32LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,2147483647,-2147483648),this[m]=c&255,this[m+1]=c>>>8,this[m+2]=c>>>16,this[m+3]=c>>>24,m+4},o.prototype.writeInt32BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,2147483647,-2147483648),c<0&&(c=4294967295+c+1),this[m]=c>>>24,this[m+1]=c>>>16,this[m+2]=c>>>8,this[m+3]=c&255,m+4},o.prototype.writeBigInt64LE=me(function(c,m=0){return ne(this,c,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=me(function(c,m=0){return ye(this,c,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function oe(h,c,m,x,H,se){if(m+x>h.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("Index out of range")}function Q(h,c,m,x,H){return c=+c,m=m>>>0,H||oe(h,c,m,4),r.write(h,c,m,x,23,4),m+4}o.prototype.writeFloatLE=function(c,m,x){return Q(this,c,m,!0,x)},o.prototype.writeFloatBE=function(c,m,x){return Q(this,c,m,!1,x)};function q(h,c,m,x,H){return c=+c,m=m>>>0,H||oe(h,c,m,8),r.write(h,c,m,x,52,8),m+8}o.prototype.writeDoubleLE=function(c,m,x){return q(this,c,m,!0,x)},o.prototype.writeDoubleBE=function(c,m,x){return q(this,c,m,!1,x)},o.prototype.copy=function(c,m,x,H){if(!o.isBuffer(c))throw new TypeError("argument should be a Buffer");if(x||(x=0),!H&&H!==0&&(H=this.length),m>=c.length&&(m=c.length),m||(m=0),H>0&&H=this.length)throw new RangeError("Index out of range");if(H<0)throw new RangeError("sourceEnd out of bounds");H>this.length&&(H=this.length),c.length-m>>0,x=x===void 0?this.length:x>>>0,c||(c=0);let se;if(typeof c=="number")for(se=m;se2**32?H=te(String(m)):typeof m=="bigint"&&(H=String(m),(m>BigInt(2)**BigInt(32)||m<-(BigInt(2)**BigInt(32)))&&(H=te(H)),H+="n"),x+=` It must be ${c}. Received ${H}`,x},RangeError);function te(h){let c="",m=h.length;const x=h[0]==="-"?1:0;for(;m>=x+4;m-=3)c=`_${h.slice(m-3,m)}${c}`;return`${h.slice(0,m)}${c}`}function ee(h,c,m){T(c,"offset"),(h[c]===void 0||h[c+m]===void 0)&&M(c,h.length-(m+1))}function A(h,c,m,x,H,se){if(h>m||h= 0${_e} and < 2${_e} ** ${(se+1)*8}${_e}`:xe=`>= -(2${_e} ** ${(se+1)*8-1}${_e}) and < 2 ** ${(se+1)*8-1}${_e}`,new k.ERR_OUT_OF_RANGE("value",xe,h)}ee(x,H,se)}function T(h,c){if(typeof h!="number")throw new k.ERR_INVALID_ARG_TYPE(c,"number",h)}function M(h,c,m){throw Math.floor(h)!==h?(T(h,m),new k.ERR_OUT_OF_RANGE("offset","an integer",h)):c<0?new k.ERR_BUFFER_OUT_OF_BOUNDS:new k.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${c}`,h)}const I=/[^+/0-9A-Za-z-_]/g;function B(h){if(h=h.split("=")[0],h=h.trim().replace(I,""),h.length<2)return"";for(;h.length%4!==0;)h=h+"=";return h}function U(h,c){c=c||1/0;let m;const x=h.length;let H=null;const se=[];for(let _e=0;_e55295&&m<57344){if(!H){if(m>56319){(c-=3)>-1&&se.push(239,191,189);continue}else if(_e+1===x){(c-=3)>-1&&se.push(239,191,189);continue}H=m;continue}if(m<56320){(c-=3)>-1&&se.push(239,191,189),H=m;continue}m=(H-55296<<10|m-56320)+65536}else H&&(c-=3)>-1&&se.push(239,191,189);if(H=null,m<128){if((c-=1)<0)break;se.push(m)}else if(m<2048){if((c-=2)<0)break;se.push(m>>6|192,m&63|128)}else if(m<65536){if((c-=3)<0)break;se.push(m>>12|224,m>>6&63|128,m&63|128)}else if(m<1114112){if((c-=4)<0)break;se.push(m>>18|240,m>>12&63|128,m>>6&63|128,m&63|128)}else throw new Error("Invalid code point")}return se}function Z(h){const c=[];for(let m=0;m>8,H=m%256,se.push(H),se.push(x);return se}function F(h){return t.toByteArray(B(h))}function K(h,c,m,x){let H;for(H=0;H=c.length||H>=h.length);++H)c[H+m]=h[H];return H}function P(h,c){return h instanceof c||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===c.name}function J(h){return h!==h}const le=function(){const h="0123456789abcdef",c=new Array(256);for(let m=0;m<16;++m){const x=m*16;for(let H=0;H<16;++H)c[x+H]=h[m]+h[H]}return c}();function me(h){return typeof BigInt>"u"?y:h}function y(){throw new Error("BigInt not supported")}}(xu)),xu}var Iu,Dg;function nt(){if(Dg)return Iu;Dg=1;class e extends Error{constructor(r){if(!Array.isArray(r))throw new TypeError(`Expected input to be an Array, got ${typeof r}`);let n="";for(let s=0;s=w+4;S-=3)v=`_${E.slice(S-3,S)}${v}`;return`${E.slice(0,S)}${v}`}function d(E,v,S){if(typeof v=="function")return u(v.length<=S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${v.length}).`),v(...S);const w=(v.match(/%[dfijoOs]/g)||[]).length;return u(w===S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${w}).`),S.length===0?v:e(v,...S)}function p(E,v,S){S||(S=Error);class w extends S{constructor(...R){super(d(E,v,R))}toString(){return`${this.name} [${E}]: ${this.message}`}}Object.defineProperties(w.prototype,{name:{value:S.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${E}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),w.prototype.code=E,w.prototype[s]=!0,l[E]=w}function g(E){const v=o+E.name;return Object.defineProperty(E,"name",{value:v}),E}function _(E,v){if(E&&v&&E!==v){if(Array.isArray(v.errors))return v.errors.push(E),v;const S=new n([v,E],v.message);return S.code=v.code,S}return E||v}class b extends Error{constructor(v="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new l.ERR_INVALID_ARG_TYPE("options","Object",S);super(v,S),this.code="ABORT_ERR",this.name="AbortError"}}return p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",(E,v,S)=>{u(typeof E=="string","'name' must be a string"),Array.isArray(v)||(v=[v]);let w="The ";E.endsWith(" argument")?w+=`${E} `:w+=`"${E}" ${E.includes(".")?"property":"argument"} `,w+="must be ";const C=[],R=[],O=[];for(const V of v)u(typeof V=="string","All expected entries have to be of type string"),i.includes(V)?C.push(V.toLowerCase()):a.test(V)?R.push(V):(u(V!=="object",'The value "object" should be written as "Object"'),O.push(V));if(R.length>0){const V=C.indexOf("object");V!==-1&&(C.splice(C,V,1),R.push("Object"))}if(C.length>0){switch(C.length){case 1:w+=`of type ${C[0]}`;break;case 2:w+=`one of type ${C[0]} or ${C[1]}`;break;default:{const V=C.pop();w+=`one of type ${C.join(", ")}, or ${V}`}}(R.length>0||O.length>0)&&(w+=" or ")}if(R.length>0){switch(R.length){case 1:w+=`an instance of ${R[0]}`;break;case 2:w+=`an instance of ${R[0]} or ${R[1]}`;break;default:{const V=R.pop();w+=`an instance of ${R.join(", ")}, or ${V}`}}O.length>0&&(w+=" or ")}switch(O.length){case 0:break;case 1:O[0].toLowerCase()!==O[0]&&(w+="an "),w+=`${O[0]}`;break;case 2:w+=`one of ${O[0]} or ${O[1]}`;break;default:{const V=O.pop();w+=`one of ${O.join(", ")}, or ${V}`}}if(S==null)w+=`. Received ${S}`;else if(typeof S=="function"&&S.name)w+=`. Received function ${S.name}`;else if(typeof S=="object"){var D;if((D=S.constructor)!==null&&D!==void 0&&D.name)w+=`. Received an instance of ${S.constructor.name}`;else{const V=t(S,{depth:-1});w+=`. Received ${V}`}}else{let V=t(S,{colors:!1});V.length>25&&(V=`${V.slice(0,25)}...`),w+=`. Received type ${typeof S} (${V})`}return w},TypeError),p("ERR_INVALID_ARG_VALUE",(E,v,S="is invalid")=>{let w=t(v);return w.length>128&&(w=w.slice(0,128)+"..."),`The ${E.includes(".")?"property":"argument"} '${E}' ${S}. Received ${w}`},TypeError),p("ERR_INVALID_RETURN_VALUE",(E,v,S)=>{var w;const C=S!=null&&(w=S.constructor)!==null&&w!==void 0&&w.name?`instance of ${S.constructor.name}`:`type ${typeof S}`;return`Expected ${E} to be returned from the "${v}" function but got ${C}.`},TypeError),p("ERR_MISSING_ARGS",(...E)=>{u(E.length>0,"At least one arg needs to be specified");let v;const S=E.length;switch(E=(Array.isArray(E)?E:[E]).map(w=>`"${w}"`).join(" or "),S){case 1:v+=`The ${E[0]} argument`;break;case 2:v+=`The ${E[0]} and ${E[1]} arguments`;break;default:{const w=E.pop();v+=`The ${E.join(", ")}, and ${w} arguments`}break}return`${v} must be specified`},TypeError),p("ERR_OUT_OF_RANGE",(E,v,S)=>{u(v,'Missing "range" argument');let w;if(Number.isInteger(S)&&Math.abs(S)>2**32)w=f(String(S));else if(typeof S=="bigint"){w=String(S);const C=BigInt(2)**BigInt(32);(S>C||S<-C)&&(w=f(w)),w+="n"}else w=t(S);return`The value of "${E}" is out of range. It must be ${v}. Received ${w}`},RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),Ou={AbortError:b,aggregateTwoErrors:g(_),hideStackFrames:g,codes:l},Ou}var ks={exports:{}},$g;function so(){if($g)return ks.exports;$g=1;const{AbortController:e,AbortSignal:t}=typeof self<"u"?self:typeof window<"u"?window:void 0;return ks.exports=e,ks.exports.AbortSignal=t,ks.exports.default=e,ks.exports}var jo={exports:{}},jg;function gs(){if(jg)return jo.exports;jg=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(R,O,D){return Function.prototype.apply.call(R,O,D)},r;e&&typeof e.ownKeys=="function"?r=e.ownKeys:Object.getOwnPropertySymbols?r=function(R){return Object.getOwnPropertyNames(R).concat(Object.getOwnPropertySymbols(R))}:r=function(R){return Object.getOwnPropertyNames(R)};function n(C){console&&console.warn&&console.warn(C)}var s=Number.isNaN||function(R){return R!==R};function i(){i.init.call(this)}jo.exports=i,jo.exports.once=v,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function o(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(C){if(typeof C!="number"||C<0||s(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");a=C}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(R){if(typeof R!="number"||R<0||s(R))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+R+".");return this._maxListeners=R,this};function l(C){return C._maxListeners===void 0?i.defaultMaxListeners:C._maxListeners}i.prototype.getMaxListeners=function(){return l(this)},i.prototype.emit=function(R){for(var O=[],D=1;D0&&(G=O[0]),G instanceof Error)throw G;var X=new Error("Unhandled error."+(G?" ("+G.message+")":""));throw X.context=G,X}var L=re[R];if(L===void 0)return!1;if(typeof L=="function")t(L,this,O);else for(var $=L.length,ae=_(L,$),D=0;D<$;++D)t(ae[D],this,O);return!0};function u(C,R,O,D){var V,re,G;if(o(O),re=C._events,re===void 0?(re=C._events=Object.create(null),C._eventsCount=0):(re.newListener!==void 0&&(C.emit("newListener",R,O.listener?O.listener:O),re=C._events),G=re[R]),G===void 0)G=re[R]=O,++C._eventsCount;else if(typeof G=="function"?G=re[R]=D?[O,G]:[G,O]:D?G.unshift(O):G.push(O),V=l(C),V>0&&G.length>V&&!G.warned){G.warned=!0;var X=new Error("Possible EventEmitter memory leak detected. "+G.length+" "+String(R)+" listeners added. Use emitter.setMaxListeners() to increase limit");X.name="MaxListenersExceededWarning",X.emitter=C,X.type=R,X.count=G.length,n(X)}return C}i.prototype.addListener=function(R,O){return u(this,R,O,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(R,O){return u(this,R,O,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(C,R,O){var D={fired:!1,wrapFn:void 0,target:C,type:R,listener:O},V=f.bind(D);return V.listener=O,D.wrapFn=V,V}i.prototype.once=function(R,O){return o(O),this.on(R,d(this,R,O)),this},i.prototype.prependOnceListener=function(R,O){return o(O),this.prependListener(R,d(this,R,O)),this},i.prototype.removeListener=function(R,O){var D,V,re,G,X;if(o(O),V=this._events,V===void 0)return this;if(D=V[R],D===void 0)return this;if(D===O||D.listener===O)--this._eventsCount===0?this._events=Object.create(null):(delete V[R],V.removeListener&&this.emit("removeListener",R,D.listener||O));else if(typeof D!="function"){for(re=-1,G=D.length-1;G>=0;G--)if(D[G]===O||D[G].listener===O){X=D[G].listener,re=G;break}if(re<0)return this;re===0?D.shift():b(D,re),D.length===1&&(V[R]=D[0]),V.removeListener!==void 0&&this.emit("removeListener",R,X||O)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(R){var O,D,V;if(D=this._events,D===void 0)return this;if(D.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):D[R]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete D[R]),this;if(arguments.length===0){var re=Object.keys(D),G;for(V=0;V=0;V--)this.removeListener(R,O[V]);return this};function p(C,R,O){var D=C._events;if(D===void 0)return[];var V=D[R];return V===void 0?[]:typeof V=="function"?O?[V.listener||V]:[V]:O?E(V):_(V,V.length)}i.prototype.listeners=function(R){return p(this,R,!0)},i.prototype.rawListeners=function(R){return p(this,R,!1)},i.listenerCount=function(C,R){return typeof C.listenerCount=="function"?C.listenerCount(R):g.call(C,R)},i.prototype.listenerCount=g;function g(C){var R=this._events;if(R!==void 0){var O=R[C];if(typeof O=="function")return 1;if(O!==void 0)return O.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function _(C,R){for(var O=new Array(R),D=0;D{if(b!==void 0&&(b===null||typeof b!="object"||!("aborted"in b)))throw new s(E,"AbortSignal",b)},_=(b,E)=>{if(typeof b!="function")throw new s(E,"Function",b)};e.exports={AggregateError:a,kEmptyObject:Object.freeze({}),once(b){let E=!1;return function(...v){E||(E=!0,b.apply(this,v))}},createDeferredPromise:function(){let b,E;return{promise:new Promise((S,w)=>{b=S,E=w}),resolve:b,reject:E}},promisify(b){return new Promise((E,v)=>{b((S,...w)=>S?v(S):E(...w))})},debuglog(){return function(){}},format:r,inspect:n,types:{isAsyncFunction(b){return b instanceof f},isArrayBufferView(b){return ArrayBuffer.isView(b)}},isBlob:p,deprecate(b,E){return b},addAbortListener:gs().addAbortListener||function(E,v){if(E===void 0)throw new s("signal","AbortSignal",E);g(E,"signal"),_(v,"listener");let S;return E.aborted?queueMicrotask(()=>v()):(E.addEventListener("abort",v,{__proto__:null,once:!0,[i]:!0}),S=()=>{E.removeEventListener("abort",v)}),{__proto__:null,[o](){var w;(w=S)===null||w===void 0||w()}}},AbortSignalAny:l.any||function(E){if(E.length===1)return E[0];const v=new u,S=()=>v.abort();return E.forEach(w=>{g(w,"signals"),w.addEventListener("abort",S,{once:!0})}),v.signal.addEventListener("abort",()=>{E.forEach(w=>w.removeEventListener("abort",S))},{once:!0}),v.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}(Cu)),Cu.exports}var Wo={},ku,Hg;function bo(){if(Hg)return ku;Hg=1;const{ArrayIsArray:e,ArrayPrototypeIncludes:t,ArrayPrototypeJoin:r,ArrayPrototypeMap:n,NumberIsInteger:s,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:o,NumberParseInt:l,ObjectPrototypeHasOwnProperty:u,RegExpPrototypeExec:f,String:d,StringPrototypeToUpperCase:p,StringPrototypeTrim:g}=nt(),{hideStackFrames:_,codes:{ERR_SOCKET_BAD_PORT:b,ERR_INVALID_ARG_TYPE:E,ERR_INVALID_ARG_VALUE:v,ERR_OUT_OF_RANGE:S,ERR_UNKNOWN_SIGNAL:w}}=Ot(),{normalizeEncoding:C}=Lt(),{isAsyncFunction:R,isArrayBufferView:O}=Lt().types,D={};function V(j){return j===(j|0)}function re(j){return j===j>>>0}const G=/^[0-7]+$/,X="must be a 32-bit unsigned integer or an octal string";function L(j,F,K){if(typeof j>"u"&&(j=K),typeof j=="string"){if(f(G,j)===null)throw new v(F,j,X);j=l(j,8)}return ce(j,F),j}const $=_((j,F,K=o,P=a)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),ae=_((j,F,K=-2147483648,P=2147483647)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),ce=_((j,F,K=!1)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);const P=K?1:0,J=4294967295;if(jJ)throw new S(F,`>= ${P} && <= ${J}`,j)});function de(j,F){if(typeof j!="string")throw new E(F,"string",j)}function pe(j,F,K=void 0,P){if(typeof j!="number")throw new E(F,"number",j);if(K!=null&&jP||(K!=null||P!=null)&&i(j))throw new S(F,`${K!=null?`>= ${K}`:""}${K!=null&&P!=null?" && ":""}${P!=null?`<= ${P}`:""}`,j)}const z=_((j,F,K)=>{if(!t(K,j)){const J="must be one of: "+r(n(K,le=>typeof le=="string"?`'${le}'`:d(le)),", ");throw new v(F,j,J)}});function ge(j,F){if(typeof j!="boolean")throw new E(F,"boolean",j)}function Y(j,F,K){return j==null||!u(j,F)?K:j[F]}const he=_((j,F,K=null)=>{const P=Y(K,"allowArray",!1),J=Y(K,"allowFunction",!1);if(!Y(K,"nullable",!1)&&j===null||!P&&e(j)||typeof j!="object"&&(!J||typeof j!="function"))throw new E(F,"Object",j)}),N=_((j,F)=>{if(j!=null&&typeof j!="object"&&typeof j!="function")throw new E(F,"a dictionary",j)}),ne=_((j,F,K=0)=>{if(!e(j))throw new E(F,"Array",j);if(j.length{if(!O(j))throw new E(F,["Buffer","TypedArray","DataView"],j)});function W(j,F){const K=C(F),P=j.length;if(K==="hex"&&P%2!==0)throw new v("encoding",F,`is invalid for data of length ${P}`)}function te(j,F="Port",K=!0){if(typeof j!="number"&&typeof j!="string"||typeof j=="string"&&g(j).length===0||+j!==+j>>>0||j>65535||j===0&&!K)throw new b(F,j,K);return j|0}const ee=_((j,F)=>{if(j!==void 0&&(j===null||typeof j!="object"||!("aborted"in j)))throw new E(F,"AbortSignal",j)}),A=_((j,F)=>{if(typeof j!="function")throw new E(F,"Function",j)}),T=_((j,F)=>{if(typeof j!="function"||R(j))throw new E(F,"Function",j)}),M=_((j,F)=>{if(j!==void 0)throw new E(F,"undefined",j)});function I(j,F,K){if(!t(K,j))throw new E(F,`('${r(K,"|")}')`,j)}const B=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function U(j,F){if(typeof j>"u"||!f(B,j))throw new v(F,j,'must be an array or string of format "; rel=preload; as=style"')}function Z(j){if(typeof j=="string")return U(j,"hints"),j;if(e(j)){const F=j.length;let K="";if(F===0)return K;for(let P=0;P; rel=preload; as=style"')}return ku={isInt32:V,isUint32:re,parseFileMode:L,validateArray:ne,validateStringArray:ye,validateBooleanArray:oe,validateAbortSignalArray:Q,validateBoolean:ge,validateBuffer:k,validateDictionary:N,validateEncoding:W,validateFunction:A,validateInt32:ae,validateInteger:$,validateNumber:pe,validateObject:he,validateOneOf:z,validatePlainFunction:T,validatePort:te,validateSignalName:q,validateString:de,validateUint32:ce,validateUndefined:M,validateUnion:I,validateAbortSignal:ee,validateLinkHeaderValue:Z},ku}var Ho={exports:{}},Mu={exports:{}},Vg;function bi(){if(Vg)return Mu.exports;Vg=1;var e=Mu.exports={},t,r;function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?t=setTimeout:t=n}catch{t=n}try{typeof clearTimeout=="function"?r=clearTimeout:r=s}catch{r=s}})();function i(b){if(t===setTimeout)return setTimeout(b,0);if((t===n||!t)&&setTimeout)return t=setTimeout,setTimeout(b,0);try{return t(b,0)}catch{try{return t.call(null,b,0)}catch{return t.call(this,b,0)}}}function a(b){if(r===clearTimeout)return clearTimeout(b);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(b);try{return r(b)}catch{try{return r.call(null,b)}catch{return r.call(this,b)}}}var o=[],l=!1,u,f=-1;function d(){!l||!u||(l=!1,u.length?o=u.concat(o):f=-1,o.length&&p())}function p(){if(!l){var b=i(d);l=!0;for(var E=o.length;E;){for(u=o,o=[];++f1)for(var v=1;v{};function ce(z,ge,Y){var he,N;if(arguments.length===2?(Y=ge,ge=i):ge==null?ge=i:u(ge,"options"),l(Y,"callback"),o(ge.signal,"options.signal"),Y=a(Y),v(z)||O(z))return de(z,ge,Y);if(!re(z))throw new n("stream",["ReadableStream","WritableStream","Stream"],z);const ne=(he=ge.readable)!==null&&he!==void 0?he:E(z),ye=(N=ge.writable)!==null&&N!==void 0?N:R(z),oe=z._writableState,Q=z._readableState,q=()=>{z.writable||te()};let k=G(z)&&E(z)===ne&&R(z)===ye,W=D(z,!1);const te=()=>{W=!0,z.destroyed&&(k=!1),!(k&&(!z.readable||ne))&&(!ne||ee)&&Y.call(z)};let ee=S(z,!1);const A=()=>{ee=!0,z.destroyed&&(k=!1),!(k&&(!z.writable||ye))&&(!ye||W)&&Y.call(z)},T=j=>{Y.call(z,j)};let M=_(z);const I=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);if(ne&&!ee&&E(z,!0)&&!S(z,!1))return Y.call(z,new s);if(ye&&!W&&!D(z,!1))return Y.call(z,new s);Y.call(z)},B=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);Y.call(z)},U=()=>{z.req.on("finish",te)};$(z)?(z.on("complete",te),k||z.on("abort",I),z.req?U():z.on("request",U)):ye&&!oe&&(z.on("end",q),z.on("close",q)),!k&&typeof z.aborted=="boolean"&&z.on("aborted",I),z.on("end",A),z.on("finish",te),ge.error!==!1&&z.on("error",T),z.on("close",I),M?e.nextTick(I):oe!=null&&oe.errorEmitted||Q!=null&&Q.errorEmitted?k||e.nextTick(B):(!ne&&(!k||b(z))&&(W||C(z)===!1)||!ye&&(!k||C(z))&&(ee||b(z)===!1)||Q&&z.req&&z.aborted)&&e.nextTick(B);const Z=()=>{Y=ae,z.removeListener("aborted",I),z.removeListener("complete",te),z.removeListener("abort",I),z.removeListener("request",U),z.req&&z.req.removeListener("finish",te),z.removeListener("end",q),z.removeListener("close",q),z.removeListener("finish",te),z.removeListener("end",A),z.removeListener("error",T),z.removeListener("close",I)};if(ge.signal&&!M){const j=()=>{const F=Y;Z(),F.call(z,new t(void 0,{cause:ge.signal.reason}))};if(ge.signal.aborted)e.nextTick(j);else{L=L||Lt().addAbortListener;const F=L(ge.signal,j),K=Y;Y=a((...P)=>{F[g](),K.apply(z,P)})}}return Z}function de(z,ge,Y){let he=!1,N=ae;if(ge.signal)if(N=()=>{he=!0,Y.call(z,new t(void 0,{cause:ge.signal.reason}))},ge.signal.aborted)e.nextTick(N);else{L=L||Lt().addAbortListener;const ye=L(ge.signal,N),oe=Y;Y=a((...Q)=>{ye[g](),oe.apply(z,Q)})}const ne=(...ye)=>{he||e.nextTick(()=>Y.apply(z,ye))};return p(z[X].promise,ne,ne),ae}function pe(z,ge){var Y;let he=!1;return ge===null&&(ge=i),(Y=ge)!==null&&Y!==void 0&&Y.cleanup&&(f(ge.cleanup,"cleanup"),he=ge.cleanup),new d((N,ne)=>{const ye=ce(z,ge,oe=>{he&&ye(),oe?ne(oe):N()})})}return Ho.exports=ce,Ho.exports.finished=pe,Ho.exports}var Pu,Yg;function ms(){if(Yg)return Pu;Yg=1;const e=bi(),{aggregateTwoErrors:t,codes:{ERR_MULTIPLE_CALLBACK:r},AbortError:n}=Ot(),{Symbol:s}=nt(),{kIsDestroyed:i,isDestroyed:a,isFinished:o,isServerRequest:l}=ln(),u=s("kDestroy"),f=s("kConstruct");function d(G,X,L){G&&(G.stack,X&&!X.errored&&(X.errored=G),L&&!L.errored&&(L.errored=G))}function p(G,X){const L=this._readableState,$=this._writableState,ae=$||L;return $!=null&&$.destroyed||L!=null&&L.destroyed?(typeof X=="function"&&X(),this):(d(G,$,L),$&&($.destroyed=!0),L&&(L.destroyed=!0),ae.constructed?g(this,G,X):this.once(u,function(ce){g(this,t(ce,G),X)}),this)}function g(G,X,L){let $=!1;function ae(ce){if($)return;$=!0;const de=G._readableState,pe=G._writableState;d(ce,pe,de),pe&&(pe.closed=!0),de&&(de.closed=!0),typeof L=="function"&&L(ce),ce?e.nextTick(_,G,ce):e.nextTick(b,G)}try{G._destroy(X||null,ae)}catch(ce){ae(ce)}}function _(G,X){E(G,X),b(G)}function b(G){const X=G._readableState,L=G._writableState;L&&(L.closeEmitted=!0),X&&(X.closeEmitted=!0),(L!=null&&L.emitClose||X!=null&&X.emitClose)&&G.emit("close")}function E(G,X){const L=G._readableState,$=G._writableState;$!=null&&$.errorEmitted||L!=null&&L.errorEmitted||($&&($.errorEmitted=!0),L&&(L.errorEmitted=!0),G.emit("error",X))}function v(){const G=this._readableState,X=this._writableState;G&&(G.constructed=!0,G.closed=!1,G.closeEmitted=!1,G.destroyed=!1,G.errored=null,G.errorEmitted=!1,G.reading=!1,G.ended=G.readable===!1,G.endEmitted=G.readable===!1),X&&(X.constructed=!0,X.destroyed=!1,X.closed=!1,X.closeEmitted=!1,X.errored=null,X.errorEmitted=!1,X.finalCalled=!1,X.prefinished=!1,X.ended=X.writable===!1,X.ending=X.writable===!1,X.finished=X.writable===!1)}function S(G,X,L){const $=G._readableState,ae=G._writableState;if(ae!=null&&ae.destroyed||$!=null&&$.destroyed)return this;$!=null&&$.autoDestroy||ae!=null&&ae.autoDestroy?G.destroy(X):X&&(X.stack,ae&&!ae.errored&&(ae.errored=X),$&&!$.errored&&($.errored=X),L?e.nextTick(E,G,X):E(G,X))}function w(G,X){if(typeof G._construct!="function")return;const L=G._readableState,$=G._writableState;L&&(L.constructed=!1),$&&($.constructed=!1),G.once(f,X),!(G.listenerCount(f)>1)&&e.nextTick(C,G)}function C(G){let X=!1;function L($){if(X){S(G,$??new r);return}X=!0;const ae=G._readableState,ce=G._writableState,de=ce||ae;ae&&(ae.constructed=!0),ce&&(ce.constructed=!0),de.destroyed?G.emit(u,$):$?S(G,$,!0):e.nextTick(R,G)}try{G._construct($=>{e.nextTick(L,$)})}catch($){e.nextTick(L,$)}}function R(G){G.emit(f)}function O(G){return(G==null?void 0:G.setHeader)&&typeof G.abort=="function"}function D(G){G.emit("close")}function V(G,X){G.emit("error",X),e.nextTick(D,G)}function re(G,X){!G||a(G)||(!X&&!o(G)&&(X=new n),l(G)?(G.socket=null,G.destroy(X)):O(G)?G.abort():O(G.req)?G.req.abort():typeof G.destroy=="function"?G.destroy(X):typeof G.close=="function"?G.close():X?e.nextTick(V,G,X):e.nextTick(D,G),G.destroyed||(G[i]=!0))}return Pu={construct:w,destroyer:re,destroy:p,undestroy:v,errorOrDestroy:S},Pu}var Lu,zg;function hd(){if(zg)return Lu;zg=1;const{ArrayIsArray:e,ObjectSetPrototypeOf:t}=nt(),{EventEmitter:r}=gs();function n(i){r.call(this,i)}t(n.prototype,r.prototype),t(n,r),n.prototype.pipe=function(i,a){const o=this;function l(b){i.writable&&i.write(b)===!1&&o.pause&&o.pause()}o.on("data",l);function u(){o.readable&&o.resume&&o.resume()}i.on("drain",u),!i._isStdio&&(!a||a.end!==!1)&&(o.on("end",d),o.on("close",p));let f=!1;function d(){f||(f=!0,i.end())}function p(){f||(f=!0,typeof i.destroy=="function"&&i.destroy())}function g(b){_(),r.listenerCount(this,"error")===0&&this.emit("error",b)}s(o,"error",g),s(i,"error",g);function _(){o.removeListener("data",l),i.removeListener("drain",u),o.removeListener("end",d),o.removeListener("close",p),o.removeListener("error",g),i.removeListener("error",g),o.removeListener("end",_),o.removeListener("close",_),i.removeListener("close",_)}return o.on("end",_),o.on("close",_),i.on("close",_),i.emit("pipe",o),i};function s(i,a,o){if(typeof i.prependListener=="function")return i.prependListener(a,o);!i._events||!i._events[a]?i.on(a,o):e(i._events[a])?i._events[a].unshift(o):i._events[a]=[o,i._events[a]]}return Lu={Stream:n,prependListener:s},Lu}var Bu={exports:{}},Gg;function Al(){return Gg||(Gg=1,function(e){const{SymbolDispose:t}=nt(),{AbortError:r,codes:n}=Ot(),{isNodeStream:s,isWebStream:i,kControllerErrorFunction:a}=ln(),o=On(),{ERR_INVALID_ARG_TYPE:l}=n;let u;const f=(d,p)=>{if(typeof d!="object"||!("aborted"in d))throw new l(p,"AbortSignal",d)};e.exports.addAbortSignal=function(p,g){if(f(p,"signal"),!s(g)&&!i(g))throw new l("stream",["ReadableStream","WritableStream","Stream"],g);return e.exports.addAbortSignalNoValidate(p,g)},e.exports.addAbortSignalNoValidate=function(d,p){if(typeof d!="object"||!("aborted"in d))return p;const g=s(p)?()=>{p.destroy(new r(void 0,{cause:d.reason}))}:()=>{p[a](new r(void 0,{cause:d.reason}))};if(d.aborted)g();else{u=u||Lt().addAbortListener;const _=u(d,g);o(p,_[t])}return p}}(Bu)),Bu.exports}var Du,Qg;function OR(){if(Qg)return Du;Qg=1;const{StringPrototypeSlice:e,SymbolIterator:t,TypedArrayPrototypeSet:r,Uint8Array:n}=nt(),{Buffer:s}=Yt(),{inspect:i}=Lt();return Du=class{constructor(){this.head=null,this.tail=null,this.length=0}push(o){const l={data:o,next:null};this.length>0?this.tail.next=l:this.head=l,this.tail=l,++this.length}unshift(o){const l={data:o,next:this.head};this.length===0&&(this.tail=l),this.head=l,++this.length}shift(){if(this.length===0)return;const o=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,o}clear(){this.head=this.tail=null,this.length=0}join(o){if(this.length===0)return"";let l=this.head,u=""+l.data;for(;(l=l.next)!==null;)u+=o+l.data;return u}concat(o){if(this.length===0)return s.alloc(0);const l=s.allocUnsafe(o>>>0);let u=this.head,f=0;for(;u;)r(l,u.data,f),f+=u.data.length,u=u.next;return l}consume(o,l){const u=this.head.data;if(od.length)l+=d,o-=d.length;else{o===d.length?(l+=d,++f,u.next?this.head=u.next:this.head=this.tail=null):(l+=e(d,0,o),this.head=u,u.data=e(d,o));break}++f}while((u=u.next)!==null);return this.length-=f,l}_getBuffer(o){const l=s.allocUnsafe(o),u=o;let f=this.head,d=0;do{const p=f.data;if(o>p.length)r(l,p,u-o),o-=p.length;else{o===p.length?(r(l,p,u-o),++d,f.next?this.head=f.next:this.head=this.tail=null):(r(l,new n(p.buffer,p.byteOffset,o),u-o),this.head=f,f.data=p.slice(o));break}++d}while((f=f.next)!==null);return this.length-=d,l}[Symbol.for("nodejs.util.inspect.custom")](o,l){return i(this,{...l,depth:0,customInspect:!1})}},Du}var Uu,Xg;function Tl(){if(Xg)return Uu;Xg=1;const{MathFloor:e,NumberIsInteger:t}=nt(),{validateInteger:r}=bo(),{ERR_INVALID_ARG_VALUE:n}=Ot().codes;let s=16*1024,i=16;function a(f,d,p){return f.highWaterMark!=null?f.highWaterMark:d?f[p]:null}function o(f){return f?i:s}function l(f,d){r(d,"value",0),f?i=d:s=d}function u(f,d,p,g){const _=a(d,g,p);if(_!=null){if(!t(_)||_<0){const b=g?`options.${p}`:"options.highWaterMark";throw new n(b,_)}return e(_)}return o(f.objectMode)}return Uu={getHighWaterMark:u,getDefaultHighWaterMark:o,setDefaultHighWaterMark:l},Uu}var Fu={},Vo={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Jg;function kR(){return Jg||(Jg=1,function(e,t){var r=Yt(),n=r.Buffer;function s(a,o){for(var l in a)o[l]=a[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(s(r,t),t.Buffer=i);function i(a,o,l){return n(a,o,l)}i.prototype=Object.create(n.prototype),s(n,i),i.from=function(a,o,l){if(typeof a=="number")throw new TypeError("Argument must not be a number");return n(a,o,l)},i.alloc=function(a,o,l){if(typeof a!="number")throw new TypeError("Argument must be a number");var u=n(a);return o!==void 0?typeof l=="string"?u.fill(o,l):u.fill(o):u.fill(0),u},i.allocUnsafe=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return n(a)},i.allocUnsafeSlow=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(a)}}(Vo,Vo.exports)),Vo.exports}var Zg;function MR(){if(Zg)return Fu;Zg=1;var e=kR().Buffer,t=e.isEncoding||function(v){switch(v=""+v,v&&v.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(v){if(!v)return"utf8";for(var S;;)switch(v){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return v;default:if(S)return;v=(""+v).toLowerCase(),S=!0}}function n(v){var S=r(v);if(typeof S!="string"&&(e.isEncoding===t||!t(v)))throw new Error("Unknown encoding: "+v);return S||v}Fu.StringDecoder=s;function s(v){this.encoding=n(v);var S;switch(this.encoding){case"utf16le":this.text=d,this.end=p,S=4;break;case"utf8":this.fillLast=l,S=4;break;case"base64":this.text=g,this.end=_,S=3;break;default:this.write=b,this.end=E;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(S)}s.prototype.write=function(v){if(v.length===0)return"";var S,w;if(this.lastNeed){if(S=this.fillLast(v),S===void 0)return"";w=this.lastNeed,this.lastNeed=0}else w=0;return w>5===6?2:v>>4===14?3:v>>3===30?4:v>>6===2?-1:-2}function a(v,S,w){var C=S.length-1;if(C=0?(R>0&&(v.lastNeed=R-1),R):--C=0?(R>0&&(v.lastNeed=R-2),R):--C=0?(R>0&&(R===2?R=0:v.lastNeed=R-3),R):0))}function o(v,S,w){if((S[0]&192)!==128)return v.lastNeed=0,"�";if(v.lastNeed>1&&S.length>1){if((S[1]&192)!==128)return v.lastNeed=1,"�";if(v.lastNeed>2&&S.length>2&&(S[2]&192)!==128)return v.lastNeed=2,"�"}}function l(v){var S=this.lastTotal-this.lastNeed,w=o(this,v);if(w!==void 0)return w;if(this.lastNeed<=v.length)return v.copy(this.lastChar,S,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);v.copy(this.lastChar,S,0,v.length),this.lastNeed-=v.length}function u(v,S){var w=a(this,v,S);if(!this.lastNeed)return v.toString("utf8",S);this.lastTotal=w;var C=v.length-(w-this.lastNeed);return v.copy(this.lastChar,0,C),v.toString("utf8",S,C)}function f(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+"�":S}function d(v,S){if((v.length-S)%2===0){var w=v.toString("utf16le",S);if(w){var C=w.charCodeAt(w.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1],w.slice(0,-1)}return w}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=v[v.length-1],v.toString("utf16le",S,v.length-1)}function p(v){var S=v&&v.length?this.write(v):"";if(this.lastNeed){var w=this.lastTotal-this.lastNeed;return S+this.lastChar.toString("utf16le",0,w)}return S}function g(v,S){var w=(v.length-S)%3;return w===0?v.toString("base64",S):(this.lastNeed=3-w,this.lastTotal=3,w===1?this.lastChar[0]=v[v.length-1]:(this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1]),v.toString("base64",S,v.length-w))}function _(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+this.lastChar.toString("base64",0,3-this.lastNeed):S}function b(v){return v.toString(this.encoding)}function E(v){return v&&v.length?this.write(v):""}return Fu}var $u,em;function u0(){if(em)return $u;em=1;const e=bi(),{PromisePrototypeThen:t,SymbolAsyncIterator:r,SymbolIterator:n}=nt(),{Buffer:s}=Yt(),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=Ot().codes;function o(l,u,f){let d;if(typeof u=="string"||u instanceof s)return new l({objectMode:!0,...f,read(){this.push(u),this.push(null)}});let p;if(u&&u[r])p=!0,d=u[r]();else if(u&&u[n])p=!1,d=u[n]();else throw new i("iterable",["Iterable"],u);const g=new l({objectMode:!0,highWaterMark:1,...f});let _=!1;g._read=function(){_||(_=!0,E())},g._destroy=function(v,S){t(b(v),()=>e.nextTick(S,v),w=>e.nextTick(S,w||v))};async function b(v){const S=v!=null,w=typeof d.throw=="function";if(S&&w){const{value:C,done:R}=await d.throw(v);if(await C,R)return}if(typeof d.return=="function"){const{value:C}=await d.return();await C}}async function E(){for(;;){try{const{value:v,done:S}=p?await d.next():d.next();if(S)g.push(null);else{const w=v&&typeof v.then=="function"?await v:v;if(w===null)throw _=!1,new a;if(g.push(w))continue;_=!1}}catch(v){g.destroy(v)}break}}return g}return $u=o,$u}var ju,tm;function xl(){if(tm)return ju;tm=1;const e=bi(),{ArrayPrototypeIndexOf:t,NumberIsInteger:r,NumberIsNaN:n,NumberParseInt:s,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:o,Promise:l,SafeSet:u,SymbolAsyncDispose:f,SymbolAsyncIterator:d,Symbol:p}=nt();ju=P,P.ReadableState=K;const{EventEmitter:g}=gs(),{Stream:_,prependListener:b}=hd(),{Buffer:E}=Yt(),{addAbortSignal:v}=Al(),S=On();let w=Lt().debuglog("stream",ie=>{w=ie});const C=OR(),R=ms(),{getHighWaterMark:O,getDefaultHighWaterMark:D}=Tl(),{aggregateTwoErrors:V,codes:{ERR_INVALID_ARG_TYPE:re,ERR_METHOD_NOT_IMPLEMENTED:G,ERR_OUT_OF_RANGE:X,ERR_STREAM_PUSH_AFTER_EOF:L,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:$},AbortError:ae}=Ot(),{validateObject:ce}=bo(),de=p("kPaused"),{StringDecoder:pe}=MR(),z=u0();o(P.prototype,_.prototype),o(P,_);const ge=()=>{},{errorOrDestroy:Y}=R,he=1,N=2,ne=4,ye=8,oe=16,Q=32,q=64,k=128,W=256,te=512,ee=1024,A=2048,T=4096,M=8192,I=16384,B=32768,U=65536,Z=1<<17,j=1<<18;function F(ie){return{enumerable:!1,get(){return(this.state&ie)!==0},set(ue){ue?this.state|=ie:this.state&=~ie}}}i(K.prototype,{objectMode:F(he),ended:F(N),endEmitted:F(ne),reading:F(ye),constructed:F(oe),sync:F(Q),needReadable:F(q),emittedReadable:F(k),readableListening:F(W),resumeScheduled:F(te),errorEmitted:F(ee),emitClose:F(A),autoDestroy:F(T),destroyed:F(M),closed:F(I),closeEmitted:F(B),multiAwaitDrain:F(U),readingMore:F(Z),dataEmitted:F(j)});function K(ie,ue,Ie){typeof Ie!="boolean"&&(Ie=ue instanceof Jr()),this.state=A|T|oe|Q,ie&&ie.objectMode&&(this.state|=he),Ie&&ie&&ie.readableObjectMode&&(this.state|=he),this.highWaterMark=ie?O(this,ie,"readableHighWaterMark",Ie):D(!1),this.buffer=new C,this.length=0,this.pipes=[],this.flowing=null,this[de]=null,ie&&ie.emitClose===!1&&(this.state&=-2049),ie&&ie.autoDestroy===!1&&(this.state&=-4097),this.errored=null,this.defaultEncoding=ie&&ie.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,ie&&ie.encoding&&(this.decoder=new pe(ie.encoding),this.encoding=ie.encoding)}function P(ie){if(!(this instanceof P))return new P(ie);const ue=this instanceof Jr();this._readableState=new K(ie,this,ue),ie&&(typeof ie.read=="function"&&(this._read=ie.read),typeof ie.destroy=="function"&&(this._destroy=ie.destroy),typeof ie.construct=="function"&&(this._construct=ie.construct),ie.signal&&!ue&&v(ie.signal,this)),_.call(this,ie),R.construct(this,()=>{this._readableState.needReadable&&H(this,this._readableState)})}P.prototype.destroy=R.destroy,P.prototype._undestroy=R.undestroy,P.prototype._destroy=function(ie,ue){ue(ie)},P.prototype[g.captureRejectionSymbol]=function(ie){this.destroy(ie)},P.prototype[f]=function(){let ie;return this.destroyed||(ie=this.readableEnded?null:new ae,this.destroy(ie)),new l((ue,Ie)=>S(this,Ce=>Ce&&Ce!==ie?Ie(Ce):ue(null)))},P.prototype.push=function(ie,ue){return J(this,ie,ue,!1)},P.prototype.unshift=function(ie,ue){return J(this,ie,ue,!0)};function J(ie,ue,Ie,Ce){w("readableAddChunk",ue);const Me=ie._readableState;let yt;if(Me.state&he||(typeof ue=="string"?(Ie=Ie||Me.defaultEncoding,Me.encoding!==Ie&&(Ce&&Me.encoding?ue=E.from(ue,Ie).toString(Me.encoding):(ue=E.from(ue,Ie),Ie=""))):ue instanceof E?Ie="":_._isUint8Array(ue)?(ue=_._uint8ArrayToBuffer(ue),Ie=""):ue!=null&&(yt=new re("chunk",["string","Buffer","Uint8Array"],ue))),yt)Y(ie,yt);else if(ue===null)Me.state&=-9,c(ie,Me);else if(Me.state&he||ue&&ue.length>0)if(Ce)if(Me.state&ne)Y(ie,new $);else{if(Me.destroyed||Me.errored)return!1;le(ie,Me,ue,!0)}else if(Me.ended)Y(ie,new L);else{if(Me.destroyed||Me.errored)return!1;Me.state&=-9,Me.decoder&&!Ie?(ue=Me.decoder.write(ue),Me.objectMode||ue.length!==0?le(ie,Me,ue,!1):H(ie,Me)):le(ie,Me,ue,!1)}else Ce||(Me.state&=-9,H(ie,Me));return!Me.ended&&(Me.length0?(ue.state&U?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null,ue.dataEmitted=!0,ie.emit("data",Ie)):(ue.length+=ue.objectMode?1:Ie.length,Ce?ue.buffer.unshift(Ie):ue.buffer.push(Ie),ue.state&q&&m(ie)),H(ie,ue)}P.prototype.isPaused=function(){const ie=this._readableState;return ie[de]===!0||ie.flowing===!1},P.prototype.setEncoding=function(ie){const ue=new pe(ie);this._readableState.decoder=ue,this._readableState.encoding=this._readableState.decoder.encoding;const Ie=this._readableState.buffer;let Ce="";for(const Me of Ie)Ce+=ue.write(Me);return Ie.clear(),Ce!==""&&Ie.push(Ce),this._readableState.length=Ce.length,this};const me=1073741824;function y(ie){if(ie>me)throw new X("size","<= 1GiB",ie);return ie--,ie|=ie>>>1,ie|=ie>>>2,ie|=ie>>>4,ie|=ie>>>8,ie|=ie>>>16,ie++,ie}function h(ie,ue){return ie<=0||ue.length===0&&ue.ended?0:ue.state&he?1:n(ie)?ue.flowing&&ue.length?ue.buffer.first().length:ue.length:ie<=ue.length?ie:ue.ended?ue.length:0}P.prototype.read=function(ie){w("read",ie),ie===void 0?ie=NaN:r(ie)||(ie=s(ie,10));const ue=this._readableState,Ie=ie;if(ie>ue.highWaterMark&&(ue.highWaterMark=y(ie)),ie!==0&&(ue.state&=-129),ie===0&&ue.needReadable&&((ue.highWaterMark!==0?ue.length>=ue.highWaterMark:ue.length>0)||ue.ended))return w("read: emitReadable",ue.length,ue.ended),ue.length===0&&ue.ended?st(this):m(this),null;if(ie=h(ie,ue),ie===0&&ue.ended)return ue.length===0&&st(this),null;let Ce=(ue.state&q)!==0;if(w("need readable",Ce),(ue.length===0||ue.length-ie0?Me=Xe(ie,ue):Me=null,Me===null?(ue.needReadable=ue.length<=ue.highWaterMark,ie=0):(ue.length-=ie,ue.multiAwaitDrain?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null),ue.length===0&&(ue.ended||(ue.needReadable=!0),Ie!==ie&&ue.ended&&st(this)),Me!==null&&!ue.errorEmitted&&!ue.closeEmitted&&(ue.dataEmitted=!0,this.emit("data",Me)),Me};function c(ie,ue){if(w("onEofChunk"),!ue.ended){if(ue.decoder){const Ie=ue.decoder.end();Ie&&Ie.length&&(ue.buffer.push(Ie),ue.length+=ue.objectMode?1:Ie.length)}ue.ended=!0,ue.sync?m(ie):(ue.needReadable=!1,ue.emittedReadable=!0,x(ie))}}function m(ie){const ue=ie._readableState;w("emitReadable",ue.needReadable,ue.emittedReadable),ue.needReadable=!1,ue.emittedReadable||(w("emitReadable",ue.flowing),ue.emittedReadable=!0,e.nextTick(x,ie))}function x(ie){const ue=ie._readableState;w("emitReadable_",ue.destroyed,ue.length,ue.ended),!ue.destroyed&&!ue.errored&&(ue.length||ue.ended)&&(ie.emit("readable"),ue.emittedReadable=!1),ue.needReadable=!ue.flowing&&!ue.ended&&ue.length<=ue.highWaterMark,Oe(ie)}function H(ie,ue){!ue.readingMore&&ue.constructed&&(ue.readingMore=!0,e.nextTick(se,ie,ue))}function se(ie,ue){for(;!ue.reading&&!ue.ended&&(ue.length1&&Ce.pipes.includes(ie)&&(w("false write response, pause",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.add(ie)),Ie.pause()),kn||(kn=_e(Ie,ie),ie.on("drain",kn))}Ie.on("data",Pd);function Pd(Mn){w("ondata");const Rr=ie.write(Mn);w("dest.write",Rr),Rr===!1&&Nd()}function Pl(Mn){if(w("onerror",Mn),_s(),ie.removeListener("error",Pl),ie.listenerCount("error")===0){const Rr=ie._writableState||ie._readableState;Rr&&!Rr.errorEmitted?Y(ie,Mn):ie.emit("error",Mn)}}b(ie,"error",Pl);function Ll(){ie.removeListener("finish",Bl),_s()}ie.once("close",Ll);function Bl(){w("onfinish"),ie.removeListener("close",Ll),_s()}ie.once("finish",Bl);function _s(){w("unpipe"),Ie.unpipe(ie)}return ie.emit("pipe",Ie),ie.writableNeedDrain===!0?Nd():Ce.flowing||(w("pipe resume"),Ie.resume()),ie};function _e(ie,ue){return function(){const Ce=ie._readableState;Ce.awaitDrainWriters===ue?(w("pipeOnDrain",1),Ce.awaitDrainWriters=null):Ce.multiAwaitDrain&&(w("pipeOnDrain",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.delete(ue)),(!Ce.awaitDrainWriters||Ce.awaitDrainWriters.size===0)&&ie.listenerCount("data")&&ie.resume()}}P.prototype.unpipe=function(ie){const ue=this._readableState,Ie={hasUnpiped:!1};if(ue.pipes.length===0)return this;if(!ie){const Me=ue.pipes;ue.pipes=[],this.pause();for(let yt=0;yt0,Ce.flowing!==!1&&this.resume()):ie==="readable"&&!Ce.endEmitted&&!Ce.readableListening&&(Ce.readableListening=Ce.needReadable=!0,Ce.flowing=!1,Ce.emittedReadable=!1,w("on readable",Ce.length,Ce.reading),Ce.length?m(this):Ce.reading||e.nextTick(Re,this)),Ie},P.prototype.addListener=P.prototype.on,P.prototype.removeListener=function(ie,ue){const Ie=_.prototype.removeListener.call(this,ie,ue);return ie==="readable"&&e.nextTick(xe,this),Ie},P.prototype.off=P.prototype.removeListener,P.prototype.removeAllListeners=function(ie){const ue=_.prototype.removeAllListeners.apply(this,arguments);return(ie==="readable"||ie===void 0)&&e.nextTick(xe,this),ue};function xe(ie){const ue=ie._readableState;ue.readableListening=ie.listenerCount("readable")>0,ue.resumeScheduled&&ue[de]===!1?ue.flowing=!0:ie.listenerCount("data")>0?ie.resume():ue.readableListening||(ue.flowing=null)}function Re(ie){w("readable nexttick read 0"),ie.read(0)}P.prototype.resume=function(){const ie=this._readableState;return ie.flowing||(w("resume"),ie.flowing=!ie.readableListening,Te(this,ie)),ie[de]=!1,this};function Te(ie,ue){ue.resumeScheduled||(ue.resumeScheduled=!0,e.nextTick(ke,ie,ue))}function ke(ie,ue){w("resume",ue.reading),ue.reading||ie.read(0),ue.resumeScheduled=!1,ie.emit("resume"),Oe(ie),ue.flowing&&!ue.reading&&ie.read(0)}P.prototype.pause=function(){return w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(w("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[de]=!0,this};function Oe(ie){const ue=ie._readableState;for(w("flow",ue.flowing);ue.flowing&&ie.read()!==null;);}P.prototype.wrap=function(ie){let ue=!1;ie.on("data",Ce=>{!this.push(Ce)&&ie.pause&&(ue=!0,ie.pause())}),ie.on("end",()=>{this.push(null)}),ie.on("error",Ce=>{Y(this,Ce)}),ie.on("close",()=>{this.destroy()}),ie.on("destroy",()=>{this.destroy()}),this._read=()=>{ue&&ie.resume&&(ue=!1,ie.resume())};const Ie=a(ie);for(let Ce=1;Ce{Me=zt?V(Me,zt):null,Ie(),Ie=ge});try{for(;;){const zt=ie.destroyed?null:ie.read();if(zt!==null)yield zt;else{if(Me)throw Me;if(Me===null)return;await new l(Ce)}}}catch(zt){throw Me=V(Me,zt),Me}finally{(Me||(ue==null?void 0:ue.destroyOnReturn)!==!1)&&(Me===void 0||ie._readableState.autoDestroy)?R.destroyer(ie,null):(ie.off("readable",Ce),yt())}}i(P.prototype,{readable:{__proto__:null,get(){const ie=this._readableState;return!!ie&&ie.readable!==!1&&!ie.destroyed&&!ie.errorEmitted&&!ie.endEmitted},set(ie){this._readableState&&(this._readableState.readable=!!ie)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(ie){this._readableState&&(this._readableState.flowing=ie)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(ie){this._readableState&&(this._readableState.destroyed=ie)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),i(K.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[de]!==!1},set(ie){this[de]=!!ie}}}),P._fromList=Xe;function Xe(ie,ue){if(ue.length===0)return null;let Ie;return ue.objectMode?Ie=ue.buffer.shift():!ie||ie>=ue.length?(ue.decoder?Ie=ue.buffer.join(""):ue.buffer.length===1?Ie=ue.buffer.first():Ie=ue.buffer.concat(ue.length),ue.buffer.clear()):Ie=ue.buffer.consume(ie,ue.decoder),Ie}function st(ie){const ue=ie._readableState;w("endReadable",ue.endEmitted),ue.endEmitted||(ue.ended=!0,e.nextTick(dt,ue,ie))}function dt(ie,ue){if(w("endReadableNT",ie.endEmitted,ie.length),!ie.errored&&!ie.closeEmitted&&!ie.endEmitted&&ie.length===0){if(ie.endEmitted=!0,ue.emit("end"),ue.writable&&ue.allowHalfOpen===!1)e.nextTick(at,ue);else if(ie.autoDestroy){const Ie=ue._writableState;(!Ie||Ie.autoDestroy&&(Ie.finished||Ie.writable===!1))&&ue.destroy()}}}function at(ie){ie.writable&&!ie.writableEnded&&!ie.destroyed&&ie.end()}P.from=function(ie,ue){return z(P,ie,ue)};let Si;function ys(){return Si===void 0&&(Si={}),Si}return P.fromWeb=function(ie,ue){return ys().newStreamReadableFromReadableStream(ie,ue)},P.toWeb=function(ie,ue){return ys().newReadableStreamFromStreamReadable(ie,ue)},P.wrap=function(ie,ue){var Ie,Ce;return new P({objectMode:(Ie=(Ce=ie.readableObjectMode)!==null&&Ce!==void 0?Ce:ie.objectMode)!==null&&Ie!==void 0?Ie:!0,...ue,destroy(Me,yt){R.destroyer(ie,Me),yt(Me)}}).wrap(ie)},ju}var Wu,rm;function dd(){if(rm)return Wu;rm=1;const e=bi(),{ArrayPrototypeSlice:t,Error:r,FunctionPrototypeSymbolHasInstance:n,ObjectDefineProperty:s,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:o,Symbol:l,SymbolHasInstance:u}=nt();Wu=ce,ce.WritableState=$;const{EventEmitter:f}=gs(),d=hd().Stream,{Buffer:p}=Yt(),g=ms(),{addAbortSignal:_}=Al(),{getHighWaterMark:b,getDefaultHighWaterMark:E}=Tl(),{ERR_INVALID_ARG_TYPE:v,ERR_METHOD_NOT_IMPLEMENTED:S,ERR_MULTIPLE_CALLBACK:w,ERR_STREAM_CANNOT_PIPE:C,ERR_STREAM_DESTROYED:R,ERR_STREAM_ALREADY_FINISHED:O,ERR_STREAM_NULL_VALUES:D,ERR_STREAM_WRITE_AFTER_END:V,ERR_UNKNOWN_ENCODING:re}=Ot().codes,{errorOrDestroy:G}=g;a(ce.prototype,d.prototype),a(ce,d);function X(){}const L=l("kOnFinished");function $(T,M,I){typeof I!="boolean"&&(I=M instanceof Jr()),this.objectMode=!!(T&&T.objectMode),I&&(this.objectMode=this.objectMode||!!(T&&T.writableObjectMode)),this.highWaterMark=T?b(this,T,"writableHighWaterMark",I):E(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const B=!!(T&&T.decodeStrings===!1);this.decodeStrings=!B,this.defaultEncoding=T&&T.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=Y.bind(void 0,M),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,ae(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!T||T.emitClose!==!1,this.autoDestroy=!T||T.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[L]=[]}function ae(T){T.buffered=[],T.bufferedIndex=0,T.allBuffers=!0,T.allNoop=!0}$.prototype.getBuffer=function(){return t(this.buffered,this.bufferedIndex)},s($.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function ce(T){const M=this instanceof Jr();if(!M&&!n(ce,this))return new ce(T);this._writableState=new $(T,this,M),T&&(typeof T.write=="function"&&(this._write=T.write),typeof T.writev=="function"&&(this._writev=T.writev),typeof T.destroy=="function"&&(this._destroy=T.destroy),typeof T.final=="function"&&(this._final=T.final),typeof T.construct=="function"&&(this._construct=T.construct),T.signal&&_(T.signal,this)),d.call(this,T),g.construct(this,()=>{const I=this._writableState;I.writing||ye(this,I),k(this,I)})}s(ce,u,{__proto__:null,value:function(T){return n(this,T)?!0:this!==ce?!1:T&&T._writableState instanceof $}}),ce.prototype.pipe=function(){G(this,new C)};function de(T,M,I,B){const U=T._writableState;if(typeof I=="function")B=I,I=U.defaultEncoding;else{if(!I)I=U.defaultEncoding;else if(I!=="buffer"&&!p.isEncoding(I))throw new re(I);typeof B!="function"&&(B=X)}if(M===null)throw new D;if(!U.objectMode)if(typeof M=="string")U.decodeStrings!==!1&&(M=p.from(M,I),I="buffer");else if(M instanceof p)I="buffer";else if(d._isUint8Array(M))M=d._uint8ArrayToBuffer(M),I="buffer";else throw new v("chunk",["string","Buffer","Uint8Array"],M);let Z;return U.ending?Z=new V:U.destroyed&&(Z=new R("write")),Z?(e.nextTick(B,Z),G(T,Z,!0),Z):(U.pendingcb++,pe(T,U,M,I,B))}ce.prototype.write=function(T,M,I){return de(this,T,M,I)===!0},ce.prototype.cork=function(){this._writableState.corked++},ce.prototype.uncork=function(){const T=this._writableState;T.corked&&(T.corked--,T.writing||ye(this,T))},ce.prototype.setDefaultEncoding=function(M){if(typeof M=="string"&&(M=o(M)),!p.isEncoding(M))throw new re(M);return this._writableState.defaultEncoding=M,this};function pe(T,M,I,B,U){const Z=M.objectMode?1:I.length;M.length+=Z;const j=M.lengthI.bufferedIndex&&ye(T,I),B?I.afterWriteTickInfo!==null&&I.afterWriteTickInfo.cb===U?I.afterWriteTickInfo.count++:(I.afterWriteTickInfo={count:1,cb:U,stream:T,state:I},e.nextTick(he,I.afterWriteTickInfo)):N(T,I,1,U))}function he({stream:T,state:M,count:I,cb:B}){return M.afterWriteTickInfo=null,N(T,M,I,B)}function N(T,M,I,B){for(!M.ending&&!T.destroyed&&M.length===0&&M.needDrain&&(M.needDrain=!1,T.emit("drain"));I-- >0;)M.pendingcb--,B();M.destroyed&&ne(M),k(T,M)}function ne(T){if(T.writing)return;for(let U=T.bufferedIndex;U1&&T._writev){M.pendingcb-=Z-1;const F=M.allNoop?X:P=>{for(let J=j;J256?(I.splice(0,j),M.bufferedIndex=0):M.bufferedIndex=j}M.bufferProcessing=!1}ce.prototype._write=function(T,M,I){if(this._writev)this._writev([{chunk:T,encoding:M}],I);else throw new S("_write()")},ce.prototype._writev=null,ce.prototype.end=function(T,M,I){const B=this._writableState;typeof T=="function"?(I=T,T=null,M=null):typeof M=="function"&&(I=M,M=null);let U;if(T!=null){const Z=de(this,T,M);Z instanceof r&&(U=Z)}return B.corked&&(B.corked=1,this.uncork()),U||(!B.errored&&!B.ending?(B.ending=!0,k(this,B,!0),B.ended=!0):B.finished?U=new O("end"):B.destroyed&&(U=new R("end"))),typeof I=="function"&&(U||B.finished?e.nextTick(I,U):B[L].push(I)),this};function oe(T){return T.ending&&!T.destroyed&&T.constructed&&T.length===0&&!T.errored&&T.buffered.length===0&&!T.finished&&!T.writing&&!T.errorEmitted&&!T.closeEmitted}function Q(T,M){let I=!1;function B(U){if(I){G(T,U??w());return}if(I=!0,M.pendingcb--,U){const Z=M[L].splice(0);for(let j=0;j{oe(U)?W(B,U):U.pendingcb--},T,M)):oe(M)&&(M.pendingcb++,W(T,M))))}function W(T,M){M.pendingcb--,M.finished=!0;const I=M[L].splice(0);for(let B=0;B{if(ne!=null)throw new _("nully","body",ne)},ne=>{b(he,ne)});return he=new re({objectMode:!0,readable:!1,write:pe,final(ne){z(async()=>{try{await N,e.nextTick(ne,null)}catch(ye){e.nextTick(ne,ye)}})},destroy:ge})}throw new _("Iterable, AsyncIterable or AsyncFunction",ae,de)}if(O($))return L($.arrayBuffer());if(s($))return C(re,$,{objectMode:!0,writable:!1});if(u($==null?void 0:$.readable)&&f($==null?void 0:$.writable))return re.fromWeb($);if(typeof($==null?void 0:$.writable)=="object"||typeof($==null?void 0:$.readable)=="object"){const de=$!=null&&$.readable?a($==null?void 0:$.readable)?$==null?void 0:$.readable:L($.readable):void 0,pe=$!=null&&$.writable?o($==null?void 0:$.writable)?$==null?void 0:$.writable:L($.writable):void 0;return X({readable:de,writable:pe})}const ce=$==null?void 0:$.then;if(typeof ce=="function"){let de;return V(ce,$,pe=>{pe!=null&&de.push(pe),de.push(null)},pe=>{b(de,pe)}),de=new re({objectMode:!0,writable:!1,read(){}})}throw new g(ae,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],$)};function G(L){let{promise:$,resolve:ae}=w();const ce=new D,de=ce.signal;return{value:L(async function*(){for(;;){const z=$;$=null;const{chunk:ge,done:Y,cb:he}=await z;if(e.nextTick(he),Y)return;if(de.aborted)throw new p(void 0,{cause:de.reason});({promise:$,resolve:ae}=w()),yield ge}}(),{signal:de}),write(z,ge,Y){const he=ae;ae=null,he({chunk:z,done:!1,cb:Y})},final(z){const ge=ae;ae=null,ge({done:!0,cb:z})},destroy(z,ge){ce.abort(),ge(z)}}}function X(L){const $=L.readable&&typeof L.readable.read!="function"?v.wrap(L.readable):L.readable,ae=L.writable;let ce=!!r($),de=!!n(ae),pe,z,ge,Y,he;function N(ne){const ye=Y;Y=null,ye?ye(ne):ne&&he.destroy(ne)}return he=new re({readableObjectMode:!!($!=null&&$.readableObjectMode),writableObjectMode:!!(ae!=null&&ae.writableObjectMode),readable:ce,writable:de}),de&&(d(ae,ne=>{de=!1,ne&&b($,ne),N(ne)}),he._write=function(ne,ye,oe){ae.write(ne,ye)?oe():pe=oe},he._final=function(ne){ae.end(),z=ne},ae.on("drain",function(){if(pe){const ne=pe;pe=null,ne()}}),ae.on("finish",function(){if(z){const ne=z;z=null,ne()}})),ce&&(d($,ne=>{ce=!1,ne&&b($,ne),N(ne)}),$.on("readable",function(){if(ge){const ne=ge;ge=null,ne()}}),$.on("end",function(){he.push(null)}),he._read=function(){for(;;){const ne=$.read();if(ne===null){ge=he._read;return}if(!he.push(ne))return}}),he._destroy=function(ne,ye){!ne&&Y!==null&&(ne=new p),ge=null,pe=null,z=null,Y===null?ye(ne):(Y=ye,b(ae,ne),b($,ne))},he}return Hu}var Vu,im;function Jr(){if(im)return Vu;im=1;const{ObjectDefineProperties:e,ObjectGetOwnPropertyDescriptor:t,ObjectKeys:r,ObjectSetPrototypeOf:n}=nt();Vu=a;const s=xl(),i=dd();n(a.prototype,s.prototype),n(a,s);{const f=r(i.prototype);for(let d=0;d{if(f){u?u(f):this.destroy(f);return}d!=null&&this.push(d),this.push(null),u&&u()}):(this.push(null),u&&u())}function l(){this._final!==o&&o.call(this)}return a.prototype._final=o,a.prototype._transform=function(u,f,d){throw new r("_transform()")},a.prototype._write=function(u,f,d){const p=this._readableState,g=this._writableState,_=p.length;this._transform(u,f,(b,E)=>{if(b){d(b);return}E!=null&&this.push(E),g.ended||_===p.length||p.length{Q=!0});const q=i(ne,{readable:ye,writable:oe},k=>{Q=!k});return{destroy:k=>{Q||(Q=!0,o.destroyer(ne,k||new g("pipe")))},cleanup:q}}function ce(ne){return E(ne[ne.length-1],"streams[stream.length - 1]"),ne.pop()}function de(ne){if(S(ne))return ne;if(C(ne))return pe(ne);throw new f("val",["Readable","Iterable","AsyncIterable"],ne)}async function*pe(ne){L||(L=xl()),yield*L.prototype[n].call(ne)}async function z(ne,ye,oe,{end:Q}){let q,k=null;const W=A=>{if(A&&(q=A),k){const T=k;k=null,T()}},te=()=>new r((A,T)=>{q?T(q):k=()=>{q?T(q):A()}});ye.on("drain",W);const ee=i(ye,{readable:!1},W);try{ye.writableNeedDrain&&await te();for await(const A of ne)ye.write(A)||await te();Q&&(ye.end(),await te()),oe()}catch(A){oe(q!==A?u(q,A):A)}finally{ee(),ye.off("drain",W)}}async function ge(ne,ye,oe,{end:Q}){O(ye)&&(ye=ye.writable);const q=ye.getWriter();try{for await(const k of ne)await q.ready,q.write(k).catch(()=>{});await q.ready,Q&&await q.close(),oe()}catch(k){try{await q.abort(k),oe(k)}catch(W){oe(W)}}}function Y(...ne){return he(ne,a(ce(ne)))}function he(ne,ye,oe){if(ne.length===1&&t(ne[0])&&(ne=ne[0]),ne.length<2)throw new p("streams");const Q=new G,q=Q.signal,k=oe==null?void 0:oe.signal,W=[];v(k,"options.signal");function te(){U(new b)}$=$||Lt().addAbortListener;let ee;k&&(ee=$(k,te));let A,T;const M=[];let I=0;function B(K){U(K,--I===0)}function U(K,P){var J;if(K&&(!A||A.code==="ERR_STREAM_PREMATURE_CLOSE")&&(A=K),!(!A&&!P)){for(;M.length;)M.shift()(A);(J=ee)===null||J===void 0||J[s](),Q.abort(),P&&(A||W.forEach(le=>le()),e.nextTick(ye,A,T))}}let Z;for(let K=0;K0,me=J||(oe==null?void 0:oe.end)!==!1,y=K===ne.length-1;if(R(P)){let h=function(c){c&&c.name!=="AbortError"&&c.code!=="ERR_STREAM_PREMATURE_CLOSE"&&B(c)};if(me){const{destroy:c,cleanup:m}=ae(P,J,le);M.push(c),w(P)&&y&&W.push(m)}P.on("error",h),w(P)&&y&&W.push(()=>{P.removeListener("error",h)})}if(K===0)if(typeof P=="function"){if(Z=P({signal:q}),!S(Z))throw new d("Iterable, AsyncIterable or Stream","source",Z)}else S(P)||C(P)||O(P)?Z=P:Z=l.from(P);else if(typeof P=="function"){if(O(Z)){var j;Z=de((j=Z)===null||j===void 0?void 0:j.readable)}else Z=de(Z);if(Z=P(Z,{signal:q}),J){if(!S(Z,!0))throw new d("AsyncIterable",`transform[${K-1}]`,Z)}else{var F;X||(X=c0());const h=new X({objectMode:!0}),c=(F=Z)===null||F===void 0?void 0:F.then;if(typeof c=="function")I++,c.call(Z,H=>{T=H,H!=null&&h.write(H),me&&h.end(),e.nextTick(B)},H=>{h.destroy(H),e.nextTick(B,H)});else if(S(Z,!0))I++,z(Z,h,B,{end:me});else if(V(Z)||O(Z)){const H=Z.readable||Z;I++,z(H,h,B,{end:me})}else throw new d("AsyncIterable or Promise","destination",Z);Z=h;const{destroy:m,cleanup:x}=ae(Z,!1,!0);M.push(m),y&&W.push(x)}}else if(R(P)){if(C(Z)){I+=2;const h=N(Z,P,B,{end:me});w(P)&&y&&W.push(h)}else if(O(Z)||V(Z)){const h=Z.readable||Z;I++,z(h,P,B,{end:me})}else if(S(Z))I++,z(Z,P,B,{end:me});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else if(D(P)){if(C(Z))I++,ge(de(Z),P,B,{end:me});else if(V(Z)||S(Z))I++,ge(Z,P,B,{end:me});else if(O(Z))I++,ge(Z.readable,P,B,{end:me});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else Z=l.from(P)}return(q!=null&&q.aborted||k!=null&&k.aborted)&&e.nextTick(te),Z}function N(ne,ye,oe,{end:Q}){let q=!1;if(ye.on("close",()=>{q||oe(new _)}),ne.pipe(ye,{end:!1}),Q){let k=function(){q=!0,ye.end()};re(ne)?e.nextTick(k):ne.once("end",k)}else oe();return i(ne,{readable:!0,writable:!1},k=>{const W=ne._readableState;k&&k.code==="ERR_STREAM_PREMATURE_CLOSE"&&W&&W.ended&&!W.errored&&!W.errorEmitted?ne.once("end",oe).once("error",oe):oe(k)}),i(ye,{readable:!1,writable:!0},oe)}return Yu={pipelineImpl:he,pipeline:Y},Yu}var zu,lm;function h0(){if(lm)return zu;lm=1;const{pipeline:e}=pd(),t=Jr(),{destroyer:r}=ms(),{isNodeStream:n,isReadable:s,isWritable:i,isWebStream:a,isTransformStream:o,isWritableStream:l,isReadableStream:u}=ln(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:d,ERR_MISSING_ARGS:p}}=Ot(),g=On();return zu=function(...b){if(b.length===0)throw new p("streams");if(b.length===1)return t.from(b[0]);const E=[...b];if(typeof b[0]=="function"&&(b[0]=t.from(b[0])),typeof b[b.length-1]=="function"){const X=b.length-1;b[X]=t.from(b[X])}for(let X=0;X0&&!(i(b[X])||l(b[X])||o(b[X])))throw new d(`streams[${X}]`,E[X],"must be writable")}let v,S,w,C,R;function O(X){const L=C;C=null,L?L(X):X?R.destroy(X):!G&&!re&&R.destroy()}const D=b[0],V=e(b,O),re=!!(i(D)||l(D)||o(D)),G=!!(s(V)||u(V)||o(V));if(R=new t({writableObjectMode:!!(D!=null&&D.writableObjectMode),readableObjectMode:!!(V!=null&&V.readableObjectMode),writable:re,readable:G}),re){if(n(D))R._write=function(L,$,ae){D.write(L,$)?ae():v=ae},R._final=function(L){D.end(),S=L},D.on("drain",function(){if(v){const L=v;v=null,L()}});else if(a(D)){const $=(o(D)?D.writable:D).getWriter();R._write=async function(ae,ce,de){try{await $.ready,$.write(ae).catch(()=>{}),de()}catch(pe){de(pe)}},R._final=async function(ae){try{await $.ready,$.close().catch(()=>{}),S=ae}catch(ce){ae(ce)}}}const X=o(V)?V.readable:V;g(X,()=>{if(S){const L=S;S=null,L()}})}if(G){if(n(V))V.on("readable",function(){if(w){const X=w;w=null,X()}}),V.on("end",function(){R.push(null)}),R._read=function(){for(;;){const X=V.read();if(X===null){w=R._read;return}if(!R.push(X))return}};else if(a(V)){const L=(o(V)?V.readable:V).getReader();R._read=async function(){for(;;)try{const{value:$,done:ae}=await L.read();if(!R.push($))return;if(ae){R.push(null);return}}catch{return}}}}return R._destroy=function(X,L){!X&&C!==null&&(X=new f),w=null,v=null,S=null,C===null?L(X):(C=L,n(V)&&r(V,X))},R},zu}var um;function PR(){if(um)return Wo;um=1;const e=globalThis.AbortController||so().AbortController,{codes:{ERR_INVALID_ARG_VALUE:t,ERR_INVALID_ARG_TYPE:r,ERR_MISSING_ARGS:n,ERR_OUT_OF_RANGE:s},AbortError:i}=Ot(),{validateAbortSignal:a,validateInteger:o,validateObject:l}=bo(),u=nt().Symbol("kWeak"),f=nt().Symbol("kResistStopPropagation"),{finished:d}=On(),p=h0(),{addAbortSignalNoValidate:g}=Al(),{isWritable:_,isNodeStream:b}=ln(),{deprecate:E}=Lt(),{ArrayPrototypePush:v,Boolean:S,MathFloor:w,Number:C,NumberIsNaN:R,Promise:O,PromiseReject:D,PromiseResolve:V,PromisePrototypeThen:re,Symbol:G}=nt(),X=G("kEmpty"),L=G("kEof");function $(k,W){if(W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),b(k)&&!_(k))throw new t("stream",k,"must be writable");const te=p(this,k);return W!=null&&W.signal&&g(W.signal,te),te}function ae(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal");let te=1;(W==null?void 0:W.concurrency)!=null&&(te=w(W.concurrency));let ee=te-1;return(W==null?void 0:W.highWaterMark)!=null&&(ee=w(W.highWaterMark)),o(te,"options.concurrency",1),o(ee,"options.highWaterMark",0),ee+=te,(async function*(){const T=Lt().AbortSignalAny([W==null?void 0:W.signal].filter(S)),M=this,I=[],B={signal:T};let U,Z,j=!1,F=0;function K(){j=!0,P()}function P(){F-=1,J()}function J(){Z&&!j&&F=ee||F>=te)&&await new O(y=>{Z=y})}I.push(L)}catch(me){const y=D(me);re(y,P,K),I.push(y)}finally{j=!0,U&&(U(),U=null)}}le();try{for(;;){for(;I.length>0;){const me=await I[0];if(me===L)return;if(T.aborted)throw new i;me!==X&&(yield me),I.shift(),J()}await new O(me=>{U=me})}}finally{j=!0,Z&&(Z(),Z=null)}}).call(this)}function ce(k=void 0){return k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal"),(async function*(){let te=0;for await(const A of this){var ee;if(k!=null&&(ee=k.signal)!==null&&ee!==void 0&&ee.aborted)throw new i({cause:k.signal.reason});yield[te++,A]}}).call(this)}async function de(k,W=void 0){for await(const te of Y.call(this,k,W))return!0;return!1}async function pe(k,W=void 0){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);return!await de.call(this,async(...te)=>!await k(...te),W)}async function z(k,W){for await(const te of Y.call(this,k,W))return te}async function ge(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A),X}for await(const ee of ae.call(this,te,W));}function Y(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A)?ee:X}return ae.call(this,te,W)}class he extends n{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function N(k,W,te){var ee;if(typeof k!="function")throw new r("reducer",["Function","AsyncFunction"],k);te!=null&&l(te,"options"),(te==null?void 0:te.signal)!=null&&a(te.signal,"options.signal");let A=arguments.length>1;if(te!=null&&(ee=te.signal)!==null&&ee!==void 0&&ee.aborted){const U=new i(void 0,{cause:te.signal.reason});throw this.once("error",()=>{}),await d(this.destroy(U)),U}const T=new e,M=T.signal;if(te!=null&&te.signal){const U={once:!0,[u]:this,[f]:!0};te.signal.addEventListener("abort",()=>T.abort(),U)}let I=!1;try{for await(const U of this){var B;if(I=!0,te!=null&&(B=te.signal)!==null&&B!==void 0&&B.aborted)throw new i;A?W=await k(W,U,{signal:M}):(W=U,A=!0)}if(!I&&!A)throw new he}finally{T.abort()}return W}async function ne(k){k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal");const W=[];for await(const ee of this){var te;if(k!=null&&(te=k.signal)!==null&&te!==void 0&&te.aborted)throw new i(void 0,{cause:k.signal.reason});v(W,ee)}return W}function ye(k,W){const te=ae.call(this,k,W);return(async function*(){for await(const A of te)yield*A}).call(this)}function oe(k){if(k=C(k),R(k))return 0;if(k<0)throw new s("number",">= 0",k);return k}function Q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=oe(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;k--<=0&&(yield T)}}).call(this)}function q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=oe(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;if(k-- >0&&(yield T),k<=0)return}}).call(this)}return Wo.streamReturningOperators={asIndexedPairs:E(ce,"readable.asIndexedPairs will be removed in a future version."),drop:Q,filter:Y,flatMap:ye,map:ae,take:q,compose:$},Wo.promiseReturningOperators={every:pe,forEach:ge,reduce:N,toArray:ne,some:de,find:z},Wo}var Gu,fm;function d0(){if(fm)return Gu;fm=1;const{ArrayPrototypePop:e,Promise:t}=nt(),{isIterable:r,isNodeStream:n,isWebStream:s}=ln(),{pipelineImpl:i}=pd(),{finished:a}=On();p0();function o(...l){return new t((u,f)=>{let d,p;const g=l[l.length-1];if(g&&typeof g=="object"&&!n(g)&&!r(g)&&!s(g)){const _=e(l);d=_.signal,p=_.end}i(l,(_,b)=>{_?f(_):u(b)},{signal:d,end:p})})}return Gu={finished:a,pipeline:o},Gu}var cm;function p0(){if(cm)return Tu.exports;cm=1;const{Buffer:e}=Yt(),{ObjectDefineProperty:t,ObjectKeys:r,ReflectApply:n}=nt(),{promisify:{custom:s}}=Lt(),{streamReturningOperators:i,promiseReturningOperators:a}=PR(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:o}}=Ot(),l=h0(),{setDefaultHighWaterMark:u,getDefaultHighWaterMark:f}=Tl(),{pipeline:d}=pd(),{destroyer:p}=ms(),g=On(),_=d0(),b=ln(),E=Tu.exports=hd().Stream;E.isDestroyed=b.isDestroyed,E.isDisturbed=b.isDisturbed,E.isErrored=b.isErrored,E.isReadable=b.isReadable,E.isWritable=b.isWritable,E.Readable=xl();for(const S of r(i)){let C=function(...R){if(new.target)throw o();return E.Readable.from(n(w,this,R))};const w=i[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}for(const S of r(a)){let C=function(...R){if(new.target)throw o();return n(w,this,R)};const w=a[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}E.Writable=dd(),E.Duplex=Jr(),E.Transform=f0(),E.PassThrough=c0(),E.pipeline=d;const{addAbortSignal:v}=Al();return E.addAbortSignal=v,E.finished=g,E.destroy=p,E.compose=l,E.setDefaultHighWaterMark=u,E.getDefaultHighWaterMark=f,t(E,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),t(d,s,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),t(g,s,{__proto__:null,enumerable:!0,get(){return _.finished}}),E.Stream=E,E._isUint8Array=function(w){return w instanceof Uint8Array},E._uint8ArrayToBuffer=function(w){return e.from(w.buffer,w.byteOffset,w.byteLength)},Tu.exports}var hm;function LR(){return hm||(hm=1,function(e){const t=p0(),r=d0(),n=t.Readable.destroy;e.exports=t.Readable,e.exports._uint8ArrayToBuffer=t._uint8ArrayToBuffer,e.exports._isUint8Array=t._isUint8Array,e.exports.isDisturbed=t.isDisturbed,e.exports.isErrored=t.isErrored,e.exports.isReadable=t.isReadable,e.exports.Readable=t.Readable,e.exports.Writable=t.Writable,e.exports.Duplex=t.Duplex,e.exports.Transform=t.Transform,e.exports.PassThrough=t.PassThrough,e.exports.addAbortSignal=t.addAbortSignal,e.exports.finished=t.finished,e.exports.destroy=t.destroy,e.exports.destroy=n,e.exports.pipeline=t.pipeline,e.exports.compose=t.compose,Object.defineProperty(t,"promises",{configurable:!0,enumerable:!0,get(){return r}}),e.exports.Stream=t.Stream,e.exports.default=e.exports}(Au)),Au.exports}var qo={exports:{}},dm;function BR(){return dm||(dm=1,typeof Object.create=="function"?qo.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:qo.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}),qo.exports}var Qu,pm;function DR(){if(pm)return Qu;pm=1;const{Buffer:e}=Yt(),t=Symbol.for("BufferList");function r(n){if(!(this instanceof r))return new r(n);r._init.call(this,n)}return r._init=function(s){Object.defineProperty(this,t,{value:!0}),this._bufs=[],this.length=0,s&&this.append(s)},r.prototype._new=function(s){return new r(s)},r.prototype._offset=function(s){if(s===0)return[0,0];let i=0;for(let a=0;athis.length||s<0)return;const i=this._offset(s);return this._bufs[i[0]][i[1]]},r.prototype.slice=function(s,i){return typeof s=="number"&&s<0&&(s+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,s,i)},r.prototype.copy=function(s,i,a,o){if((typeof a!="number"||a<0)&&(a=0),(typeof o!="number"||o>this.length)&&(o=this.length),a>=this.length||o<=0)return s||e.alloc(0);const l=!!s,u=this._offset(a),f=o-a;let d=f,p=l&&i||0,g=u[1];if(a===0&&o===this.length){if(!l)return this._bufs.length===1?this._bufs[0]:e.concat(this._bufs,this.length);for(let _=0;_b)this._bufs[_].copy(s,p,g),p+=b;else{this._bufs[_].copy(s,p,g,g+d),p+=b;break}d-=b,g&&(g=0)}return s.length>p?s.slice(0,p):s},r.prototype.shallowSlice=function(s,i){if(s=s||0,i=typeof i!="number"?this.length:i,s<0&&(s+=this.length),i<0&&(i+=this.length),s===i)return this._new();const a=this._offset(s),o=this._offset(i),l=this._bufs.slice(a[0],o[0]+1);return o[1]===0?l.pop():l[l.length-1]=l[l.length-1].slice(0,o[1]),a[1]!==0&&(l[0]=l[0].slice(a[1])),this._new(l)},r.prototype.toString=function(s,i,a){return this.slice(i,a).toString(s)},r.prototype.consume=function(s){if(s=Math.trunc(s),Number.isNaN(s)||s<=0)return this;for(;this._bufs.length;)if(s>=this._bufs[0].length)s-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(s),this.length-=s;break}return this},r.prototype.duplicate=function(){const s=this._new();for(let i=0;ithis.length?this.length:s;const a=this._offset(s);let o=a[0],l=a[1];for(;o=n.length){const d=u.indexOf(n,l);if(d!==-1)return this._reverseOffset([o,d]);l=u.length-n.length+1}else{const d=this._reverseOffset([o,l]);if(this._match(d,n))return d;l++}l=0}return-1},r.prototype._match=function(n,s){if(this.length-n[0,1].map(a=>[0,1].map(o=>{const l=r.alloc(1);return l.writeUInt8(t.codes[s]<r.from([s])),t.EMPTY={pingreq:r.from([t.codes.pingreq<<4,0]),pingresp:r.from([t.codes.pingresp<<4,0]),disconnect:r.from([t.codes.disconnect<<4,0])},t.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},t.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},t.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},t.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}(Ju)),Ju.exports}function m0(){throw new Error("setTimeout has not been defined")}function y0(){throw new Error("clearTimeout has not been defined")}var pn=m0,gn=y0;typeof si.setTimeout=="function"&&(pn=setTimeout);typeof si.clearTimeout=="function"&&(gn=clearTimeout);function _0(e){if(pn===setTimeout)return setTimeout(e,0);if((pn===m0||!pn)&&setTimeout)return pn=setTimeout,setTimeout(e,0);try{return pn(e,0)}catch{try{return pn.call(null,e,0)}catch{return pn.call(this,e,0)}}}function $R(e){if(gn===clearTimeout)return clearTimeout(e);if((gn===y0||!gn)&&clearTimeout)return gn=clearTimeout,clearTimeout(e);try{return gn(e)}catch{try{return gn.call(null,e)}catch{return gn.call(this,e)}}}var Hr=[],Yi=!1,Xn,pa=-1;function jR(){!Yi||!Xn||(Yi=!1,Xn.length?Hr=Xn.concat(Hr):pa=-1,Hr.length&&b0())}function b0(){if(!Yi){var e=_0(jR);Yi=!0;for(var t=Hr.length;t;){for(Xn=Hr,Hr=[];++pa1)for(var r=1;r0)return a(f);if(p==="number"&&isFinite(f))return d.long?l(f):o(f);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(f))};function a(f){if(f=String(f),!(f.length>100)){var d=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(d){var p=parseFloat(d[1]),g=(d[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return p*i;case"weeks":case"week":case"w":return p*s;case"days":case"day":case"d":return p*n;case"hours":case"hour":case"hrs":case"hr":case"h":return p*r;case"minutes":case"minute":case"mins":case"min":case"m":return p*t;case"seconds":case"second":case"secs":case"sec":case"s":return p*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return}}}}function o(f){var d=Math.abs(f);return d>=n?Math.round(f/n)+"d":d>=r?Math.round(f/r)+"h":d>=t?Math.round(f/t)+"m":d>=e?Math.round(f/e)+"s":f+"ms"}function l(f){var d=Math.abs(f);return d>=n?u(f,d,n,"day"):d>=r?u(f,d,r,"hour"):d>=t?u(f,d,t,"minute"):d>=e?u(f,d,e,"second"):f+" ms"}function u(f,d,p,g){var _=d>=p*1.5;return Math.round(f/p)+" "+g+(_?"s":"")}return Zu}var ef,bm;function pO(){if(bm)return ef;bm=1;function e(t){n.debug=n,n.default=n,n.coerce=u,n.disable=o,n.enable=i,n.enabled=l,n.humanize=dO(),n.destroy=f,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function r(d){let p=0;for(let g=0;g{if(D==="%%")return"%";R++;const re=n.formatters[V];if(typeof re=="function"){const G=v[R];D=re.call(S,G),v.splice(R,1),R--}return D}),n.formatArgs.call(S,v),(S.log||n.log).apply(S,v)}return E.namespace=d,E.useColors=n.useColors(),E.color=n.selectColor(d),E.extend=s,E.destroy=n.destroy,Object.defineProperty(E,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(_!==n.namespaces&&(_=n.namespaces,b=n.enabled(d)),b),set:v=>{g=v}}),typeof n.init=="function"&&n.init(E),E}function s(d,p){const g=n(this.namespace+(typeof p>"u"?":":p)+d);return g.log=this.log,g}function i(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];const p=(typeof d=="string"?d:"").trim().replace(" ",",").split(",").filter(Boolean);for(const g of p)g[0]==="-"?n.skips.push(g.slice(1)):n.names.push(g)}function a(d,p){let g=0,_=0,b=-1,E=0;for(;g"-"+p)].join(",");return n.enable(""),d}function l(d){for(const p of n.skips)if(a(d,p))return!1;for(const p of n.names)if(a(d,p))return!0;return!1}function u(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}return ef=e,ef}var wm;function v0(){return wm||(wm=1,function(e,t){var r={};t.formatArgs=s,t.save=i,t.load=a,t.useColors=n,t.storage=o(),t.destroy=(()=>{let u=!1;return()=>{u||(u=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let u;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(u=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(u[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function s(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const f="color: "+this.color;u.splice(1,0,f,"color: inherit");let d=0,p=0;u[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(d++,g==="%c"&&(p=d))}),u.splice(p,0,f)}t.log=console.debug||console.log||(()=>{});function i(u){try{u?t.storage.setItem("debug",u):t.storage.removeItem("debug")}catch{}}function a(){let u;try{u=t.storage.getItem("debug")}catch{}return!u&&typeof Ft<"u"&&"env"in Ft&&(u=r.DEBUG),u}function o(){try{return localStorage}catch{}}e.exports=pO()(t);const{formatters:l}=e.exports;l.j=function(u){try{return JSON.stringify(u)}catch(f){return"[UnexpectedJSONParseError]: "+f.message}}}(Ko,Ko.exports)),Ko.exports}var tf,vm;function gO(){if(vm)return tf;vm=1;const e=UR(),{EventEmitter:t}=gs(),r=FR(),n=g0(),s=v0()("mqtt-packet:parser");class i extends t{constructor(){super(),this.parser=this.constructor.parser}static parser(o){return this instanceof i?(this.settings=o||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new i().parser(o)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new r,this.error=null,this._list=e(),this._stateCounter=0}parse(o){for(this.error&&this._resetState(),this._list.append(o),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){const o=this._list.readUInt8(0),l=o>>n.CMD_SHIFT;this.packet.cmd=n.types[l];const u=o&15,f=n.requiredHeaderFlags[l];return f!=null&&u!==f?this._emitError(new Error(n.requiredHeaderFlagsErrors[l])):(this.packet.retain=(o&n.RETAIN_MASK)!==0,this.packet.qos=o>>n.QOS_SHIFT&n.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(o&n.DUP_MASK)!==0,s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){const o=this._parseVarByteNum(!0);return o&&(this.packet.length=o.value,this._list.consume(o.bytes)),s("_parseLength %d",o.value),!!o}_parsePayload(){s("_parsePayload: payload %O",this._list);let o=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}o=!0}return s("_parsePayload complete result: %s",o),o}_parseConnect(){s("_parseConnect");let o,l,u,f;const d={},p=this.packet,g=this._parseString();if(g===null)return this._emitError(new Error("Cannot parse protocolId"));if(g!=="MQTT"&&g!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(p.protocolId=g,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(p.protocolVersion=this._list.readUInt8(this._pos),p.protocolVersion>=128&&(p.bridgeMode=!0,p.protocolVersion=p.protocolVersion-128),p.protocolVersion!==3&&p.protocolVersion!==4&&p.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));d.username=this._list.readUInt8(this._pos)&n.USERNAME_MASK,d.password=this._list.readUInt8(this._pos)&n.PASSWORD_MASK,d.will=this._list.readUInt8(this._pos)&n.WILL_FLAG_MASK;const _=!!(this._list.readUInt8(this._pos)&n.WILL_RETAIN_MASK),b=(this._list.readUInt8(this._pos)&n.WILL_QOS_MASK)>>n.WILL_QOS_SHIFT;if(d.will)p.will={},p.will.retain=_,p.will.qos=b;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(b)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(p.clean=(this._list.readUInt8(this._pos)&n.CLEAN_SESSION_MASK)!==0,this._pos++,p.keepalive=this._parseNum(),p.keepalive===-1)return this._emitError(new Error("Packet too short"));if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.properties=v)}const E=this._parseString();if(E===null)return this._emitError(new Error("Packet too short"));if(p.clientId=E,s("_parseConnect: packet.clientId: %s",p.clientId),d.will){if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.will.properties=v)}if(o=this._parseString(),o===null)return this._emitError(new Error("Cannot parse will topic"));if(p.will.topic=o,s("_parseConnect: packet.will.topic: %s",p.will.topic),l=this._parseBuffer(),l===null)return this._emitError(new Error("Cannot parse will payload"));p.will.payload=l,s("_parseConnect: packet.will.paylaod: %s",p.will.payload)}if(d.username){if(f=this._parseString(),f===null)return this._emitError(new Error("Cannot parse username"));p.username=f,s("_parseConnect: packet.username: %s",p.username)}if(d.password){if(u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse password"));p.password=u}return this.settings=p,s("_parseConnect: complete"),p}_parseConnack(){s("_parseConnack");const o=this.packet;if(this._list.length<1)return null;const l=this._list.readUInt8(this._pos++);if(l>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(o.sessionPresent=!!(l&n.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?o.reasonCode=this._list.readUInt8(this._pos++):o.reasonCode=0;else{if(this._list.length<2)return null;o.returnCode=this._list.readUInt8(this._pos++)}if(o.returnCode===-1||o.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){const u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(o.properties=u)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");const o=this.packet;if(o.topic=this._parseString(),o.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(o.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}o.payload=this._list.slice(this._pos,o.length),s("_parsePublish: payload from buffer list: %o",o.payload)}}_parseSubscribe(){s("_parseSubscribe");const o=this.packet;let l,u,f,d,p,g,_;if(o.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const b=this._parseProperties();Object.getOwnPropertyNames(b).length&&(o.properties=b)}if(o.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos=o.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(u&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(u&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(f=u&n.SUBSCRIBE_OPTIONS_QOS_MASK,f>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(g=(u>>n.SUBSCRIBE_OPTIONS_NL_SHIFT&n.SUBSCRIBE_OPTIONS_NL_MASK)!==0,p=(u>>n.SUBSCRIBE_OPTIONS_RAP_SHIFT&n.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,d=u>>n.SUBSCRIBE_OPTIONS_RH_SHIFT&n.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));_={topic:l,qos:f},this.settings.protocolVersion===5?(_.nl=g,_.rap=p,_.rh=d):this.settings.bridgeMode&&(_.rh=0,_.rap=!0,_.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",_),o.subscriptions.push(_)}}}_parseSuback(){s("_parseSuback");const o=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}if(o.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&l!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(l)}}}_parseUnsubscribe(){s("_parseUnsubscribe");const o=this.packet;if(o.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}if(o.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(o.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!n.MQTT5_PUBACK_PUBREC_CODES[o.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!n.MQTT5_PUBREL_PUBCOMP_CODES[o.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}s("_parseConfirmation: packet.reasonCode `%d`",o.reasonCode)}else o.reasonCode=0;if(o.length>3){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}}return!0}_parseDisconnect(){const o=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(o.reasonCode=this._parseByte(),n.MQTT5_DISCONNECT_CODES[o.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):o.reasonCode=0;const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");const o=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(o.reasonCode=this._parseByte(),!n.MQTT5_AUTH_CODES[o.reasonCode])return this._emitError(new Error("Invalid auth reason code"));const l=this._parseProperties();return Object.getOwnPropertyNames(l).length&&(o.properties=l),s("_parseAuth: result: true"),!0}_parseMessageId(){const o=this.packet;return o.messageId=this._parseNum(),o.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",o.messageId),!0)}_parseString(o){const l=this._parseNum(),u=l+this._pos;if(l===-1||u>this._list.length||u>this.packet.length)return null;const f=this._list.toString("utf8",this._pos,u);return this._pos+=l,s("_parseString: result: %s",f),f}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){const o=this._parseNum(),l=o+this._pos;if(o===-1||l>this._list.length||l>this.packet.length)return null;const u=this._list.slice(this._pos,l);return this._pos+=o,s("_parseBuffer: result: %o",u),u}_parseNum(){if(this._list.length-this._pos<2)return-1;const o=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",o),o}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;const o=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",o),o}_parseVarByteNum(o){s("_parseVarByteNum");const l=4;let u=0,f=1,d=0,p=!1,g;const _=this._pos?this._pos:0;for(;u=u&&this._emitError(new Error("Invalid variable byte integer")),_&&(this._pos+=u),p?o?p={bytes:u,value:d}:p=d:p=!1,s("_parseVarByteNum: result: %o",p),p}_parseByte(){let o;return this._pos>8,0),u.writeUInt8(l&255,1),u}function i(){for(let l=0;l0&&(f=f|128),p.writeUInt8(f,d++);while(l>0&&d<4);return l>0&&(d=0),n?p.subarray(0,d):p.slice(0,d)}function o(l){const u=e.allocUnsafe(4);return u.writeUInt32BE(l,0),u}return rf={cache:r,generateCache:i,generateNumber:s,genBufVariableByteInt:a,generate4ByteBuffer:o},rf}var Yo={exports:{}},Sm;function yO(){if(Sm)return Yo.exports;Sm=1,typeof Ft>"u"||!Ft.version||Ft.version.indexOf("v0.")===0||Ft.version.indexOf("v1.")===0&&Ft.version.indexOf("v1.8.")!==0?Yo.exports={nextTick:e}:Yo.exports=Ft;function e(t,r,n,s){if(typeof t!="function")throw new TypeError('"callback" argument must be a function');var i=arguments.length,a,o;switch(i){case 0:case 1:return Ft.nextTick(t);case 2:return Ft.nextTick(function(){t.call(null,r)});case 3:return Ft.nextTick(function(){t.call(null,r,n)});case 4:return Ft.nextTick(function(){t.call(null,r,n,s)});default:for(a=new Array(i-1),o=0;o=4)&&(M||A))Z+=t.byteLength(M)+2;else{if(te<4)return Q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(A*1===0)return Q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof T!="number"||T<0||T>65535||T%1!==0)return Q.destroy(new Error("Invalid keepalive")),!1;Z+=2,Z+=1;let j,F;if(te===5){if(j=ge(Q,U),!j)return!1;Z+=j.length}if(ee){if(typeof ee!="object")return Q.destroy(new Error("Invalid will")),!1;if(!ee.topic||typeof ee.topic!="string")return Q.destroy(new Error("Invalid will topic")),!1;if(Z+=t.byteLength(ee.topic)+2,Z+=2,ee.payload)if(ee.payload.length>=0)typeof ee.payload=="string"?Z+=t.byteLength(ee.payload):Z+=ee.payload.length;else return Q.destroy(new Error("Invalid will payload")),!1;if(F={},te===5){if(F=ge(Q,ee.properties),!F)return!1;Z+=F.length}}let K=!1;if(I!=null)if(ye(I))K=!0,Z+=t.byteLength(I)+2;else return Q.destroy(new Error("Invalid username")),!1;if(B!=null){if(!K)return Q.destroy(new Error("Username is required to use password")),!1;if(ye(B))Z+=ne(B)+2;else return Q.destroy(new Error("Invalid password")),!1}Q.write(e.CONNECT_HEADER),L(Q,Z),z(Q,W),k.bridgeMode&&(te+=128),Q.write(te===131?e.VERSION131:te===132?e.VERSION132:te===4?e.VERSION4:te===5?e.VERSION5:e.VERSION3);let P=0;return P|=I!=null?e.USERNAME_MASK:0,P|=B!=null?e.PASSWORD_MASK:0,P|=ee&&ee.retain?e.WILL_RETAIN_MASK:0,P|=ee&&ee.qos?ee.qos<0&&p(Q,M),U!=null&&U.write(),a("publish: payload: %o",T),Q.write(T)}function w(oe,Q,q){const k=q?q.protocolVersion:4,W=oe||{},te=W.cmd||"puback",ee=W.messageId,A=W.dup&&te==="pubrel"?e.DUP_MASK:0;let T=0;const M=W.reasonCode,I=W.properties;let B=k===5?3:2;if(te==="pubrel"&&(T=1),typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;let U=null;if(k===5&&typeof I=="object"){if(U=Y(Q,I,q,B),!U)return!1;B+=U.length}return Q.write(e.ACKS[te][T][A][0]),B===3&&(B+=M!==0?1:-1),L(Q,B),p(Q,ee),k===5&&B!==2&&Q.write(t.from([M])),U!==null?U.write():B===4&&Q.write(t.from([0])),!0}function C(oe,Q,q){a("subscribe: packet: ");const k=q?q.protocolVersion:4,W=oe||{},te=W.dup?e.DUP_MASK:0,ee=W.messageId,A=W.subscriptions,T=W.properties;let M=0;if(typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;M+=2;let I=null;if(k===5){if(I=ge(Q,T),!I)return!1;M+=I.length}if(typeof A=="object"&&A.length)for(let U=0;U2)return Q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}M+=t.byteLength(Z)+2+1}else return Q.destroy(new Error("Invalid subscriptions")),!1;a("subscribe: writing to stream: %o",e.SUBSCRIBE_HEADER),Q.write(e.SUBSCRIBE_HEADER[1][te?1:0][0]),L(Q,M),p(Q,ee),I!==null&&I.write();let B=!0;for(const U of A){const Z=U.topic,j=U.qos,F=+U.nl,K=+U.rap,P=U.rh;let J;$(Q,Z),J=e.SUBSCRIBE_OPTIONS_QOS[j],k===5&&(J|=F?e.SUBSCRIBE_OPTIONS_NL:0,J|=K?e.SUBSCRIBE_OPTIONS_RAP:0,J|=P?e.SUBSCRIBE_OPTIONS_RH[P]:0),B=Q.write(t.from([J]))}return B}function R(oe,Q,q){const k=q?q.protocolVersion:4,W=oe||{},te=W.messageId,ee=W.granted,A=W.properties;let T=0;if(typeof te!="number")return Q.destroy(new Error("Invalid messageId")),!1;if(T+=2,typeof ee=="object"&&ee.length)for(let I=0;Ie.VARBYTEINT_MAX)return oe.destroy(new Error(`Invalid variable byte integer: ${Q}`)),!1;let q=X[Q];return q||(q=f(Q),Q<16384&&(X[Q]=q)),a("writeVarByteInt: writing to stream: %o",q),oe.write(q)}function $(oe,Q){const q=t.byteLength(Q);return p(oe,q),a("writeString: %s",Q),oe.write(Q,"utf8")}function ae(oe,Q,q){$(oe,Q),$(oe,q)}function ce(oe,Q){return a("writeNumberCached: number: %d",Q),a("writeNumberCached: %o",o[Q]),oe.write(o[Q])}function de(oe,Q){const q=l(Q);return a("writeNumberGenerated: %o",q),oe.write(q)}function pe(oe,Q){const q=d(Q);return a("write4ByteNumber: %o",q),oe.write(q)}function z(oe,Q){typeof Q=="string"?$(oe,Q):Q?(p(oe,Q.length),oe.write(Q)):p(oe,0)}function ge(oe,Q){if(typeof Q!="object"||Q.length!=null)return{length:1,write(){N(oe,{},0)}};let q=0;function k(te,ee){const A=e.propertiesTypes[te];let T=0;switch(A){case"byte":{if(typeof ee!="boolean")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"int8":{if(typeof ee!="number"||ee<0||ee>255)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"binary":{if(ee&&ee===null)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(ee)+2;break}case"int16":{if(typeof ee!="number"||ee<0||ee>65535)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3;break}case"int32":{if(typeof ee!="number"||ee<0||ee>4294967295)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=5;break}case"var":{if(typeof ee!="number"||ee<0||ee>268435455)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(f(ee));break}case"string":{if(typeof ee!="string")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3+t.byteLength(ee.toString());break}case"pair":{if(typeof ee!="object")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=Object.getOwnPropertyNames(ee).reduce((M,I)=>{const B=ee[I];return Array.isArray(B)?M+=B.reduce((U,Z)=>(U+=3+t.byteLength(I.toString())+2+t.byteLength(Z.toString()),U),0):M+=3+t.byteLength(I.toString())+2+t.byteLength(ee[I].toString()),M},0);break}default:return oe.destroy(new Error(`Invalid property ${te}: ${ee}`)),!1}return T}if(Q)for(const te in Q){let ee=0,A=0;const T=Q[te];if(Array.isArray(T))for(let M=0;Mte;){const A=W.shift();if(A&&Q[A])delete Q[A],ee=ge(oe,Q);else return!1}return ee}function he(oe,Q,q){switch(e.propertiesTypes[Q]){case"byte":{oe.write(t.from([e.properties[Q]])),oe.write(t.from([+q]));break}case"int8":{oe.write(t.from([e.properties[Q]])),oe.write(t.from([q]));break}case"binary":{oe.write(t.from([e.properties[Q]])),z(oe,q);break}case"int16":{oe.write(t.from([e.properties[Q]])),p(oe,q);break}case"int32":{oe.write(t.from([e.properties[Q]])),pe(oe,q);break}case"var":{oe.write(t.from([e.properties[Q]])),L(oe,q);break}case"string":{oe.write(t.from([e.properties[Q]])),$(oe,q);break}case"pair":{Object.getOwnPropertyNames(q).forEach(W=>{const te=q[W];Array.isArray(te)?te.forEach(ee=>{oe.write(t.from([e.properties[Q]])),ae(oe,W.toString(),ee.toString())}):(oe.write(t.from([e.properties[Q]])),ae(oe,W.toString(),te.toString()))});break}default:return oe.destroy(new Error(`Invalid property ${Q} value: ${q}`)),!1}}function N(oe,Q,q){L(oe,q);for(const k in Q)if(Object.prototype.hasOwnProperty.call(Q,k)&&Q[k]!==null){const W=Q[k];if(Array.isArray(W))for(let te=0;tet?1:e>=t?0:NaN}function wO(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function gd(e){let t,r,n;e.length!==2?(t=ga,r=(o,l)=>ga(e(o),l),n=(o,l)=>e(o)-l):(t=e===ga||e===wO?e:vO,r=e,n=e);function s(o,l,u=0,f=o.length){if(u>>1;r(o[d],l)<0?u=d+1:f=d}while(u>>1;r(o[d],l)<=0?u=d+1:f=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:s,center:a,right:i}}function vO(){return 0}function EO(e){return e===null?NaN:+e}const SO=gd(ga),AO=SO.right;gd(EO).center;function AL(e,t){let r,n;if(t===void 0)for(const s of e)s!=null&&(r===void 0?s>=s&&(r=n=s):(r>s&&(r=s),n=i&&(r=n=i):(r>i&&(r=i),n=CO?10:i>=RO?5:i>=OO?2:1;let o,l,u;return s<0?(u=Math.pow(10,-s)/a,o=Math.round(e*u),l=Math.round(t*u),o/ut&&--l,u=-u):(u=Math.pow(10,s)*a,o=Math.round(e/u),l=Math.round(t/u),o*ut&&--l),l0))return[];if(e===t)return[e];const n=t=s))return[];const o=i-s+1,l=new Array(o);if(n)if(a<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let s of e)(s=t(s,++n,e))!=null&&(r=s)&&(r=s)}return r}function MO(e,t,r){e=+e,t=+t,r=(s=arguments.length)<2?(t=e,e=0,1):s<3?1:+r;for(var n=-1,s=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(s);++n+e(t)}function DO(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function UO(){return!this.__axis}function Il(e,t){var r=[],n=null,s=null,i=6,a=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=e===ma||e===$s?-1:1,f=e===$s||e===ya?"x":"y",d=e===ma||e===sh?PO:LO;function p(g){var _=n??(t.ticks?t.ticks.apply(t,r):t.domain()),b=s??(t.tickFormat?t.tickFormat.apply(t,r):NO),E=Math.max(i,0)+o,v=t.range(),S=+v[0]+l,w=+v[v.length-1]+l,C=(t.bandwidth?DO:BO)(t.copy(),l),R=g.selection?g.selection():g,O=R.selectAll(".domain").data([null]),D=R.selectAll(".tick").data(_,t).order(),V=D.exit(),re=D.enter().append("g").attr("class","tick"),G=D.select("line"),X=D.select("text");O=O.merge(O.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),D=D.merge(re),G=G.merge(re.append("line").attr("stroke","currentColor").attr(f+"2",u*i)),X=X.merge(re.append("text").attr("fill","currentColor").attr(f,u*E).attr("dy",e===ma?"0em":e===sh?"0.71em":"0.32em")),g!==R&&(O=O.transition(g),D=D.transition(g),G=G.transition(g),X=X.transition(g),V=V.transition(g).attr("opacity",Rm).attr("transform",function(L){return isFinite(L=C(L))?d(L+l):this.getAttribute("transform")}),re.attr("opacity",Rm).attr("transform",function(L){var $=this.parentNode.__axis;return d(($&&isFinite($=$(L))?$:C(L))+l)})),V.remove(),O.attr("d",e===$s||e===ya?a?"M"+u*a+","+S+"H"+l+"V"+w+"H"+u*a:"M"+l+","+S+"V"+w:a?"M"+S+","+u*a+"V"+l+"H"+w+"V"+u*a:"M"+S+","+l+"H"+w),D.attr("opacity",1).attr("transform",function(L){return d(C(L)+l)}),G.attr(f+"2",u*i),X.attr(f,u*E).text(b),R.filter(UO).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===ya?"start":e===$s?"end":"middle"),R.each(function(){this.__axis=C})}return p.scale=function(g){return arguments.length?(t=g,p):t},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(g){return arguments.length?(r=g==null?[]:Array.from(g),p):r.slice()},p.tickValues=function(g){return arguments.length?(n=g==null?null:Array.from(g),p):n&&n.slice()},p.tickFormat=function(g){return arguments.length?(s=g,p):s},p.tickSize=function(g){return arguments.length?(i=a=+g,p):i},p.tickSizeInner=function(g){return arguments.length?(i=+g,p):i},p.tickSizeOuter=function(g){return arguments.length?(a=+g,p):a},p.tickPadding=function(g){return arguments.length?(o=+g,p):o},p.offset=function(g){return arguments.length?(l=+g,p):l},p}function xL(e){return Il(ma,e)}function IL(e){return Il(ya,e)}function CL(e){return Il(sh,e)}function RL(e){return Il($s,e)}var FO={value:()=>{}};function S0(){for(var e=0,t=arguments.length,r={},n;e=0&&(n=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}_a.prototype=S0.prototype={constructor:_a,on:function(e,t){var r=this._,n=$O(e+"",r),s,i=-1,a=n.length;if(arguments.length<2){for(;++i0)for(var r=new Array(s),n=0,s,i;n=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),km.hasOwnProperty(t)?{space:km[t],local:e}:e}function WO(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===oh&&t.documentElement.namespaceURI===oh?t.createElement(e):t.createElementNS(r,e)}}function HO(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function A0(e){var t=Cl(e);return(t.local?HO:WO)(t)}function VO(){}function md(e){return e==null?VO:function(){return this.querySelector(e)}}function qO(e){typeof e!="function"&&(e=md(e));for(var t=this._groups,r=t.length,n=new Array(r),s=0;s=w&&(w=S+1);!(R=E[w])&&++w<_;);C._next=R||null}}return a=new Kt(a,n),a._enter=o,a._exit=l,a}function ck(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function hk(){return new Kt(this._exit||this._groups.map(C0),this._parents)}function dk(e,t,r){var n=this.enter(),s=this,i=this.exit();return typeof e=="function"?(n=e(n),n&&(n=n.selection())):n=n.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),r==null?i.remove():r(i),n&&s?n.merge(s).order():s}function pk(e){for(var t=e.selection?e.selection():e,r=this._groups,n=t._groups,s=r.length,i=n.length,a=Math.min(s,i),o=new Array(s),l=0;l=0;)(a=n[s])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function mk(e){e||(e=yk);function t(d,p){return d&&p?e(d.__data__,p.__data__):!d-!p}for(var r=this._groups,n=r.length,s=new Array(n),i=0;it?1:e>=t?0:NaN}function _k(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function bk(){return Array.from(this)}function wk(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?kk:typeof t=="function"?Nk:Mk)(e,t,r??"")):ns(this.node(),e)}function ns(e,t){return e.style.getPropertyValue(t)||R0(e).getComputedStyle(e,null).getPropertyValue(t)}function Lk(e){return function(){delete this[e]}}function Bk(e,t){return function(){this[e]=t}}function Dk(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Uk(e,t){return arguments.length>1?this.each((t==null?Lk:typeof t=="function"?Dk:Bk)(e,t)):this.node()[e]}function O0(e){return e.trim().split(/^|\s+/)}function yd(e){return e.classList||new k0(e)}function k0(e){this._node=e,this._names=O0(e.getAttribute("class")||"")}k0.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function M0(e,t){for(var r=yd(e),n=-1,s=t.length;++n=0&&(r=t.slice(n+1),t=t.slice(0,n)),{type:t,name:r}})}function hM(e){return function(){var t=this.__on;if(t){for(var r=0,n=-1,s=t.length,i;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?zo(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?zo(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=vM.exec(e))?new Pt(t[1],t[2],t[3],1):(t=EM.exec(e))?new Pt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=SM.exec(e))?zo(t[1],t[2],t[3],t[4]):(t=AM.exec(e))?zo(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=TM.exec(e))?Um(t[1],t[2]/100,t[3]/100,1):(t=xM.exec(e))?Um(t[1],t[2]/100,t[3]/100,t[4]):Mm.hasOwnProperty(e)?Lm(Mm[e]):e==="transparent"?new Pt(NaN,NaN,NaN,0):null}function Lm(e){return new Pt(e>>16&255,e>>8&255,e&255,1)}function zo(e,t,r,n){return n<=0&&(e=t=r=NaN),new Pt(e,t,r,n)}function RM(e){return e instanceof vo||(e=ui(e)),e?(e=e.rgb(),new Pt(e.r,e.g,e.b,e.opacity)):new Pt}function ah(e,t,r,n){return arguments.length===1?RM(e):new Pt(e,t,r,n??1)}function Pt(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}_d(Pt,ah,B0(vo,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?oo:Math.pow(oo,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pt(ii(this.r),ii(this.g),ii(this.b),Wa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Bm,formatHex:Bm,formatHex8:OM,formatRgb:Dm,toString:Dm}));function Bm(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}`}function OM(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}${Jn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Dm(){const e=Wa(this.opacity);return`${e===1?"rgb(":"rgba("}${ii(this.r)}, ${ii(this.g)}, ${ii(this.b)}${e===1?")":`, ${e})`}`}function Wa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ii(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Jn(e){return e=ii(e),(e<16?"0":"")+e.toString(16)}function Um(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new lr(e,t,r,n)}function D0(e){if(e instanceof lr)return new lr(e.h,e.s,e.l,e.opacity);if(e instanceof vo||(e=ui(e)),!e)return new lr;if(e instanceof lr)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,s=Math.min(t,r,n),i=Math.max(t,r,n),a=NaN,o=i-s,l=(i+s)/2;return o?(t===i?a=(r-n)/o+(r0&&l<1?0:a,new lr(a,o,l,e.opacity)}function kM(e,t,r,n){return arguments.length===1?D0(e):new lr(e,t,r,n??1)}function lr(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}_d(lr,kM,B0(vo,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new lr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?oo:Math.pow(oo,e),new lr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,s=2*r-n;return new Pt(of(e>=240?e-240:e+120,s,n),of(e,s,n),of(e<120?e+240:e-120,s,n),this.opacity)},clamp(){return new lr(Fm(this.h),Go(this.s),Go(this.l),Wa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Wa(this.opacity);return`${e===1?"hsl(":"hsla("}${Fm(this.h)}, ${Go(this.s)*100}%, ${Go(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Fm(e){return e=(e||0)%360,e<0?e+360:e}function Go(e){return Math.max(0,Math.min(1,e||0))}function of(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const bd=e=>()=>e;function MM(e,t){return function(r){return e+r*t}}function NM(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function PM(e){return(e=+e)==1?U0:function(t,r){return r-t?NM(t,r,e):bd(isNaN(t)?r:t)}}function U0(e,t){var r=t-e;return r?MM(e,r):bd(isNaN(e)?t:e)}const Ha=function e(t){var r=PM(t);function n(s,i){var a=r((s=ah(s)).r,(i=ah(i)).r),o=r(s.g,i.g),l=r(s.b,i.b),u=U0(s.opacity,i.opacity);return function(f){return s.r=a(f),s.g=o(f),s.b=l(f),s.opacity=u(f),s+""}}return n.gamma=e,n}(1);function LM(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),s;return function(i){for(s=0;sr&&(i=t.slice(r,i),o[a]?o[a]+=i:o[++a]=i),(n=n[0])===(s=s[0])?o[a]?o[a]+=s:o[++a]=s:(o[++a]=null,l.push({i:a,x:ar(n,s)})),r=af.lastIndex;return r180?f+=360:f-u>180&&(u+=360),p.push({i:d.push(s(d)+"rotate(",null,n)-2,x:ar(u,f)})):f&&d.push(s(d)+"rotate("+f+n)}function o(u,f,d,p){u!==f?p.push({i:d.push(s(d)+"skewX(",null,n)-2,x:ar(u,f)}):f&&d.push(s(d)+"skewX("+f+n)}function l(u,f,d,p,g,_){if(u!==d||f!==p){var b=g.push(s(g)+"scale(",null,",",null,")");_.push({i:b-4,x:ar(u,d)},{i:b-2,x:ar(f,p)})}else(d!==1||p!==1)&&g.push(s(g)+"scale("+d+","+p+")")}return function(u,f){var d=[],p=[];return u=e(u),f=e(f),i(u.translateX,u.translateY,f.translateX,f.translateY,d,p),a(u.rotate,f.rotate,d,p),o(u.skewX,f.skewX,d,p),l(u.scaleX,u.scaleY,f.scaleX,f.scaleY,d,p),u=f=null,function(g){for(var _=-1,b=p.length,E;++_=0&&e._call.call(void 0,t),e=e._next;--is}function jm(){fi=(qa=lo.now())+Rl,is=js=0;try{zM()}finally{is=0,QM(),fi=0}}function GM(){var e=lo.now(),t=e-qa;t>W0&&(Rl-=t,qa=e)}function QM(){for(var e,t=Va,r,n=1/0;t;)t._call?(n>t._time&&(n=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Va=r);Ws=e,fh(n)}function fh(e){if(!is){js&&(js=clearTimeout(js));var t=e-fi;t>24?(e<1/0&&(js=setTimeout(jm,e-lo.now()-Rl)),Ms&&(Ms=clearInterval(Ms))):(Ms||(qa=lo.now(),Ms=setInterval(GM,W0)),is=1,H0(jm))}}function Wm(e,t,r){var n=new Ka;return t=t==null?0:+t,n.restart(s=>{n.stop(),e(s+t)},t,r),n}var XM=S0("start","end","cancel","interrupt"),JM=[],q0=0,Hm=1,ch=2,ba=3,Vm=4,hh=5,wa=6;function Ol(e,t,r,n,s,i){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;ZM(e,r,{name:t,index:n,group:s,on:XM,tween:JM,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:q0})}function Ed(e,t){var r=hr(e,t);if(r.state>q0)throw new Error("too late; already scheduled");return r}function Cr(e,t){var r=hr(e,t);if(r.state>ba)throw new Error("too late; already running");return r}function hr(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function ZM(e,t,r){var n=e.__transition,s;n[t]=r,r.timer=V0(i,0,r.time);function i(u){r.state=Hm,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var f,d,p,g;if(r.state!==Hm)return l();for(f in n)if(g=n[f],g.name===r.name){if(g.state===ba)return Wm(a);g.state===Vm?(g.state=wa,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete n[f]):+fch&&n.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function ON(e,t,r){var n,s,i=RN(t)?Ed:Cr;return function(){var a=i(this,e),o=a.on;o!==n&&(s=(n=o).copy()).on(t,r),a.on=s}}function kN(e,t){var r=this._id;return arguments.length<2?hr(this.node(),r).on.on(e):this.each(ON(r,e,t))}function MN(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function NN(){return this.on("end.remove",MN(this._id))}function PN(e){var t=this._name,r=this._id;typeof e!="function"&&(e=md(e));for(var n=this._groups,s=n.length,i=new Array(s),a=0;a+e;function tP(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var rP={time:null,delay:0,duration:250,ease:tP};function nP(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function iP(e){var t,r;e instanceof Zr?(t=e._id,e=e._name):(t=z0(),(r=rP).time=vd(),e=e==null?null:e+"");for(var n=this._groups,s=n.length,i=0;i=0))throw new Error(`invalid digits: ${e}`);if(t>15)return G0;const r=10**t;return function(n){this._+=n[0];for(let s=1,i=n.length;sVn)if(!(Math.abs(d*l-u*f)>Vn)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let g=n-a,_=s-o,b=l*l+u*u,E=g*g+_*_,v=Math.sqrt(b),S=Math.sqrt(p),w=i*Math.tan((dh-Math.acos((b+p-E)/(2*v*S)))/2),C=w/S,R=w/v;Math.abs(C-1)>Vn&&this._append`L${t+C*f},${r+C*d}`,this._append`A${i},${i},0,0,${+(d*g>f*_)},${this._x1=t+R*l},${this._y1=r+R*u}`}}arc(t,r,n,s,i,a){if(t=+t,r=+r,n=+n,a=!!a,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(s),l=n*Math.sin(s),u=t+o,f=r+l,d=1^a,p=a?s-i:i-s;this._x1===null?this._append`M${u},${f}`:(Math.abs(this._x1-u)>Vn||Math.abs(this._y1-f)>Vn)&&this._append`L${u},${f}`,n&&(p<0&&(p=p%ph+ph),p>sP?this._append`A${n},${n},0,1,${d},${t-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=f}`:p>Vn&&this._append`A${n},${n},0,${+(p>=dh)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+s}h${-n}Z`}toString(){return this._}}function lP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Ya(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function ss(e){return e=Ya(Math.abs(e)),e?e[1]:NaN}function uP(e,t){return function(r,n){for(var s=r.length,i=[],a=0,o=e[0],l=0;s>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),i.push(r.substring(s-=o,s+o)),!((l+=o+1)>n));)o=e[a=(a+1)%e.length];return i.reverse().join(t)}}function fP(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var cP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function za(e){if(!(t=cP.exec(e)))throw new Error("invalid format: "+e);var t;return new Ad({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}za.prototype=Ad.prototype;function Ad(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Ad.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function hP(e){e:for(var t=e.length,r=1,n=-1,s;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(s+1):e}var Q0;function dP(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],s=r[1],i=s-(Q0=Math.max(-8,Math.min(8,Math.floor(s/3)))*3)+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Ya(e,Math.max(0,t+i-1))[0]}function qm(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],s=r[1];return s<0?"0."+new Array(-s).join("0")+n:n.length>s+1?n.slice(0,s+1)+"."+n.slice(s+1):n+new Array(s-n.length+2).join("0")}const Km={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:lP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>qm(e*100,t),r:qm,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ym(e){return e}var zm=Array.prototype.map,Gm=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function pP(e){var t=e.grouping===void 0||e.thousands===void 0?Ym:uP(zm.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",s=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?Ym:fP(zm.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(d){d=za(d);var p=d.fill,g=d.align,_=d.sign,b=d.symbol,E=d.zero,v=d.width,S=d.comma,w=d.precision,C=d.trim,R=d.type;R==="n"?(S=!0,R="g"):Km[R]||(w===void 0&&(w=12),C=!0,R="g"),(E||p==="0"&&g==="=")&&(E=!0,p="0",g="=");var O=b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():"",D=b==="$"?n:/[%p]/.test(R)?a:"",V=Km[R],re=/[defgprs%]/.test(R);w=w===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function G(X){var L=O,$=D,ae,ce,de;if(R==="c")$=V(X)+$,X="";else{X=+X;var pe=X<0||1/X<0;if(X=isNaN(X)?l:V(Math.abs(X),w),C&&(X=hP(X)),pe&&+X==0&&_!=="+"&&(pe=!1),L=(pe?_==="("?_:o:_==="-"||_==="("?"":_)+L,$=(R==="s"?Gm[8+Q0/3]:"")+$+(pe&&_==="("?")":""),re){for(ae=-1,ce=X.length;++aede||de>57){$=(de===46?s+X.slice(ae+1):X.slice(ae))+$,X=X.slice(0,ae);break}}}S&&!E&&(X=t(X,1/0));var z=L.length+X.length+$.length,ge=z>1)+L+X+$+ge.slice(z);break;default:X=ge+L+X+$;break}return i(X)}return G.toString=function(){return d+""},G}function f(d,p){var g=u((d=za(d),d.type="f",d)),_=Math.max(-8,Math.min(8,Math.floor(ss(p)/3)))*3,b=Math.pow(10,-_),E=Gm[8+_/3];return function(v){return g(b*v)+E}}return{format:u,formatPrefix:f}}var Xo,X0,J0;gP({thousands:",",grouping:[3],currency:["$",""]});function gP(e){return Xo=pP(e),X0=Xo.format,J0=Xo.formatPrefix,Xo}function mP(e){return Math.max(0,-ss(Math.abs(e)))}function yP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ss(t)/3)))*3-ss(Math.abs(e)))}function _P(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ss(t)-ss(e))+1}function kl(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}const Qm=Symbol("implicit");function Z0(){var e=new Im,t=[],r=[],n=Qm;function s(i){let a=e.get(i);if(a===void 0){if(n!==Qm)return n;e.set(i,a=t.push(i)-1)}return r[a%r.length]}return s.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new Im;for(const a of i)e.has(a)||e.set(a,t.push(a)-1);return s},s.range=function(i){return arguments.length?(r=Array.from(i),s):r.slice()},s.unknown=function(i){return arguments.length?(n=i,s):n},s.copy=function(){return Z0(t,r).unknown(n)},kl.apply(s,arguments),s}function bP(){var e=Z0().unknown(void 0),t=e.domain,r=e.range,n=0,s=1,i,a,o=!1,l=0,u=0,f=.5;delete e.unknown;function d(){var p=t().length,g=st&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function SP(e,t,r){var n=e[0],s=e[1],i=t[0],a=t[1];return s2?AP:SP,l=u=null,d}function d(p){return p==null||isNaN(p=+p)?i:(l||(l=o(e.map(n),t,r)))(n(a(p)))}return d.invert=function(p){return a(s((u||(u=o(t,e.map(n),ar)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,vP),f()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),f()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=WM,f()},d.clamp=function(p){return arguments.length?(a=p?!0:Di,f()):a!==Di},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,g){return n=p,s=g,f()}}function tv(){return TP()(Di,Di)}function xP(e,t,r,n){var s=ih(e,t,r),i;switch(n=za(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=yP(s,a))&&(n.precision=i),J0(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=_P(s,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=mP(s))&&(n.precision=i-(n.type==="%")*2);break}}return X0(n)}function IP(e){var t=e.domain;return e.ticks=function(r){var n=t();return kO(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var s=t();return xP(s[0],s[s.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),s=0,i=n.length-1,a=n[s],o=n[i],l,u,f=10;for(o0;){if(u=nh(a,o,r),u===l)return n[s]=a,n[i]=o,t(n);if(u>0)a=Math.floor(a/u)*u,o=Math.ceil(o/u)*u;else if(u<0)a=Math.ceil(a*u)/u,o=Math.floor(o*u)/u;else break;l=u}return e},e}function CP(){var e=tv();return e.copy=function(){return ev(e,CP())},kl.apply(e,arguments),IP(e)}function RP(e,t){e=e.slice();var r=0,n=e.length-1,s=e[r],i=e[n],a;return i(e(i=new Date(+i)),i),s.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),s.round=i=>{const a=s(i),o=s.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),s.range=(i,a,o)=>{const l=[];if(i=s.ceil(i),o=o==null?1:Math.floor(o),!(i0))return l;let u;do l.push(u=new Date(+i)),t(i,o),e(i);while(uft(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,o)=>{if(a>=a)if(o<0)for(;++o<=0;)for(;t(a,-1),!i(a););else for(;--o>=0;)for(;t(a,1),!i(a););}),r&&(s.count=(i,a)=>(lf.setTime(+i),uf.setTime(+a),e(lf),e(uf),Math.floor(r(lf,uf))),s.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?s.filter(n?a=>n(a)%i===0:a=>s.count(0,a)%i===0):s)),s}const Ga=ft(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ga.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?ft(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ga);Ga.range;const Vr=1e3,Xt=Vr*60,qr=Xt*60,en=qr*24,Td=en*7,Jm=en*30,ff=en*365,Ui=ft(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Vr)},(e,t)=>(t-e)/Vr,e=>e.getUTCSeconds());Ui.range;const xd=ft(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vr)},(e,t)=>{e.setTime(+e+t*Xt)},(e,t)=>(t-e)/Xt,e=>e.getMinutes());xd.range;const OP=ft(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Xt)},(e,t)=>(t-e)/Xt,e=>e.getUTCMinutes());OP.range;const Id=ft(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vr-e.getMinutes()*Xt)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getHours());Id.range;const kP=ft(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getUTCHours());kP.range;const Eo=ft(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Xt)/en,e=>e.getDate()-1);Eo.range;const Cd=ft(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/en,e=>e.getUTCDate()-1);Cd.range;const MP=ft(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/en,e=>Math.floor(e/en));MP.range;function vi(e){return ft(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Xt)/Td)}const Ml=vi(0),Qa=vi(1),NP=vi(2),PP=vi(3),os=vi(4),LP=vi(5),BP=vi(6);Ml.range;Qa.range;NP.range;PP.range;os.range;LP.range;BP.range;function Ei(e){return ft(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Td)}const rv=Ei(0),Xa=Ei(1),DP=Ei(2),UP=Ei(3),as=Ei(4),FP=Ei(5),$P=Ei(6);rv.range;Xa.range;DP.range;UP.range;as.range;FP.range;$P.range;const Rd=ft(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Rd.range;const jP=ft(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());jP.range;const tn=ft(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());tn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ft(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});tn.range;const ci=ft(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ci.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ft(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ci.range;function WP(e,t,r,n,s,i){const a=[[Ui,1,Vr],[Ui,5,5*Vr],[Ui,15,15*Vr],[Ui,30,30*Vr],[i,1,Xt],[i,5,5*Xt],[i,15,15*Xt],[i,30,30*Xt],[s,1,qr],[s,3,3*qr],[s,6,6*qr],[s,12,12*qr],[n,1,en],[n,2,2*en],[r,1,Td],[t,1,Jm],[t,3,3*Jm],[e,1,ff]];function o(u,f,d){const p=fE).right(a,p);if(g===a.length)return e.every(ih(u/ff,f/ff,d));if(g===0)return Ga.every(Math.max(ih(u,f,d),1));const[_,b]=a[p/a[g-1][2]53)return null;"w"in A||(A.w=1),"Z"in A?(M=hf(Ns(A.y,0,1)),I=M.getUTCDay(),M=I>4||I===0?Xa.ceil(M):Xa(M),M=Cd.offset(M,(A.V-1)*7),A.y=M.getUTCFullYear(),A.m=M.getUTCMonth(),A.d=M.getUTCDate()+(A.w+6)%7):(M=cf(Ns(A.y,0,1)),I=M.getDay(),M=I>4||I===0?Qa.ceil(M):Qa(M),M=Eo.offset(M,(A.V-1)*7),A.y=M.getFullYear(),A.m=M.getMonth(),A.d=M.getDate()+(A.w+6)%7)}else("W"in A||"U"in A)&&("w"in A||(A.w="u"in A?A.u%7:"W"in A?1:0),I="Z"in A?hf(Ns(A.y,0,1)).getUTCDay():cf(Ns(A.y,0,1)).getDay(),A.m=0,A.d="W"in A?(A.w+6)%7+A.W*7-(I+5)%7:A.w+A.U*7-(I+6)%7);return"Z"in A?(A.H+=A.Z/100|0,A.M+=A.Z%100,hf(A)):cf(A)}}function V(W,te,ee,A){for(var T=0,M=te.length,I=ee.length,B,U;T=I)return-1;if(B=te.charCodeAt(T++),B===37){if(B=te.charAt(T++),U=R[B in Zm?te.charAt(T++):B],!U||(A=U(W,ee,A))<0)return-1}else if(B!=ee.charCodeAt(A++))return-1}return A}function re(W,te,ee){var A=u.exec(te.slice(ee));return A?(W.p=f.get(A[0].toLowerCase()),ee+A[0].length):-1}function G(W,te,ee){var A=g.exec(te.slice(ee));return A?(W.w=_.get(A[0].toLowerCase()),ee+A[0].length):-1}function X(W,te,ee){var A=d.exec(te.slice(ee));return A?(W.w=p.get(A[0].toLowerCase()),ee+A[0].length):-1}function L(W,te,ee){var A=v.exec(te.slice(ee));return A?(W.m=S.get(A[0].toLowerCase()),ee+A[0].length):-1}function $(W,te,ee){var A=b.exec(te.slice(ee));return A?(W.m=E.get(A[0].toLowerCase()),ee+A[0].length):-1}function ae(W,te,ee){return V(W,t,te,ee)}function ce(W,te,ee){return V(W,r,te,ee)}function de(W,te,ee){return V(W,n,te,ee)}function pe(W){return a[W.getDay()]}function z(W){return i[W.getDay()]}function ge(W){return l[W.getMonth()]}function Y(W){return o[W.getMonth()]}function he(W){return s[+(W.getHours()>=12)]}function N(W){return 1+~~(W.getMonth()/3)}function ne(W){return a[W.getUTCDay()]}function ye(W){return i[W.getUTCDay()]}function oe(W){return l[W.getUTCMonth()]}function Q(W){return o[W.getUTCMonth()]}function q(W){return s[+(W.getUTCHours()>=12)]}function k(W){return 1+~~(W.getUTCMonth()/3)}return{format:function(W){var te=O(W+="",w);return te.toString=function(){return W},te},parse:function(W){var te=D(W+="",!1);return te.toString=function(){return W},te},utcFormat:function(W){var te=O(W+="",C);return te.toString=function(){return W},te},utcParse:function(W){var te=D(W+="",!0);return te.toString=function(){return W},te}}}var Zm={"-":"",_:" ",0:"0"},ht=/^\s*\d+/,KP=/^%/,YP=/[\\^$*+?|[\]().{}]/g;function $e(e,t,r){var n=e<0?"-":"",s=(n?-e:e)+"",i=s.length;return n+(i[t.toLowerCase(),r]))}function GP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function QP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function XP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function JP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function ZP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function ey(e,t,r){var n=ht.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function ty(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function e2(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function t2(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function r2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function ry(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function n2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function ny(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function i2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function s2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function o2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function a2(e,t,r){var n=ht.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function l2(e,t,r){var n=KP.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function u2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function f2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function iy(e,t){return $e(e.getDate(),t,2)}function c2(e,t){return $e(e.getHours(),t,2)}function h2(e,t){return $e(e.getHours()%12||12,t,2)}function d2(e,t){return $e(1+Eo.count(tn(e),e),t,3)}function nv(e,t){return $e(e.getMilliseconds(),t,3)}function p2(e,t){return nv(e,t)+"000"}function g2(e,t){return $e(e.getMonth()+1,t,2)}function m2(e,t){return $e(e.getMinutes(),t,2)}function y2(e,t){return $e(e.getSeconds(),t,2)}function _2(e){var t=e.getDay();return t===0?7:t}function b2(e,t){return $e(Ml.count(tn(e)-1,e),t,2)}function iv(e){var t=e.getDay();return t>=4||t===0?os(e):os.ceil(e)}function w2(e,t){return e=iv(e),$e(os.count(tn(e),e)+(tn(e).getDay()===4),t,2)}function v2(e){return e.getDay()}function E2(e,t){return $e(Qa.count(tn(e)-1,e),t,2)}function S2(e,t){return $e(e.getFullYear()%100,t,2)}function A2(e,t){return e=iv(e),$e(e.getFullYear()%100,t,2)}function T2(e,t){return $e(e.getFullYear()%1e4,t,4)}function x2(e,t){var r=e.getDay();return e=r>=4||r===0?os(e):os.ceil(e),$e(e.getFullYear()%1e4,t,4)}function I2(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+$e(t/60|0,"0",2)+$e(t%60,"0",2)}function sy(e,t){return $e(e.getUTCDate(),t,2)}function C2(e,t){return $e(e.getUTCHours(),t,2)}function R2(e,t){return $e(e.getUTCHours()%12||12,t,2)}function O2(e,t){return $e(1+Cd.count(ci(e),e),t,3)}function sv(e,t){return $e(e.getUTCMilliseconds(),t,3)}function k2(e,t){return sv(e,t)+"000"}function M2(e,t){return $e(e.getUTCMonth()+1,t,2)}function N2(e,t){return $e(e.getUTCMinutes(),t,2)}function P2(e,t){return $e(e.getUTCSeconds(),t,2)}function L2(e){var t=e.getUTCDay();return t===0?7:t}function B2(e,t){return $e(rv.count(ci(e)-1,e),t,2)}function ov(e){var t=e.getUTCDay();return t>=4||t===0?as(e):as.ceil(e)}function D2(e,t){return e=ov(e),$e(as.count(ci(e),e)+(ci(e).getUTCDay()===4),t,2)}function U2(e){return e.getUTCDay()}function F2(e,t){return $e(Xa.count(ci(e)-1,e),t,2)}function $2(e,t){return $e(e.getUTCFullYear()%100,t,2)}function j2(e,t){return e=ov(e),$e(e.getUTCFullYear()%100,t,2)}function W2(e,t){return $e(e.getUTCFullYear()%1e4,t,4)}function H2(e,t){var r=e.getUTCDay();return e=r>=4||r===0?as(e):as.ceil(e),$e(e.getUTCFullYear()%1e4,t,4)}function V2(){return"+0000"}function oy(){return"%"}function ay(e){return+e}function ly(e){return Math.floor(+e/1e3)}var Ci,av,q2;K2({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function K2(e){return Ci=qP(e),av=Ci.format,q2=Ci.parse,Ci.utcFormat,Ci.utcParse,Ci}function Y2(e){return new Date(e)}function z2(e){return e instanceof Date?+e:+new Date(+e)}function lv(e,t,r,n,s,i,a,o,l,u){var f=tv(),d=f.invert,p=f.domain,g=u(".%L"),_=u(":%S"),b=u("%I:%M"),E=u("%I %p"),v=u("%a %d"),S=u("%b %d"),w=u("%B"),C=u("%Y");function R(O){return(l(O)1?0:e<-1?uo:Math.acos(e)}function fy(e){return e>=1?Ja:e<=-1?-Ja:Math.asin(e)}function Od(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new aP(t)}function X2(e){return e.innerRadius}function J2(e){return e.outerRadius}function Z2(e){return e.startAngle}function eL(e){return e.endAngle}function tL(e){return e&&e.padAngle}function rL(e,t,r,n,s,i,a,o){var l=r-e,u=n-t,f=a-s,d=o-i,p=d*l-f*u;if(!(p*pae*ae+ce*ce&&(V=G,re=X),{cx:V,cy:re,x01:-f,y01:-d,x11:V*(s/R-1),y11:re*(s/R-1)}}function NL(){var e=X2,t=J2,r=Ue(0),n=null,s=Z2,i=eL,a=tL,o=null,l=Od(u);function u(){var f,d,p=+e.apply(this,arguments),g=+t.apply(this,arguments),_=s.apply(this,arguments)-Ja,b=i.apply(this,arguments)-Ja,E=uy(b-_),v=b>_;if(o||(o=f=l()),gMt))o.moveTo(0,0);else if(E>va-Mt)o.moveTo(g*jn(_),g*gr(_)),o.arc(0,0,g,_,b,!v),p>Mt&&(o.moveTo(p*jn(b),p*gr(b)),o.arc(0,0,p,b,_,v));else{var S=_,w=b,C=_,R=b,O=E,D=E,V=a.apply(this,arguments)/2,re=V>Mt&&(n?+n.apply(this,arguments):Fi(p*p+g*g)),G=df(uy(g-p)/2,+r.apply(this,arguments)),X=G,L=G,$,ae;if(re>Mt){var ce=fy(re/p*gr(V)),de=fy(re/g*gr(V));(O-=ce*2)>Mt?(ce*=v?1:-1,C+=ce,R-=ce):(O=0,C=R=(_+b)/2),(D-=de*2)>Mt?(de*=v?1:-1,S+=de,w-=de):(D=0,S=w=(_+b)/2)}var pe=g*jn(S),z=g*gr(S),ge=p*jn(R),Y=p*gr(R);if(G>Mt){var he=g*jn(w),N=g*gr(w),ne=p*jn(C),ye=p*gr(C),oe;if(EMt?L>Mt?($=Jo(ne,ye,pe,z,g,L,v),ae=Jo(he,N,ge,Y,g,L,v),o.moveTo($.cx+$.x01,$.cy+$.y01),LMt)||!(O>Mt)?o.lineTo(ge,Y):X>Mt?($=Jo(ge,Y,he,N,p,-X,v),ae=Jo(pe,z,ne,ye,p,-X,v),o.lineTo($.cx+$.x01,$.cy+$.y01),X=g;--_)o.point(w[_],C[_]);o.lineEnd(),o.areaEnd()}v&&(w[p]=+e(E,p,d),C[p]=+t(E,p,d),o.point(n?+n(E,p,d):w[p],r?+r(E,p,d):C[p]))}if(S)return o=null,S+""||null}function f(){return nL().defined(s).curve(a).context(i)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Ue(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Ue(+d),u):r},u.lineX0=u.lineY0=function(){return f().x(e).y(t)},u.lineY1=function(){return f().x(e).y(r)},u.lineX1=function(){return f().x(n).y(t)},u.defined=function(d){return arguments.length?(s=typeof d=="function"?d:Ue(!!d),u):s},u.curve=function(d){return arguments.length?(a=d,i!=null&&(o=a(i)),u):a},u.context=function(d){return arguments.length?(d==null?i=o=null:o=a(i=d),u):i},u}function iL(e,t){return te?1:t>=e?0:NaN}function sL(e){return e}function LL(){var e=sL,t=iL,r=null,n=Ue(0),s=Ue(va),i=Ue(0);function a(o){var l,u=(o=Nl(o)).length,f,d,p=0,g=new Array(u),_=new Array(u),b=+n.apply(this,arguments),E=Math.min(va,Math.max(-va,s.apply(this,arguments)-b)),v,S=Math.min(Math.abs(E)/u,i.apply(this,arguments)),w=S*(E<0?-1:1),C;for(l=0;l0&&(p+=C);for(t!=null?g.sort(function(R,O){return t(_[R],_[O])}):r!=null&&g.sort(function(R,O){return r(o[R],o[O])}),l=0,d=p?(E-u*w)/p:0;l0?C*d:0)+w,_[f]={data:o[f],index:l,value:C,startAngle:b,endAngle:v,padAngle:S};return _}return a.value=function(o){return arguments.length?(e=typeof o=="function"?o:Ue(+o),a):e},a.sortValues=function(o){return arguments.length?(t=o,r=null,a):t},a.sort=function(o){return arguments.length?(r=o,t=null,a):r},a.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ue(+o),a):n},a.endAngle=function(o){return arguments.length?(s=typeof o=="function"?o:Ue(+o),a):s},a.padAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ue(+o),a):i},a}function cy(e,t){if((a=e.length)>1)for(var r=1,n,s,i=e[t[0]],a,o=i.length;r=0;)r[t]=t;return r}function oL(e,t){return e[t]}function aL(e){const t=[];return t.key=e,t}function BL(){var e=Ue([]),t=hy,r=cy,n=oL;function s(i){var a=Array.from(e.apply(this,arguments),aL),o,l=a.length,u=-1,f;for(const d of i)for(o=0,++u;o{throw TypeError(e)};var gv=(e,t,r)=>t in e?pv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var tt=(e,t,r)=>gv(e,typeof t!="symbol"?t+"":t,r),Dl=(e,t,r)=>t.has(e)||Ld("Cannot "+r);var ce=(e,t,r)=>(Dl(e,t,"read from private field"),r?r.call(e):t.get(e)),Fe=(e,t,r)=>t.has(e)?Ld("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Le=(e,t,r,n)=>(Dl(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Ne=(e,t,r)=>(Dl(e,t,"access private method"),r);var Ss=(e,t,r,n)=>({set _(o){Le(e,t,o,r)},get _(){return ce(e,t,n)}});const oi=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{};/** -* @vue/shared v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function mh(e){const t=Object.create(null);for(const r of e.split(","))t[r]=1;return r=>r in t}const Ye={},$i=[],wr=()=>{},mv=()=>!1,Za=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),yh=e=>e.startsWith("onUpdate:"),At=Object.assign,_h=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},yv=Object.prototype.hasOwnProperty,We=(e,t)=>yv.call(e,t),Be=Array.isArray,ji=e=>fs(e)==="[object Map]",el=e=>fs(e)==="[object Set]",Bd=e=>fs(e)==="[object Date]",De=e=>typeof e=="function",lt=e=>typeof e=="string",ur=e=>typeof e=="symbol",Qe=e=>e!==null&&typeof e=="object",dy=e=>(Qe(e)||De(e))&&De(e.then)&&De(e.catch),py=Object.prototype.toString,fs=e=>py.call(e),_v=e=>fs(e).slice(8,-1),gy=e=>fs(e)==="[object Object]",bh=e=>lt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,qo=mh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tl=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},bv=/-(\w)/g,_n=tl(e=>e.replace(bv,(t,r)=>r?r.toUpperCase():"")),wv=/\B([A-Z])/g,hi=tl(e=>e.replace(wv,"-$1").toLowerCase()),my=tl(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ul=tl(e=>e?`on${my(e)}`:""),yn=(e,t)=>!Object.is(e,t),Js=(e,...t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:r})},dc=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Dd;const rl=()=>Dd||(Dd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof oi<"u"?oi:{});function wh(e){if(Be(e)){const t={};for(let r=0;r{if(r){const n=r.split(Ev);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function vh(e){let t="";if(lt(e))t=e;else if(Be(e))for(let r=0;rnl(r,t))}const wy=e=>!!(e&&e.__v_isRef===!0),Cv=e=>lt(e)?e:e==null?"":Be(e)||Qe(e)&&(e.toString===py||!De(e.toString))?wy(e)?Cv(e.value):JSON.stringify(e,vy,2):String(e),vy=(e,t)=>wy(t)?vy(e,t.value):ji(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,o],i)=>(r[Fl(n,i)+" =>"]=o,r),{})}:el(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>Fl(r))}:ur(t)?Fl(t):Qe(t)&&!Be(t)&&!gy(t)?String(t):t,Fl=(e,t="")=>{var r;return ur(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};/** -* @vue/reactivity v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ft;class Rv{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ft,!t&&Ft&&(this.index=(Ft.scopes||(Ft.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t0)return;if(Yo){let t=Yo;for(Yo=void 0;t;){const r=t.next;t.next=void 0,t.flags&=-9,t=r}}let e;for(;Ko;){let t=Ko;for(Ko=void 0;t;){const r=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=r}}if(e)throw e}function Ty(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xy(e){let t,r=e.depsTail,n=r;for(;n;){const o=n.prevDep;n.version===-1?(n===r&&(r=o),Ah(n),kv(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=r}function pc(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Iy(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Iy(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===es))return;e.globalVersion=es;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!pc(e)){e.flags&=-3;return}const r=Ge,n=lr;Ge=e,lr=!0;try{Ty(e);const o=e.fn(e._value);(t.version===0||yn(o,e._value))&&(e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Ge=r,lr=n,xy(e),e.flags&=-3}}function Ah(e,t=!1){const{dep:r,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),r.subs===e&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let i=r.computed.deps;i;i=i.nextDep)Ah(i,!0)}!t&&!--r.sc&&r.map&&r.map.delete(r.key)}function kv(e){const{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}let lr=!0;const Cy=[];function Sn(){Cy.push(lr),lr=!1}function An(){const e=Cy.pop();lr=e===void 0?!0:e}function Ud(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const r=Ge;Ge=void 0;try{t()}finally{Ge=r}}}let es=0;class Mv{constructor(t,r){this.sub=t,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Th{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!Ge||!lr||Ge===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Ge)r=this.activeLink=new Mv(Ge,this),Ge.deps?(r.prevDep=Ge.depsTail,Ge.depsTail.nextDep=r,Ge.depsTail=r):Ge.deps=Ge.depsTail=r,Ry(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Ge.depsTail,r.nextDep=void 0,Ge.depsTail.nextDep=r,Ge.depsTail=r,Ge.deps===r&&(Ge.deps=n)}return r}trigger(t){this.version++,es++,this.notify(t)}notify(t){Eh();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{Sh()}}}function Ry(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ry(n)}const r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subs=e}}const gc=new WeakMap,Zn=Symbol(""),mc=Symbol(""),ts=Symbol("");function wt(e,t,r){if(lr&&Ge){let n=gc.get(e);n||gc.set(e,n=new Map);let o=n.get(r);o||(n.set(r,o=new Th),o.map=n,o.key=r),o.track()}}function Ur(e,t,r,n,o,i){const a=gc.get(e);if(!a){es++;return}const s=l=>{l&&l.trigger()};if(Eh(),t==="clear")a.forEach(s);else{const l=Be(e),u=l&&bh(r);if(l&&r==="length"){const c=Number(n);a.forEach((d,p)=>{(p==="length"||p===ts||!ur(p)&&p>=c)&&s(d)})}else switch((r!==void 0||a.has(void 0))&&s(a.get(r)),u&&s(a.get(ts)),t){case"add":l?u&&s(a.get("length")):(s(a.get(Zn)),ji(e)&&s(a.get(mc)));break;case"delete":l||(s(a.get(Zn)),ji(e)&&s(a.get(mc)));break;case"set":ji(e)&&s(a.get(Zn));break}}Sh()}function Ai(e){const t=je(e);return t===e?t:(wt(t,"iterate",ts),Xt(e)?t:t.map(vt))}function il(e){return wt(e=je(e),"iterate",ts),e}const Nv={__proto__:null,[Symbol.iterator](){return jl(this,Symbol.iterator,vt)},concat(...e){return Ai(this).concat(...e.map(t=>Be(t)?Ai(t):t))},entries(){return jl(this,"entries",e=>(e[1]=vt(e[1]),e))},every(e,t){return Rr(this,"every",e,t,void 0,arguments)},filter(e,t){return Rr(this,"filter",e,t,r=>r.map(vt),arguments)},find(e,t){return Rr(this,"find",e,t,vt,arguments)},findIndex(e,t){return Rr(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Rr(this,"findLast",e,t,vt,arguments)},findLastIndex(e,t){return Rr(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Rr(this,"forEach",e,t,void 0,arguments)},includes(...e){return Wl(this,"includes",e)},indexOf(...e){return Wl(this,"indexOf",e)},join(e){return Ai(this).join(e)},lastIndexOf(...e){return Wl(this,"lastIndexOf",e)},map(e,t){return Rr(this,"map",e,t,void 0,arguments)},pop(){return wo(this,"pop")},push(...e){return wo(this,"push",e)},reduce(e,...t){return Fd(this,"reduce",e,t)},reduceRight(e,...t){return Fd(this,"reduceRight",e,t)},shift(){return wo(this,"shift")},some(e,t){return Rr(this,"some",e,t,void 0,arguments)},splice(...e){return wo(this,"splice",e)},toReversed(){return Ai(this).toReversed()},toSorted(e){return Ai(this).toSorted(e)},toSpliced(...e){return Ai(this).toSpliced(...e)},unshift(...e){return wo(this,"unshift",e)},values(){return jl(this,"values",vt)}};function jl(e,t,r){const n=il(e),o=n[t]();return n!==e&&!Xt(e)&&(o._next=o.next,o.next=()=>{const i=o._next();return i.value&&(i.value=r(i.value)),i}),o}const Pv=Array.prototype;function Rr(e,t,r,n,o,i){const a=il(e),s=a!==e&&!Xt(e),l=a[t];if(l!==Pv[t]){const d=l.apply(e,i);return s?vt(d):d}let u=r;a!==e&&(s?u=function(d,p){return r.call(this,vt(d),p,e)}:r.length>2&&(u=function(d,p){return r.call(this,d,p,e)}));const c=l.call(a,u,n);return s&&o?o(c):c}function Fd(e,t,r,n){const o=il(e);let i=r;return o!==e&&(Xt(e)?r.length>3&&(i=function(a,s,l){return r.call(this,a,s,l,e)}):i=function(a,s,l){return r.call(this,a,vt(s),l,e)}),o[t](i,...n)}function Wl(e,t,r){const n=je(e);wt(n,"iterate",ts);const o=n[t](...r);return(o===-1||o===!1)&&Rh(r[0])?(r[0]=je(r[0]),n[t](...r)):o}function wo(e,t,r=[]){Sn(),Eh();const n=je(e)[t].apply(e,r);return Sh(),An(),n}const Lv=mh("__proto__,__v_isRef,__isVue"),Oy=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ur));function Bv(e){ur(e)||(e=String(e));const t=je(this);return wt(t,"has",e),t.hasOwnProperty(e)}class ky{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,n){if(r==="__v_skip")return t.__v_skip;const o=this._isReadonly,i=this._isShallow;if(r==="__v_isReactive")return!o;if(r==="__v_isReadonly")return o;if(r==="__v_isShallow")return i;if(r==="__v_raw")return n===(o?i?Kv:Ly:i?Py:Ny).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Be(t);if(!o){let l;if(a&&(l=Nv[r]))return l;if(r==="hasOwnProperty")return Bv}const s=Reflect.get(t,r,St(t)?t:n);return(ur(r)?Oy.has(r):Lv(r))||(o||wt(t,"get",r),i)?s:St(s)?a&&bh(r)?s:s.value:Qe(s)?o?By(s):Ih(s):s}}class My extends ky{constructor(t=!1){super(!1,t)}set(t,r,n,o){let i=t[r];if(!this._isShallow){const l=si(i);if(!Xt(n)&&!si(n)&&(i=je(i),n=je(n)),!Be(t)&&St(i)&&!St(n))return l?!1:(i.value=n,!0)}const a=Be(t)&&bh(r)?Number(r)e,As=e=>Reflect.getPrototypeOf(e);function jv(e,t,r){return function(...n){const o=this.__v_raw,i=je(o),a=ji(i),s=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,u=o[e](...n),c=r?yc:t?_c:vt;return!t&&wt(i,"iterate",l?mc:Zn),{next(){const{value:d,done:p}=u.next();return p?{value:d,done:p}:{value:s?[c(d[0]),c(d[1])]:c(d),done:p}},[Symbol.iterator](){return this}}}}function Ts(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Wv(e,t){const r={get(o){const i=this.__v_raw,a=je(i),s=je(o);e||(yn(o,s)&&wt(a,"get",o),wt(a,"get",s));const{has:l}=As(a),u=t?yc:e?_c:vt;if(l.call(a,o))return u(i.get(o));if(l.call(a,s))return u(i.get(s));i!==a&&i.get(o)},get size(){const o=this.__v_raw;return!e&&wt(je(o),"iterate",Zn),Reflect.get(o,"size",o)},has(o){const i=this.__v_raw,a=je(i),s=je(o);return e||(yn(o,s)&&wt(a,"has",o),wt(a,"has",s)),o===s?i.has(o):i.has(o)||i.has(s)},forEach(o,i){const a=this,s=a.__v_raw,l=je(s),u=t?yc:e?_c:vt;return!e&&wt(l,"iterate",Zn),s.forEach((c,d)=>o.call(i,u(c),u(d),a))}};return At(r,e?{add:Ts("add"),set:Ts("set"),delete:Ts("delete"),clear:Ts("clear")}:{add(o){!t&&!Xt(o)&&!si(o)&&(o=je(o));const i=je(this);return As(i).has.call(i,o)||(i.add(o),Ur(i,"add",o,o)),this},set(o,i){!t&&!Xt(i)&&!si(i)&&(i=je(i));const a=je(this),{has:s,get:l}=As(a);let u=s.call(a,o);u||(o=je(o),u=s.call(a,o));const c=l.call(a,o);return a.set(o,i),u?yn(i,c)&&Ur(a,"set",o,i):Ur(a,"add",o,i),this},delete(o){const i=je(this),{has:a,get:s}=As(i);let l=a.call(i,o);l||(o=je(o),l=a.call(i,o)),s&&s.call(i,o);const u=i.delete(o);return l&&Ur(i,"delete",o,void 0),u},clear(){const o=je(this),i=o.size!==0,a=o.clear();return i&&Ur(o,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(o=>{r[o]=jv(o,e,t)}),r}function xh(e,t){const r=Wv(e,t);return(n,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(We(r,o)&&o in n?r:n,o,i)}const Hv={get:xh(!1,!1)},Vv={get:xh(!1,!0)},qv={get:xh(!0,!1)};const Ny=new WeakMap,Py=new WeakMap,Ly=new WeakMap,Kv=new WeakMap;function Yv(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zv(e){return e.__v_skip||!Object.isExtensible(e)?0:Yv(_v(e))}function Ih(e){return si(e)?e:Ch(e,!1,Uv,Hv,Ny)}function Gv(e){return Ch(e,!1,$v,Vv,Py)}function By(e){return Ch(e,!0,Fv,qv,Ly)}function Ch(e,t,r,n,o){if(!Qe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=o.get(e);if(i)return i;const a=zv(e);if(a===0)return e;const s=new Proxy(e,a===2?n:r);return o.set(e,s),s}function Wi(e){return si(e)?Wi(e.__v_raw):!!(e&&e.__v_isReactive)}function si(e){return!!(e&&e.__v_isReadonly)}function Xt(e){return!!(e&&e.__v_isShallow)}function Rh(e){return e?!!e.__v_raw:!1}function je(e){const t=e&&e.__v_raw;return t?je(t):e}function Qv(e){return!We(e,"__v_skip")&&Object.isExtensible(e)&&yy(e,"__v_skip",!0),e}const vt=e=>Qe(e)?Ih(e):e,_c=e=>Qe(e)?By(e):e;function St(e){return e?e.__v_isRef===!0:!1}function uL(e){return Xv(e,!1)}function Xv(e,t){return St(e)?e:new Jv(e,t)}class Jv{constructor(t,r){this.dep=new Th,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?t:je(t),this._value=r?t:vt(t),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(t){const r=this._rawValue,n=this.__v_isShallow||Xt(t)||si(t);t=n?t:je(t),yn(t,r)&&(this._rawValue=t,this._value=n?t:vt(t),this.dep.trigger())}}function Zv(e){return St(e)?e.value:e}const eE={get:(e,t,r)=>t==="__v_raw"?e:Zv(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const o=e[t];return St(o)&&!St(r)?(o.value=r,!0):Reflect.set(e,t,r,n)}};function Dy(e){return Wi(e)?e:new Proxy(e,eE)}class tE{constructor(t,r,n){this.fn=t,this.setter=r,this._value=void 0,this.dep=new Th(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=es-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ge!==this)return Ay(this,!0),!0}get value(){const t=this.dep.track();return Iy(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function rE(e,t,r=!1){let n,o;return De(e)?n=e:(n=e.get,o=e.set),new tE(n,o,r)}const xs={},Ea=new WeakMap;let jn;function nE(e,t=!1,r=jn){if(r){let n=Ea.get(r);n||Ea.set(r,n=[]),n.push(e)}}function iE(e,t,r=Ye){const{immediate:n,deep:o,once:i,scheduler:a,augmentJob:s,call:l}=r,u=C=>o?C:Xt(C)||o===!1||o===0?Fr(C,1):Fr(C);let c,d,p,g,_=!1,b=!1;if(St(e)?(d=()=>e.value,_=Xt(e)):Wi(e)?(d=()=>u(e),_=!0):Be(e)?(b=!0,_=e.some(C=>Wi(C)||Xt(C)),d=()=>e.map(C=>{if(St(C))return C.value;if(Wi(C))return u(C);if(De(C))return l?l(C,2):C()})):De(e)?t?d=l?()=>l(e,2):e:d=()=>{if(p){Sn();try{p()}finally{An()}}const C=jn;jn=c;try{return l?l(e,3,[g]):e(g)}finally{jn=C}}:d=wr,t&&o){const C=d,R=o===!0?1/0:o;d=()=>Fr(C(),R)}const E=Ov(),v=()=>{c.stop(),E&&E.active&&_h(E.effects,c)};if(i&&t){const C=t;t=(...R)=>{C(...R),v()}}let S=b?new Array(e.length).fill(xs):xs;const w=C=>{if(!(!(c.flags&1)||!c.dirty&&!C))if(t){const R=c.run();if(o||_||(b?R.some((O,D)=>yn(O,S[D])):yn(R,S))){p&&p();const O=jn;jn=c;try{const D=[R,S===xs?void 0:b&&S[0]===xs?[]:S,g];l?l(t,3,D):t(...D),S=R}finally{jn=O}}}else c.run()};return s&&s(w),c=new Ey(d),c.scheduler=a?()=>a(w,!1):w,g=C=>nE(C,!1,c),p=c.onStop=()=>{const C=Ea.get(c);if(C){if(l)l(C,4);else for(const R of C)R();Ea.delete(c)}},t?n?w(!0):S=c.run():a?a(w.bind(null,!0),!0):c.run(),v.pause=c.pause.bind(c),v.resume=c.resume.bind(c),v.stop=v,v}function Fr(e,t=1/0,r){if(t<=0||!Qe(e)||e.__v_skip||(r=r||new Set,r.has(e)))return e;if(r.add(e),t--,St(e))Fr(e.value,t,r);else if(Be(e))for(let n=0;n{Fr(n,t,r)});else if(gy(e)){for(const n in e)Fr(e[n],t,r);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Fr(e[n],t,r)}return e}/** -* @vue/runtime-core v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function hs(e,t,r,n){try{return n?e(...n):e()}catch(o){ol(o,t,r)}}function Tr(e,t,r,n){if(De(e)){const o=hs(e,t,r,n);return o&&dy(o)&&o.catch(i=>{ol(i,t,r)}),o}if(Be(e)){const o=[];for(let i=0;i>>1,o=xt[n],i=rs(o);i=rs(r)?xt.push(e):xt.splice(aE(t),0,e),e.flags|=1,Fy()}}function Fy(){Sa||(Sa=Uy.then(jy))}function lE(e){Be(e)?Hi.push(...e):gn&&e.id===-1?gn.splice(Ri+1,0,e):e.flags&1||(Hi.push(e),e.flags|=1),Fy()}function $d(e,t,r=mr+1){for(;rrs(r)-rs(n));if(Hi.length=0,gn){gn.push(...t);return}for(gn=t,Ri=0;Rie.id==null?e.flags&2?-1:1/0:e.id;function jy(e){try{for(mr=0;mr{n._d&&Gd(-1);const i=Aa(t);let a;try{a=e(...o)}finally{Aa(i),n._d&&Gd(1)}return a};return n._n=!0,n._c=!0,n._d=!0,n}function cL(e,t){if(Et===null)return e;const r=ul(Et),n=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport;function kh(e,t){e.shapeFlag&6&&e.component?(e.transition=t,kh(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}/*! #__NO_SIDE_EFFECTS__ */function fL(e,t){return De(e)?At({name:e.name},t,{setup:e}):e}function Hy(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ta(e,t,r,n,o=!1){if(Be(e)){e.forEach((_,b)=>Ta(_,t&&(Be(t)?t[b]:t),r,n,o));return}if(Vi(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ta(e,t,r,n.component.subTree);return}const i=n.shapeFlag&4?ul(n.component):n.el,a=o?null:i,{i:s,r:l}=e,u=t&&t.r,c=s.refs===Ye?s.refs={}:s.refs,d=s.setupState,p=je(d),g=d===Ye?()=>!1:_=>We(p,_);if(u!=null&&u!==l&&(lt(u)?(c[u]=null,g(u)&&(d[u]=null)):St(u)&&(u.value=null)),De(l))hs(l,s,12,[a,c]);else{const _=lt(l),b=St(l);if(_||b){const E=()=>{if(e.f){const v=_?g(l)?d[l]:c[l]:l.value;o?Be(v)&&_h(v,i):Be(v)?v.includes(i)||v.push(i):_?(c[l]=[i],g(l)&&(d[l]=c[l])):(l.value=[i],e.k&&(c[e.k]=l.value))}else _?(c[l]=a,g(l)&&(d[l]=a)):b&&(l.value=a,e.k&&(c[e.k]=a))};a?(E.id=-1,Ut(E,r)):E()}}}rl().requestIdleCallback;rl().cancelIdleCallback;const Vi=e=>!!e.type.__asyncLoader,Vy=e=>e.type.__isKeepAlive;function hE(e,t){qy(e,"a",t)}function dE(e,t){qy(e,"da",t)}function qy(e,t,r=It){const n=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(sl(t,n,r),r){let o=r.parent;for(;o&&o.parent;)Vy(o.parent.vnode)&&pE(n,t,r,o),o=o.parent}}function pE(e,t,r,n){const o=sl(t,e,n,!0);Ky(()=>{_h(n[t],o)},r)}function sl(e,t,r=It,n=!1){if(r){const o=r[e]||(r[e]=[]),i=t.__weh||(t.__weh=(...a)=>{Sn();const s=ds(r),l=Tr(t,r,e,a);return s(),An(),l});return n?o.unshift(i):o.push(i),i}}const tn=e=>(t,r=It)=>{(!is||e==="sp")&&sl(e,(...n)=>t(...n),r)},gE=tn("bm"),mE=tn("m"),yE=tn("bu"),_E=tn("u"),bE=tn("bum"),Ky=tn("um"),wE=tn("sp"),vE=tn("rtg"),EE=tn("rtc");function SE(e,t=It){sl("ec",e,t)}const AE=Symbol.for("v-ndc");function hL(e,t,r,n){let o;const i=r,a=Be(e);if(a||lt(e)){const s=a&&Wi(e);let l=!1;s&&(l=!Xt(e),e=il(e)),o=new Array(e.length);for(let u=0,c=e.length;ut(s,l,void 0,i));else{const s=Object.keys(e);o=new Array(s.length);for(let l=0,u=s.length;lPh(t)?!(t.type===bn||t.type===Gt&&!Yy(t.children)):!0)?e:null}const bc=e=>e?p_(e)?ul(e):bc(e.parent):null,zo=At(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>bc(e.parent),$root:e=>bc(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gy(e),$forceUpdate:e=>e.f||(e.f=()=>{Oh(e.update)}),$nextTick:e=>e.n||(e.n=sE.bind(e.proxy)),$watch:e=>KE.bind(e)}),Hl=(e,t)=>e!==Ye&&!e.__isScriptSetup&&We(e,t),TE={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:r,setupState:n,data:o,props:i,accessCache:a,type:s,appContext:l}=e;let u;if(t[0]!=="$"){const g=a[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return o[t];case 4:return r[t];case 3:return i[t]}else{if(Hl(n,t))return a[t]=1,n[t];if(o!==Ye&&We(o,t))return a[t]=2,o[t];if((u=e.propsOptions[0])&&We(u,t))return a[t]=3,i[t];if(r!==Ye&&We(r,t))return a[t]=4,r[t];wc&&(a[t]=0)}}const c=zo[t];let d,p;if(c)return t==="$attrs"&&wt(e.attrs,"get",""),c(e);if((d=s.__cssModules)&&(d=d[t]))return d;if(r!==Ye&&We(r,t))return a[t]=4,r[t];if(p=l.config.globalProperties,We(p,t))return p[t]},set({_:e},t,r){const{data:n,setupState:o,ctx:i}=e;return Hl(o,t)?(o[t]=r,!0):n!==Ye&&We(n,t)?(n[t]=r,!0):We(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:o,propsOptions:i}},a){let s;return!!r[a]||e!==Ye&&We(e,a)||Hl(t,a)||(s=i[0])&&We(s,a)||We(n,a)||We(zo,a)||We(o.config.globalProperties,a)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:We(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function jd(e){return Be(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let wc=!0;function xE(e){const t=Gy(e),r=e.proxy,n=e.ctx;wc=!1,t.beforeCreate&&Wd(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:a,watch:s,provide:l,inject:u,created:c,beforeMount:d,mounted:p,beforeUpdate:g,updated:_,activated:b,deactivated:E,beforeDestroy:v,beforeUnmount:S,destroyed:w,unmounted:C,render:R,renderTracked:O,renderTriggered:D,errorCaptured:V,serverPrefetch:re,expose:G,inheritAttrs:X,components:L,directives:$,filters:ae}=t;if(u&&IE(u,n,null),a)for(const pe in a){const z=a[pe];De(z)&&(n[pe]=z.bind(r))}if(o){const pe=o.call(r,r);Qe(pe)&&(e.data=Ih(pe))}if(wc=!0,i)for(const pe in i){const z=i[pe],ge=De(z)?z.bind(r,r):De(z.get)?z.get.bind(r,r):wr,Y=!De(z)&&De(z.set)?z.set.bind(r):wr,he=d1({get:ge,set:Y});Object.defineProperty(n,pe,{enumerable:!0,configurable:!0,get:()=>he.value,set:N=>he.value=N})}if(s)for(const pe in s)zy(s[pe],n,r,pe);if(l){const pe=De(l)?l.call(r):l;Reflect.ownKeys(pe).forEach(z=>{NE(z,pe[z])})}c&&Wd(c,e,"c");function de(pe,z){Be(z)?z.forEach(ge=>pe(ge.bind(r))):z&&pe(z.bind(r))}if(de(gE,d),de(mE,p),de(yE,g),de(_E,_),de(hE,b),de(dE,E),de(SE,V),de(EE,O),de(vE,D),de(bE,S),de(Ky,C),de(wE,re),Be(G))if(G.length){const pe=e.exposed||(e.exposed={});G.forEach(z=>{Object.defineProperty(pe,z,{get:()=>r[z],set:ge=>r[z]=ge})})}else e.exposed||(e.exposed={});R&&e.render===wr&&(e.render=R),X!=null&&(e.inheritAttrs=X),L&&(e.components=L),$&&(e.directives=$),re&&Hy(e)}function IE(e,t,r=wr){Be(e)&&(e=vc(e));for(const n in e){const o=e[n];let i;Qe(o)?"default"in o?i=Zs(o.from||n,o.default,!0):i=Zs(o.from||n):i=Zs(o),St(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[n]=i}}function Wd(e,t,r){Tr(Be(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function zy(e,t,r,n){let o=n.includes(".")?l_(r,n):()=>r[n];if(lt(e)){const i=t[e];De(i)&&ql(o,i)}else if(De(e))ql(o,e.bind(r));else if(Qe(e))if(Be(e))e.forEach(i=>zy(i,t,r,n));else{const i=De(e.handler)?e.handler.bind(r):t[e.handler];De(i)&&ql(o,i,e)}}function Gy(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,s=i.get(t);let l;return s?l=s:!o.length&&!r&&!n?l=t:(l={},o.length&&o.forEach(u=>xa(l,u,a,!0)),xa(l,t,a)),Qe(t)&&i.set(t,l),l}function xa(e,t,r,n=!1){const{mixins:o,extends:i}=t;i&&xa(e,i,r,!0),o&&o.forEach(a=>xa(e,a,r,!0));for(const a in t)if(!(n&&a==="expose")){const s=CE[a]||r&&r[a];e[a]=s?s(e[a],t[a]):t[a]}return e}const CE={data:Hd,props:Vd,emits:Vd,methods:Do,computed:Do,beforeCreate:Tt,created:Tt,beforeMount:Tt,mounted:Tt,beforeUpdate:Tt,updated:Tt,beforeDestroy:Tt,beforeUnmount:Tt,destroyed:Tt,unmounted:Tt,activated:Tt,deactivated:Tt,errorCaptured:Tt,serverPrefetch:Tt,components:Do,directives:Do,watch:OE,provide:Hd,inject:RE};function Hd(e,t){return t?e?function(){return At(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function RE(e,t){return Do(vc(e),vc(t))}function vc(e){if(Be(e)){const t={};for(let r=0;r1)return r&&De(t)?t.call(n&&n.proxy):t}}const Xy={},Jy=()=>Object.create(Xy),Zy=e=>Object.getPrototypeOf(e)===Xy;function PE(e,t,r,n=!1){const o={},i=Jy();e.propsDefaults=Object.create(null),e_(e,t,o,i);for(const a in e.propsOptions[0])a in o||(o[a]=void 0);r?e.props=n?o:Gv(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function LE(e,t,r,n){const{props:o,attrs:i,vnode:{patchFlag:a}}=e,s=je(o),[l]=e.propsOptions;let u=!1;if((n||a>0)&&!(a&16)){if(a&8){const c=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[p,g]=t_(d,t,!0);At(a,p),g&&s.push(...g)};!r&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!l)return Qe(e)&&n.set(e,$i),$i;if(Be(i))for(let c=0;ce[0]==="_"||e==="$stable",Mh=e=>Be(e)?e.map(yr):[yr(e)],DE=(e,t,r)=>{if(t._n)return t;const n=uE((...o)=>Mh(t(...o)),r);return n._c=!1,n},n_=(e,t,r)=>{const n=e._ctx;for(const o in e){if(r_(o))continue;const i=e[o];if(De(i))t[o]=DE(o,i,n);else if(i!=null){const a=Mh(i);t[o]=()=>a}}},i_=(e,t)=>{const r=Mh(t);e.slots.default=()=>r},o_=(e,t,r)=>{for(const n in t)(r||n!=="_")&&(e[n]=t[n])},UE=(e,t,r)=>{const n=e.slots=Jy();if(e.vnode.shapeFlag&32){const o=t._;o?(o_(n,t,r),r&&yy(n,"_",o,!0)):n_(t,n)}else t&&i_(e,t)},FE=(e,t,r)=>{const{vnode:n,slots:o}=e;let i=!0,a=Ye;if(n.shapeFlag&32){const s=t._;s?r&&s===1?i=!1:o_(o,t,r):(i=!t.$stable,n_(t,o)),a=t}else t&&(i_(e,t),a={default:1});if(i)for(const s in o)!r_(s)&&a[s]==null&&delete o[s]},Ut=ZE;function $E(e){return jE(e)}function jE(e,t){const r=rl();r.__VUE__=!0;const{insert:n,remove:o,patchProp:i,createElement:a,createText:s,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:p,setScopeId:g=wr,insertStaticContent:_}=e,b=(A,T,M,I=null,B=null,U=null,Z=void 0,j=null,F=!!T.dynamicChildren)=>{if(A===T)return;A&&!vo(A,T)&&(I=q(A),N(A,B,U,!0),A=null),T.patchFlag===-2&&(F=!1,T.dynamicChildren=null);const{type:K,ref:P,shapeFlag:J}=T;switch(K){case ll:E(A,T,M,I);break;case bn:v(A,T,M,I);break;case Kl:A==null&&S(T,M,I,Z);break;case Gt:L(A,T,M,I,B,U,Z,j,F);break;default:J&1?R(A,T,M,I,B,U,Z,j,F):J&6?$(A,T,M,I,B,U,Z,j,F):(J&64||J&128)&&K.process(A,T,M,I,B,U,Z,j,F,te)}P!=null&&B&&Ta(P,A&&A.ref,U,T||A,!T)},E=(A,T,M,I)=>{if(A==null)n(T.el=s(T.children),M,I);else{const B=T.el=A.el;T.children!==A.children&&u(B,T.children)}},v=(A,T,M,I)=>{A==null?n(T.el=l(T.children||""),M,I):T.el=A.el},S=(A,T,M,I)=>{[A.el,A.anchor]=_(A.children,T,M,I,A.el,A.anchor)},w=({el:A,anchor:T},M,I)=>{let B;for(;A&&A!==T;)B=p(A),n(A,M,I),A=B;n(T,M,I)},C=({el:A,anchor:T})=>{let M;for(;A&&A!==T;)M=p(A),o(A),A=M;o(T)},R=(A,T,M,I,B,U,Z,j,F)=>{T.type==="svg"?Z="svg":T.type==="math"&&(Z="mathml"),A==null?O(T,M,I,B,U,Z,j,F):re(A,T,B,U,Z,j,F)},O=(A,T,M,I,B,U,Z,j)=>{let F,K;const{props:P,shapeFlag:J,transition:le,dirs:me}=A;if(F=A.el=a(A.type,U,P&&P.is,P),J&8?c(F,A.children):J&16&&V(A.children,F,null,I,B,Vl(A,U),Z,j),me&&Mn(A,null,I,"created"),D(F,A,A.scopeId,Z,I),P){for(const h in P)h!=="value"&&!qo(h)&&i(F,h,null,P[h],U,I);"value"in P&&i(F,"value",null,P.value,U),(K=P.onVnodeBeforeMount)&&hr(K,I,A)}me&&Mn(A,null,I,"beforeMount");const y=WE(B,le);y&&le.beforeEnter(F),n(F,T,M),((K=P&&P.onVnodeMounted)||y||me)&&Ut(()=>{K&&hr(K,I,A),y&&le.enter(F),me&&Mn(A,null,I,"mounted")},B)},D=(A,T,M,I,B)=>{if(M&&g(A,M),I)for(let U=0;U{for(let K=F;K{const j=T.el=A.el;let{patchFlag:F,dynamicChildren:K,dirs:P}=T;F|=A.patchFlag&16;const J=A.props||Ye,le=T.props||Ye;let me;if(M&&Nn(M,!1),(me=le.onVnodeBeforeUpdate)&&hr(me,M,T,A),P&&Mn(T,A,M,"beforeUpdate"),M&&Nn(M,!0),(J.innerHTML&&le.innerHTML==null||J.textContent&&le.textContent==null)&&c(j,""),K?G(A.dynamicChildren,K,j,M,I,Vl(T,B),U):Z||z(A,T,j,null,M,I,Vl(T,B),U,!1),F>0){if(F&16)X(j,J,le,M,B);else if(F&2&&J.class!==le.class&&i(j,"class",null,le.class,B),F&4&&i(j,"style",J.style,le.style,B),F&8){const y=T.dynamicProps;for(let h=0;h{me&&hr(me,M,T,A),P&&Mn(T,A,M,"updated")},I)},G=(A,T,M,I,B,U,Z)=>{for(let j=0;j{if(T!==M){if(T!==Ye)for(const U in T)!qo(U)&&!(U in M)&&i(A,U,T[U],null,B,I);for(const U in M){if(qo(U))continue;const Z=M[U],j=T[U];Z!==j&&U!=="value"&&i(A,U,j,Z,B,I)}"value"in M&&i(A,"value",T.value,M.value,B)}},L=(A,T,M,I,B,U,Z,j,F)=>{const K=T.el=A?A.el:s(""),P=T.anchor=A?A.anchor:s("");let{patchFlag:J,dynamicChildren:le,slotScopeIds:me}=T;me&&(j=j?j.concat(me):me),A==null?(n(K,M,I),n(P,M,I),V(T.children||[],M,P,B,U,Z,j,F)):J>0&&J&64&&le&&A.dynamicChildren?(G(A.dynamicChildren,le,M,B,U,Z,j),(T.key!=null||B&&T===B.subTree)&&s_(A,T,!0)):z(A,T,M,P,B,U,Z,j,F)},$=(A,T,M,I,B,U,Z,j,F)=>{T.slotScopeIds=j,A==null?T.shapeFlag&512?B.ctx.activate(T,M,I,Z,F):ae(T,M,I,B,U,Z,F):fe(A,T,F)},ae=(A,T,M,I,B,U,Z)=>{const j=A.component=a1(A,I,B);if(Vy(A)&&(j.ctx.renderer=te),l1(j,!1,Z),j.asyncDep){if(B&&B.registerDep(j,de,Z),!A.el){const F=j.subTree=vr(bn);v(null,F,T,M)}}else de(j,A,T,M,B,U,Z)},fe=(A,T,M)=>{const I=T.component=A.component;if(XE(A,T,M))if(I.asyncDep&&!I.asyncResolved){pe(I,T,M);return}else I.next=T,I.update();else T.el=A.el,I.vnode=T},de=(A,T,M,I,B,U,Z)=>{const j=()=>{if(A.isMounted){let{next:J,bu:le,u:me,parent:y,vnode:h}=A;{const oe=a_(A);if(oe){J&&(J.el=h.el,pe(A,J,Z)),oe.asyncDep.then(()=>{A.isUnmounted||j()});return}}let f=J,m;Nn(A,!1),J?(J.el=h.el,pe(A,J,Z)):J=h,le&&Js(le),(m=J.props&&J.props.onVnodeBeforeUpdate)&&hr(m,y,J,h),Nn(A,!0);const x=Yd(A),H=A.subTree;A.subTree=x,b(H,x,d(H.el),q(H),A,B,U),J.el=x.el,f===null&&JE(A,x.el),me&&Ut(me,B),(m=J.props&&J.props.onVnodeUpdated)&&Ut(()=>hr(m,y,J,h),B)}else{let J;const{el:le,props:me}=T,{bm:y,m:h,parent:f,root:m,type:x}=A,H=Vi(T);Nn(A,!1),y&&Js(y),!H&&(J=me&&me.onVnodeBeforeMount)&&hr(J,f,T),Nn(A,!0);{m.ce&&m.ce._injectChildStyle(x);const oe=A.subTree=Yd(A);b(null,oe,M,I,A,B,U),T.el=oe.el}if(h&&Ut(h,B),!H&&(J=me&&me.onVnodeMounted)){const oe=T;Ut(()=>hr(J,f,oe),B)}(T.shapeFlag&256||f&&Vi(f.vnode)&&f.vnode.shapeFlag&256)&&A.a&&Ut(A.a,B),A.isMounted=!0,T=M=I=null}};A.scope.on();const F=A.effect=new Ey(j);A.scope.off();const K=A.update=F.run.bind(F),P=A.job=F.runIfDirty.bind(F);P.i=A,P.id=A.uid,F.scheduler=()=>Oh(P),Nn(A,!0),K()},pe=(A,T,M)=>{T.component=A;const I=A.vnode.props;A.vnode=T,A.next=null,LE(A,T.props,I,M),FE(A,T.children,M),Sn(),$d(A),An()},z=(A,T,M,I,B,U,Z,j,F=!1)=>{const K=A&&A.children,P=A?A.shapeFlag:0,J=T.children,{patchFlag:le,shapeFlag:me}=T;if(le>0){if(le&128){Y(K,J,M,I,B,U,Z,j,F);return}else if(le&256){ge(K,J,M,I,B,U,Z,j,F);return}}me&8?(P&16&&Q(K,B,U),J!==K&&c(M,J)):P&16?me&16?Y(K,J,M,I,B,U,Z,j,F):Q(K,B,U,!0):(P&8&&c(M,""),me&16&&V(J,M,I,B,U,Z,j,F))},ge=(A,T,M,I,B,U,Z,j,F)=>{A=A||$i,T=T||$i;const K=A.length,P=T.length,J=Math.min(K,P);let le;for(le=0;leP?Q(A,B,U,!0,!1,J):V(T,M,I,B,U,Z,j,F,J)},Y=(A,T,M,I,B,U,Z,j,F)=>{let K=0;const P=T.length;let J=A.length-1,le=P-1;for(;K<=J&&K<=le;){const me=A[K],y=T[K]=F?mn(T[K]):yr(T[K]);if(vo(me,y))b(me,y,M,null,B,U,Z,j,F);else break;K++}for(;K<=J&&K<=le;){const me=A[J],y=T[le]=F?mn(T[le]):yr(T[le]);if(vo(me,y))b(me,y,M,null,B,U,Z,j,F);else break;J--,le--}if(K>J){if(K<=le){const me=le+1,y=mele)for(;K<=J;)N(A[K],B,U,!0),K++;else{const me=K,y=K,h=new Map;for(K=y;K<=le;K++){const Re=T[K]=F?mn(T[K]):yr(T[K]);Re.key!=null&&h.set(Re.key,K)}let f,m=0;const x=le-y+1;let H=!1,oe=0;const _e=new Array(x);for(K=0;K=x){N(Re,B,U,!0);continue}let Te;if(Re.key!=null)Te=h.get(Re.key);else for(f=y;f<=le;f++)if(_e[f-y]===0&&vo(Re,T[f])){Te=f;break}Te===void 0?N(Re,B,U,!0):(_e[Te-y]=K+1,Te>=oe?oe=Te:H=!0,b(Re,T[Te],M,null,B,U,Z,j,F),m++)}const xe=H?HE(_e):$i;for(f=xe.length-1,K=x-1;K>=0;K--){const Re=y+K,Te=T[Re],ke=Re+1{const{el:U,type:Z,transition:j,children:F,shapeFlag:K}=A;if(K&6){he(A.component.subTree,T,M,I);return}if(K&128){A.suspense.move(T,M,I);return}if(K&64){Z.move(A,T,M,te);return}if(Z===Gt){n(U,T,M);for(let J=0;Jj.enter(U),B);else{const{leave:J,delayLeave:le,afterLeave:me}=j,y=()=>n(U,T,M),h=()=>{J(U,()=>{y(),me&&me()})};le?le(U,y,h):h()}else n(U,T,M)},N=(A,T,M,I=!1,B=!1)=>{const{type:U,props:Z,ref:j,children:F,dynamicChildren:K,shapeFlag:P,patchFlag:J,dirs:le,cacheIndex:me}=A;if(J===-2&&(B=!1),j!=null&&Ta(j,null,M,A,!0),me!=null&&(T.renderCache[me]=void 0),P&256){T.ctx.deactivate(A);return}const y=P&1&&le,h=!Vi(A);let f;if(h&&(f=Z&&Z.onVnodeBeforeUnmount)&&hr(f,T,A),P&6)se(A.component,M,I);else{if(P&128){A.suspense.unmount(M,I);return}y&&Mn(A,null,T,"beforeUnmount"),P&64?A.type.remove(A,T,M,te,I):K&&!K.hasOnce&&(U!==Gt||J>0&&J&64)?Q(K,T,M,!1,!0):(U===Gt&&J&384||!B&&P&16)&&Q(F,T,M),I&&ne(A)}(h&&(f=Z&&Z.onVnodeUnmounted)||y)&&Ut(()=>{f&&hr(f,T,A),y&&Mn(A,null,T,"unmounted")},M)},ne=A=>{const{type:T,el:M,anchor:I,transition:B}=A;if(T===Gt){ye(M,I);return}if(T===Kl){C(A);return}const U=()=>{o(M),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(A.shapeFlag&1&&B&&!B.persisted){const{leave:Z,delayLeave:j}=B,F=()=>Z(M,U);j?j(A.el,U,F):F()}else U()},ye=(A,T)=>{let M;for(;A!==T;)M=p(A),o(A),A=M;o(T)},se=(A,T,M)=>{const{bum:I,scope:B,job:U,subTree:Z,um:j,m:F,a:K}=A;Kd(F),Kd(K),I&&Js(I),B.stop(),U&&(U.flags|=8,N(Z,A,T,M)),j&&Ut(j,T),Ut(()=>{A.isUnmounted=!0},T),T&&T.pendingBranch&&!T.isUnmounted&&A.asyncDep&&!A.asyncResolved&&A.suspenseId===T.pendingId&&(T.deps--,T.deps===0&&T.resolve())},Q=(A,T,M,I=!1,B=!1,U=0)=>{for(let Z=U;Z{if(A.shapeFlag&6)return q(A.component.subTree);if(A.shapeFlag&128)return A.suspense.next();const T=p(A.anchor||A.el),M=T&&T[cE];return M?p(M):T};let k=!1;const W=(A,T,M)=>{A==null?T._vnode&&N(T._vnode,null,null,!0):b(T._vnode||null,A,T,null,null,null,M),T._vnode=A,k||(k=!0,$d(),$y(),k=!1)},te={p:b,um:N,m:he,r:ne,mt:ae,mc:V,pc:z,pbc:G,n:q,o:e};return{render:W,hydrate:void 0,createApp:ME(W)}}function Vl({type:e,props:t},r){return r==="svg"&&e==="foreignObject"||r==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function Nn({effect:e,job:t},r){r?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function WE(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function s_(e,t,r=!1){const n=e.children,o=t.children;if(Be(n)&&Be(o))for(let i=0;i>1,e[r[s]]0&&(t[n]=r[i-1]),r[i]=n)}}for(i=r.length,a=r[i-1];i-- >0;)r[i]=a,a=t[a];return r}function a_(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:a_(t)}function Kd(e){if(e)for(let t=0;tZs(VE);function pL(e,t){return Nh(e,null,t)}function ql(e,t,r){return Nh(e,t,r)}function Nh(e,t,r=Ye){const{immediate:n,deep:o,flush:i,once:a}=r,s=At({},r),l=t&&n||!t&&i!=="post";let u;if(is){if(i==="sync"){const g=qE();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!l){const g=()=>{};return g.stop=wr,g.resume=wr,g.pause=wr,g}}const c=It;s.call=(g,_,b)=>Tr(g,c,_,b);let d=!1;i==="post"?s.scheduler=g=>{Ut(g,c&&c.suspense)}:i!=="sync"&&(d=!0,s.scheduler=(g,_)=>{_?g():Oh(g)}),s.augmentJob=g=>{t&&(g.flags|=4),d&&(g.flags|=2,c&&(g.id=c.uid,g.i=c))};const p=iE(e,t,s);return is&&(u?u.push(p):l&&p()),p}function KE(e,t,r){const n=this.proxy,o=lt(e)?e.includes(".")?l_(n,e):()=>n[e]:e.bind(n,n);let i;De(t)?i=t:(i=t.handler,r=t);const a=ds(this),s=Nh(o,i.bind(n),r);return a(),s}function l_(e,t){const r=t.split(".");return()=>{let n=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_n(t)}Modifiers`]||e[`${hi(t)}Modifiers`];function zE(e,t,...r){if(e.isUnmounted)return;const n=e.vnode.props||Ye;let o=r;const i=t.startsWith("update:"),a=i&&YE(n,t.slice(7));a&&(a.trim&&(o=r.map(c=>lt(c)?c.trim():c)),a.number&&(o=r.map(dc)));let s,l=n[s=Ul(t)]||n[s=Ul(_n(t))];!l&&i&&(l=n[s=Ul(hi(t))]),l&&Tr(l,e,6,o);const u=n[s+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,Tr(u,e,6,o)}}function u_(e,t,r=!1){const n=t.emitsCache,o=n.get(e);if(o!==void 0)return o;const i=e.emits;let a={},s=!1;if(!De(e)){const l=u=>{const c=u_(u,t,!0);c&&(s=!0,At(a,c))};!r&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!s?(Qe(e)&&n.set(e,null),null):(Be(i)?i.forEach(l=>a[l]=null):At(a,i),Qe(e)&&n.set(e,a),a)}function al(e,t){return!e||!Za(t)?!1:(t=t.slice(2).replace(/Once$/,""),We(e,t[0].toLowerCase()+t.slice(1))||We(e,hi(t))||We(e,t))}function Yd(e){const{type:t,vnode:r,proxy:n,withProxy:o,propsOptions:[i],slots:a,attrs:s,emit:l,render:u,renderCache:c,props:d,data:p,setupState:g,ctx:_,inheritAttrs:b}=e,E=Aa(e);let v,S;try{if(r.shapeFlag&4){const C=o||n,R=C;v=yr(u.call(R,C,c,d,g,p,_)),S=s}else{const C=t;v=yr(C.length>1?C(d,{attrs:s,slots:a,emit:l}):C(d,null)),S=t.props?s:GE(s)}}catch(C){Go.length=0,ol(C,e,1),v=vr(bn)}let w=v;if(S&&b!==!1){const C=Object.keys(S),{shapeFlag:R}=w;C.length&&R&7&&(i&&C.some(yh)&&(S=QE(S,i)),w=Gi(w,S,!1,!0))}return r.dirs&&(w=Gi(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(r.dirs):r.dirs),r.transition&&kh(w,r.transition),v=w,Aa(E),v}const GE=e=>{let t;for(const r in e)(r==="class"||r==="style"||Za(r))&&((t||(t={}))[r]=e[r]);return t},QE=(e,t)=>{const r={};for(const n in e)(!yh(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function XE(e,t,r){const{props:n,children:o,component:i}=e,{props:a,children:s,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&l>=0){if(l&1024)return!0;if(l&16)return n?zd(n,a,u):!!a;if(l&8){const c=t.dynamicProps;for(let d=0;de.__isSuspense;function ZE(e,t){t&&t.pendingBranch?Be(e)?t.effects.push(...e):t.effects.push(e):lE(e)}const Gt=Symbol.for("v-fgt"),ll=Symbol.for("v-txt"),bn=Symbol.for("v-cmt"),Kl=Symbol.for("v-stc"),Go=[];let jt=null;function Sc(e=!1){Go.push(jt=e?null:[])}function e1(){Go.pop(),jt=Go[Go.length-1]||null}let ns=1;function Gd(e,t=!1){ns+=e,e<0&&jt&&t&&(jt.hasOnce=!0)}function f_(e){return e.dynamicChildren=ns>0?jt||$i:null,e1(),ns>0&&jt&&jt.push(e),e}function gL(e,t,r,n,o,i){return f_(d_(e,t,r,n,o,i,!0))}function Ac(e,t,r,n,o){return f_(vr(e,t,r,n,o,!0))}function Ph(e){return e?e.__v_isVNode===!0:!1}function vo(e,t){return e.type===t.type&&e.key===t.key}const h_=({key:e})=>e??null,ea=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?lt(e)||St(e)||De(e)?{i:Et,r:e,k:t,f:!!r}:e:null);function d_(e,t=null,r=null,n=0,o=null,i=e===Gt?0:1,a=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&h_(t),ref:t&&ea(t),scopeId:Wy,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Et};return s?(Lh(l,r),i&128&&e.normalize(l)):r&&(l.shapeFlag|=lt(r)?8:16),ns>0&&!a&&jt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&jt.push(l),l}const vr=t1;function t1(e,t=null,r=null,n=0,o=null,i=!1){if((!e||e===AE)&&(e=bn),Ph(e)){const s=Gi(e,t,!0);return r&&Lh(s,r),ns>0&&!i&&jt&&(s.shapeFlag&6?jt[jt.indexOf(e)]=s:jt.push(s)),s.patchFlag=-2,s}if(h1(e)&&(e=e.__vccOpts),t){t=r1(t);let{class:s,style:l}=t;s&&!lt(s)&&(t.class=vh(s)),Qe(l)&&(Rh(l)&&!Be(l)&&(l=At({},l)),t.style=wh(l))}const a=lt(e)?1:c_(e)?128:fE(e)?64:Qe(e)?4:De(e)?2:0;return d_(e,t,r,n,o,a,i,!0)}function r1(e){return e?Rh(e)||Zy(e)?At({},e):e:null}function Gi(e,t,r=!1,n=!1){const{props:o,ref:i,patchFlag:a,children:s,transition:l}=e,u=t?i1(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&h_(u),ref:t&&t.ref?r&&i?Be(i)?i.concat(ea(t)):[i,ea(t)]:ea(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Gt?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gi(e.ssContent),ssFallback:e.ssFallback&&Gi(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&kh(c,l.clone(c)),c}function n1(e=" ",t=0){return vr(ll,null,e,t)}function mL(e="",t=!1){return t?(Sc(),Ac(bn,null,e)):vr(bn,null,e)}function yr(e){return e==null||typeof e=="boolean"?vr(bn):Be(e)?vr(Gt,null,e.slice()):Ph(e)?mn(e):vr(ll,null,String(e))}function mn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Gi(e)}function Lh(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Be(t))r=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),Lh(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!Zy(t)?t._ctx=Et:o===3&&Et&&(Et.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else De(t)?(t={default:t,_ctx:Et},r=32):(t=String(t),n&64?(r=16,t=[n1(t)]):r=8);e.children=t,e.shapeFlag|=r}function i1(...e){const t={};for(let r=0;r{let o;return(o=e[r])||(o=e[r]=[]),o.push(n),i=>{o.length>1?o.forEach(a=>a(i)):o[0](i)}};Ia=t("__VUE_INSTANCE_SETTERS__",r=>It=r),Tc=t("__VUE_SSR_SETTERS__",r=>is=r)}const ds=e=>{const t=It;return Ia(e),e.scope.on(),()=>{e.scope.off(),Ia(t)}},Qd=()=>{It&&It.scope.off(),Ia(null)};function p_(e){return e.vnode.shapeFlag&4}let is=!1;function l1(e,t=!1,r=!1){t&&Tc(t);const{props:n,children:o}=e.vnode,i=p_(e);PE(e,n,i,t),UE(e,o,r);const a=i?u1(e,t):void 0;return t&&Tc(!1),a}function u1(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,TE);const{setup:n}=r;if(n){Sn();const o=e.setupContext=n.length>1?f1(e):null,i=ds(e),a=hs(n,e,0,[e.props,o]),s=dy(a);if(An(),i(),(s||e.sp)&&!Vi(e)&&Hy(e),s){if(a.then(Qd,Qd),t)return a.then(l=>{Xd(e,l)}).catch(l=>{ol(l,e,0)});e.asyncDep=a}else Xd(e,a)}else g_(e)}function Xd(e,t,r){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Qe(t)&&(e.setupState=Dy(t)),g_(e)}function g_(e,t,r){const n=e.type;e.render||(e.render=n.render||wr);{const o=ds(e);Sn();try{xE(e)}finally{An(),o()}}}const c1={get(e,t){return wt(e,"get",""),e[t]}};function f1(e){const t=r=>{e.exposed=r||{}};return{attrs:new Proxy(e.attrs,c1),slots:e.slots,emit:e.emit,expose:t}}function ul(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Dy(Qv(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in zo)return zo[r](e)},has(t,r){return r in t||r in zo}})):e.proxy}function h1(e){return De(e)&&"__vccOpts"in e}const d1=(e,t)=>rE(e,t,is),p1="3.5.13";/** -* @vue/runtime-dom v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let xc;const Jd=typeof window<"u"&&window.trustedTypes;if(Jd)try{xc=Jd.createPolicy("vue",{createHTML:e=>e})}catch{}const m_=xc?e=>xc.createHTML(e):e=>e,g1="http://www.w3.org/2000/svg",m1="http://www.w3.org/1998/Math/MathML",Pr=typeof document<"u"?document:null,Zd=Pr&&Pr.createElement("template"),y1={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const o=t==="svg"?Pr.createElementNS(g1,e):t==="mathml"?Pr.createElementNS(m1,e):r?Pr.createElement(e,{is:r}):Pr.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>Pr.createTextNode(e),createComment:e=>Pr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Pr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,o,i){const a=r?r.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===i||!(o=o.nextSibling)););else{Zd.innerHTML=m_(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const s=Zd.content;if(n==="svg"||n==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,r)}return[a?a.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},_1=Symbol("_vtc");function b1(e,t,r){const n=e[_1];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const Ca=Symbol("_vod"),y_=Symbol("_vsh"),yL={beforeMount(e,{value:t},{transition:r}){e[Ca]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):Eo(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:n}){!t!=!r&&(n?t?(n.beforeEnter(e),Eo(e,!0),n.enter(e)):n.leave(e,()=>{Eo(e,!1)}):Eo(e,t))},beforeUnmount(e,{value:t}){Eo(e,t)}};function Eo(e,t){e.style.display=t?e[Ca]:"none",e[y_]=!t}const w1=Symbol(""),v1=/(^|;)\s*display\s*:/;function E1(e,t,r){const n=e.style,o=lt(r);let i=!1;if(r&&!o){if(t)if(lt(t))for(const a of t.split(";")){const s=a.slice(0,a.indexOf(":")).trim();r[s]==null&&ta(n,s,"")}else for(const a in t)r[a]==null&&ta(n,a,"");for(const a in r)a==="display"&&(i=!0),ta(n,a,r[a])}else if(o){if(t!==r){const a=n[w1];a&&(r+=";"+a),n.cssText=r,i=v1.test(r)}}else t&&e.removeAttribute("style");Ca in e&&(e[Ca]=i?n.display:"",e[y_]&&(n.display="none"))}const ep=/\s*!important$/;function ta(e,t,r){if(Be(r))r.forEach(n=>ta(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=S1(e,t);ep.test(r)?e.setProperty(hi(n),r.replace(ep,""),"important"):e[n]=r}}const tp=["Webkit","Moz","ms"],Yl={};function S1(e,t){const r=Yl[t];if(r)return r;let n=_n(t);if(n!=="filter"&&n in e)return Yl[t]=n;n=my(n);for(let o=0;ozl||(I1.then(()=>zl=0),zl=Date.now());function R1(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;Tr(O1(n,r.value),t,5,[n])};return r.value=e,r.attached=C1(),r}function O1(e,t){if(Be(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const ap=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,k1=(e,t,r,n,o,i)=>{const a=o==="svg";t==="class"?b1(e,n,a):t==="style"?E1(e,r,n):Za(t)?yh(t)||T1(e,t,r,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):M1(e,t,n,a))?(ip(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&np(e,t,n,a,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!lt(n))?ip(e,_n(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),np(e,t,n,a))};function M1(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&ap(t)&&De(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return ap(t)&<(r)?!1:t in e}const Ra=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Be(t)?r=>Js(t,r):t};function N1(e){e.target.composing=!0}function lp(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ki=Symbol("_assign"),_L={created(e,{modifiers:{lazy:t,trim:r,number:n}},o){e[Ki]=Ra(o);const i=n||o.props&&o.props.type==="number";Vn(e,t?"change":"input",a=>{if(a.target.composing)return;let s=e.value;r&&(s=s.trim()),i&&(s=dc(s)),e[Ki](s)}),r&&Vn(e,"change",()=>{e.value=e.value.trim()}),t||(Vn(e,"compositionstart",N1),Vn(e,"compositionend",lp),Vn(e,"change",lp))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:n,trim:o,number:i}},a){if(e[Ki]=Ra(a),e.composing)return;const s=(i||e.type==="number")&&!/^0\d/.test(e.value)?dc(e.value):e.value,l=t??"";s!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===r||o&&e.value.trim()===l)||(e.value=l))}},bL={deep:!0,created(e,t,r){e[Ki]=Ra(r),Vn(e,"change",()=>{const n=e._modelValue,o=P1(e),i=e.checked,a=e[Ki];if(Be(n)){const s=by(n,o),l=s!==-1;if(i&&!l)a(n.concat(o));else if(!i&&l){const u=[...n];u.splice(s,1),a(u)}}else if(el(n)){const s=new Set(n);i?s.add(o):s.delete(o),a(s)}else a(__(e,i))})},mounted:up,beforeUpdate(e,t,r){e[Ki]=Ra(r),up(e,t,r)}};function up(e,{value:t,oldValue:r},n){e._modelValue=t;let o;if(Be(t))o=by(t,n.props.value)>-1;else if(el(t))o=t.has(n.props.value);else{if(t===r)return;o=nl(t,__(e,!0))}e.checked!==o&&(e.checked=o)}function P1(e){return"_value"in e?e._value:e.value}function __(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const L1=At({patchProp:k1},y1);let cp;function B1(){return cp||(cp=$E(L1))}const wL=(...e)=>{const t=B1().createApp(...e),{mount:r}=t;return t.mount=n=>{const o=U1(n);if(!o)return;const i=t._component;!De(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const a=r(o,!1,D1(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),a},t};function D1(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function U1(e){return lt(e)?document.querySelector(e):e}var Ct="top",Wt="bottom",Ht="right",Rt="left",cl="auto",lo=[Ct,Wt,Ht,Rt],ai="start",Qi="end",b_="clippingParents",Bh="viewport",Oi="popper",w_="reference",Ic=lo.reduce(function(e,t){return e.concat([t+"-"+ai,t+"-"+Qi])},[]),Dh=[].concat(lo,[cl]).reduce(function(e,t){return e.concat([t,t+"-"+ai,t+"-"+Qi])},[]),v_="beforeRead",E_="read",S_="afterRead",A_="beforeMain",T_="main",x_="afterMain",I_="beforeWrite",C_="write",R_="afterWrite",O_=[v_,E_,S_,A_,T_,x_,I_,C_,R_];function xr(e){return e?(e.nodeName||"").toLowerCase():null}function Vt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function li(e){var t=Vt(e).Element;return e instanceof t||e instanceof Element}function Jt(e){var t=Vt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Uh(e){if(typeof ShadowRoot>"u")return!1;var t=Vt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function F1(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var n=t.styles[r]||{},o=t.attributes[r]||{},i=t.elements[r];!Jt(i)||!xr(i)||(Object.assign(i.style,n),Object.keys(o).forEach(function(a){var s=o[a];s===!1?i.removeAttribute(a):i.setAttribute(a,s===!0?"":s)}))})}function $1(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(n){var o=t.elements[n],i=t.attributes[n]||{},a=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:r[n]),s=a.reduce(function(l,u){return l[u]="",l},{});!Jt(o)||!xr(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(l){o.removeAttribute(l)}))})}}const Fh={name:"applyStyles",enabled:!0,phase:"write",fn:F1,effect:$1,requires:["computeStyles"]};function Er(e){return e.split("-")[0]}var ei=Math.max,Oa=Math.min,Xi=Math.round;function Cc(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function k_(){return!/^((?!chrome|android).)*safari/i.test(Cc())}function Ji(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var n=e.getBoundingClientRect(),o=1,i=1;t&&Jt(e)&&(o=e.offsetWidth>0&&Xi(n.width)/e.offsetWidth||1,i=e.offsetHeight>0&&Xi(n.height)/e.offsetHeight||1);var a=li(e)?Vt(e):window,s=a.visualViewport,l=!k_()&&r,u=(n.left+(l&&s?s.offsetLeft:0))/o,c=(n.top+(l&&s?s.offsetTop:0))/i,d=n.width/o,p=n.height/i;return{width:d,height:p,top:c,right:u+d,bottom:c+p,left:u,x:u,y:c}}function $h(e){var t=Ji(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}function M_(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Uh(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yr(e){return Vt(e).getComputedStyle(e)}function j1(e){return["table","td","th"].indexOf(xr(e))>=0}function Tn(e){return((li(e)?e.ownerDocument:e.document)||window.document).documentElement}function fl(e){return xr(e)==="html"?e:e.assignedSlot||e.parentNode||(Uh(e)?e.host:null)||Tn(e)}function fp(e){return!Jt(e)||Yr(e).position==="fixed"?null:e.offsetParent}function W1(e){var t=/firefox/i.test(Cc()),r=/Trident/i.test(Cc());if(r&&Jt(e)){var n=Yr(e);if(n.position==="fixed")return null}var o=fl(e);for(Uh(o)&&(o=o.host);Jt(o)&&["html","body"].indexOf(xr(o))<0;){var i=Yr(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function ps(e){for(var t=Vt(e),r=fp(e);r&&j1(r)&&Yr(r).position==="static";)r=fp(r);return r&&(xr(r)==="html"||xr(r)==="body"&&Yr(r).position==="static")?t:r||W1(e)||t}function jh(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Qo(e,t,r){return ei(e,Oa(t,r))}function H1(e,t,r){var n=Qo(e,t,r);return n>r?r:n}function N_(){return{top:0,right:0,bottom:0,left:0}}function P_(e){return Object.assign({},N_(),e)}function L_(e,t){return t.reduce(function(r,n){return r[n]=e,r},{})}var V1=function(t,r){return t=typeof t=="function"?t(Object.assign({},r.rects,{placement:r.placement})):t,P_(typeof t!="number"?t:L_(t,lo))};function q1(e){var t,r=e.state,n=e.name,o=e.options,i=r.elements.arrow,a=r.modifiersData.popperOffsets,s=Er(r.placement),l=jh(s),u=[Rt,Ht].indexOf(s)>=0,c=u?"height":"width";if(!(!i||!a)){var d=V1(o.padding,r),p=$h(i),g=l==="y"?Ct:Rt,_=l==="y"?Wt:Ht,b=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],E=a[l]-r.rects.reference[l],v=ps(i),S=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,w=b/2-E/2,C=d[g],R=S-p[c]-d[_],O=S/2-p[c]/2+w,D=Qo(C,O,R),V=l;r.modifiersData[n]=(t={},t[V]=D,t.centerOffset=D-O,t)}}function K1(e){var t=e.state,r=e.options,n=r.element,o=n===void 0?"[data-popper-arrow]":n;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||M_(t.elements.popper,o)&&(t.elements.arrow=o))}const B_={name:"arrow",enabled:!0,phase:"main",fn:q1,effect:K1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Zi(e){return e.split("-")[1]}var Y1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function z1(e,t){var r=e.x,n=e.y,o=t.devicePixelRatio||1;return{x:Xi(r*o)/o||0,y:Xi(n*o)/o||0}}function hp(e){var t,r=e.popper,n=e.popperRect,o=e.placement,i=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,p=a.x,g=p===void 0?0:p,_=a.y,b=_===void 0?0:_,E=typeof c=="function"?c({x:g,y:b}):{x:g,y:b};g=E.x,b=E.y;var v=a.hasOwnProperty("x"),S=a.hasOwnProperty("y"),w=Rt,C=Ct,R=window;if(u){var O=ps(r),D="clientHeight",V="clientWidth";if(O===Vt(r)&&(O=Tn(r),Yr(O).position!=="static"&&s==="absolute"&&(D="scrollHeight",V="scrollWidth")),O=O,o===Ct||(o===Rt||o===Ht)&&i===Qi){C=Wt;var re=d&&O===R&&R.visualViewport?R.visualViewport.height:O[D];b-=re-n.height,b*=l?1:-1}if(o===Rt||(o===Ct||o===Wt)&&i===Qi){w=Ht;var G=d&&O===R&&R.visualViewport?R.visualViewport.width:O[V];g-=G-n.width,g*=l?1:-1}}var X=Object.assign({position:s},u&&Y1),L=c===!0?z1({x:g,y:b},Vt(r)):{x:g,y:b};if(g=L.x,b=L.y,l){var $;return Object.assign({},X,($={},$[C]=S?"0":"",$[w]=v?"0":"",$.transform=(R.devicePixelRatio||1)<=1?"translate("+g+"px, "+b+"px)":"translate3d("+g+"px, "+b+"px, 0)",$))}return Object.assign({},X,(t={},t[C]=S?b+"px":"",t[w]=v?g+"px":"",t.transform="",t))}function G1(e){var t=e.state,r=e.options,n=r.gpuAcceleration,o=n===void 0?!0:n,i=r.adaptive,a=i===void 0?!0:i,s=r.roundOffsets,l=s===void 0?!0:s,u={placement:Er(t.placement),variation:Zi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,hp(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,hp(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Wh={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:G1,data:{}};var Is={passive:!0};function Q1(e){var t=e.state,r=e.instance,n=e.options,o=n.scroll,i=o===void 0?!0:o,a=n.resize,s=a===void 0?!0:a,l=Vt(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&u.forEach(function(c){c.addEventListener("scroll",r.update,Is)}),s&&l.addEventListener("resize",r.update,Is),function(){i&&u.forEach(function(c){c.removeEventListener("scroll",r.update,Is)}),s&&l.removeEventListener("resize",r.update,Is)}}const Hh={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Q1,data:{}};var X1={left:"right",right:"left",bottom:"top",top:"bottom"};function ra(e){return e.replace(/left|right|bottom|top/g,function(t){return X1[t]})}var J1={start:"end",end:"start"};function dp(e){return e.replace(/start|end/g,function(t){return J1[t]})}function Vh(e){var t=Vt(e),r=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:r,scrollTop:n}}function qh(e){return Ji(Tn(e)).left+Vh(e).scrollLeft}function Z1(e,t){var r=Vt(e),n=Tn(e),o=r.visualViewport,i=n.clientWidth,a=n.clientHeight,s=0,l=0;if(o){i=o.width,a=o.height;var u=k_();(u||!u&&t==="fixed")&&(s=o.offsetLeft,l=o.offsetTop)}return{width:i,height:a,x:s+qh(e),y:l}}function eS(e){var t,r=Tn(e),n=Vh(e),o=(t=e.ownerDocument)==null?void 0:t.body,i=ei(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=ei(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-n.scrollLeft+qh(e),l=-n.scrollTop;return Yr(o||r).direction==="rtl"&&(s+=ei(r.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:s,y:l}}function Kh(e){var t=Yr(e),r=t.overflow,n=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+n)}function D_(e){return["html","body","#document"].indexOf(xr(e))>=0?e.ownerDocument.body:Jt(e)&&Kh(e)?e:D_(fl(e))}function Xo(e,t){var r;t===void 0&&(t=[]);var n=D_(e),o=n===((r=e.ownerDocument)==null?void 0:r.body),i=Vt(n),a=o?[i].concat(i.visualViewport||[],Kh(n)?n:[]):n,s=t.concat(a);return o?s:s.concat(Xo(fl(a)))}function Rc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function tS(e,t){var r=Ji(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}function pp(e,t,r){return t===Bh?Rc(Z1(e,r)):li(t)?tS(t,r):Rc(eS(Tn(e)))}function rS(e){var t=Xo(fl(e)),r=["absolute","fixed"].indexOf(Yr(e).position)>=0,n=r&&Jt(e)?ps(e):e;return li(n)?t.filter(function(o){return li(o)&&M_(o,n)&&xr(o)!=="body"}):[]}function nS(e,t,r,n){var o=t==="clippingParents"?rS(e):[].concat(t),i=[].concat(o,[r]),a=i[0],s=i.reduce(function(l,u){var c=pp(e,u,n);return l.top=ei(c.top,l.top),l.right=Oa(c.right,l.right),l.bottom=Oa(c.bottom,l.bottom),l.left=ei(c.left,l.left),l},pp(e,a,n));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function U_(e){var t=e.reference,r=e.element,n=e.placement,o=n?Er(n):null,i=n?Zi(n):null,a=t.x+t.width/2-r.width/2,s=t.y+t.height/2-r.height/2,l;switch(o){case Ct:l={x:a,y:t.y-r.height};break;case Wt:l={x:a,y:t.y+t.height};break;case Ht:l={x:t.x+t.width,y:s};break;case Rt:l={x:t.x-r.width,y:s};break;default:l={x:t.x,y:t.y}}var u=o?jh(o):null;if(u!=null){var c=u==="y"?"height":"width";switch(i){case ai:l[u]=l[u]-(t[c]/2-r[c]/2);break;case Qi:l[u]=l[u]+(t[c]/2-r[c]/2);break}}return l}function eo(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=n===void 0?e.placement:n,i=r.strategy,a=i===void 0?e.strategy:i,s=r.boundary,l=s===void 0?b_:s,u=r.rootBoundary,c=u===void 0?Bh:u,d=r.elementContext,p=d===void 0?Oi:d,g=r.altBoundary,_=g===void 0?!1:g,b=r.padding,E=b===void 0?0:b,v=P_(typeof E!="number"?E:L_(E,lo)),S=p===Oi?w_:Oi,w=e.rects.popper,C=e.elements[_?S:p],R=nS(li(C)?C:C.contextElement||Tn(e.elements.popper),l,c,a),O=Ji(e.elements.reference),D=U_({reference:O,element:w,placement:o}),V=Rc(Object.assign({},w,D)),re=p===Oi?V:O,G={top:R.top-re.top+v.top,bottom:re.bottom-R.bottom+v.bottom,left:R.left-re.left+v.left,right:re.right-R.right+v.right},X=e.modifiersData.offset;if(p===Oi&&X){var L=X[o];Object.keys(G).forEach(function($){var ae=[Ht,Wt].indexOf($)>=0?1:-1,fe=[Ct,Wt].indexOf($)>=0?"y":"x";G[$]+=L[fe]*ae})}return G}function iS(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=r.boundary,i=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,u=l===void 0?Dh:l,c=Zi(n),d=c?s?Ic:Ic.filter(function(_){return Zi(_)===c}):lo,p=d.filter(function(_){return u.indexOf(_)>=0});p.length===0&&(p=d);var g=p.reduce(function(_,b){return _[b]=eo(e,{placement:b,boundary:o,rootBoundary:i,padding:a})[Er(b)],_},{});return Object.keys(g).sort(function(_,b){return g[_]-g[b]})}function oS(e){if(Er(e)===cl)return[];var t=ra(e);return[dp(e),t,dp(t)]}function sS(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var o=r.mainAxis,i=o===void 0?!0:o,a=r.altAxis,s=a===void 0?!0:a,l=r.fallbackPlacements,u=r.padding,c=r.boundary,d=r.rootBoundary,p=r.altBoundary,g=r.flipVariations,_=g===void 0?!0:g,b=r.allowedAutoPlacements,E=t.options.placement,v=Er(E),S=v===E,w=l||(S||!_?[ra(E)]:oS(E)),C=[E].concat(w).reduce(function(ye,se){return ye.concat(Er(se)===cl?iS(t,{placement:se,boundary:c,rootBoundary:d,padding:u,flipVariations:_,allowedAutoPlacements:b}):se)},[]),R=t.rects.reference,O=t.rects.popper,D=new Map,V=!0,re=C[0],G=0;G=0,fe=ae?"width":"height",de=eo(t,{placement:X,boundary:c,rootBoundary:d,altBoundary:p,padding:u}),pe=ae?$?Ht:Rt:$?Wt:Ct;R[fe]>O[fe]&&(pe=ra(pe));var z=ra(pe),ge=[];if(i&&ge.push(de[L]<=0),s&&ge.push(de[pe]<=0,de[z]<=0),ge.every(function(ye){return ye})){re=X,V=!1;break}D.set(X,ge)}if(V)for(var Y=_?3:1,he=function(se){var Q=C.find(function(q){var k=D.get(q);if(k)return k.slice(0,se).every(function(W){return W})});if(Q)return re=Q,"break"},N=Y;N>0;N--){var ne=he(N);if(ne==="break")break}t.placement!==re&&(t.modifiersData[n]._skip=!0,t.placement=re,t.reset=!0)}}const F_={name:"flip",enabled:!0,phase:"main",fn:sS,requiresIfExists:["offset"],data:{_skip:!1}};function gp(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function mp(e){return[Ct,Ht,Wt,Rt].some(function(t){return e[t]>=0})}function aS(e){var t=e.state,r=e.name,n=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=eo(t,{elementContext:"reference"}),s=eo(t,{altBoundary:!0}),l=gp(a,n),u=gp(s,o,i),c=mp(l),d=mp(u);t.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}const $_={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:aS};function lS(e,t,r){var n=Er(e),o=[Rt,Ct].indexOf(n)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[Rt,Ht].indexOf(n)>=0?{x:s,y:a}:{x:a,y:s}}function uS(e){var t=e.state,r=e.options,n=e.name,o=r.offset,i=o===void 0?[0,0]:o,a=Dh.reduce(function(c,d){return c[d]=lS(d,t.rects,i),c},{}),s=a[t.placement],l=s.x,u=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[n]=a}const j_={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:uS};function cS(e){var t=e.state,r=e.name;t.modifiersData[r]=U_({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const Yh={name:"popperOffsets",enabled:!0,phase:"read",fn:cS,data:{}};function fS(e){return e==="x"?"y":"x"}function hS(e){var t=e.state,r=e.options,n=e.name,o=r.mainAxis,i=o===void 0?!0:o,a=r.altAxis,s=a===void 0?!1:a,l=r.boundary,u=r.rootBoundary,c=r.altBoundary,d=r.padding,p=r.tether,g=p===void 0?!0:p,_=r.tetherOffset,b=_===void 0?0:_,E=eo(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),v=Er(t.placement),S=Zi(t.placement),w=!S,C=jh(v),R=fS(C),O=t.modifiersData.popperOffsets,D=t.rects.reference,V=t.rects.popper,re=typeof b=="function"?b(Object.assign({},t.rects,{placement:t.placement})):b,G=typeof re=="number"?{mainAxis:re,altAxis:re}:Object.assign({mainAxis:0,altAxis:0},re),X=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,L={x:0,y:0};if(O){if(i){var $,ae=C==="y"?Ct:Rt,fe=C==="y"?Wt:Ht,de=C==="y"?"height":"width",pe=O[C],z=pe+E[ae],ge=pe-E[fe],Y=g?-V[de]/2:0,he=S===ai?D[de]:V[de],N=S===ai?-V[de]:-D[de],ne=t.elements.arrow,ye=g&&ne?$h(ne):{width:0,height:0},se=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:N_(),Q=se[ae],q=se[fe],k=Qo(0,D[de],ye[de]),W=w?D[de]/2-Y-k-Q-G.mainAxis:he-k-Q-G.mainAxis,te=w?-D[de]/2+Y+k+q+G.mainAxis:N+k+q+G.mainAxis,ee=t.elements.arrow&&ps(t.elements.arrow),A=ee?C==="y"?ee.clientTop||0:ee.clientLeft||0:0,T=($=X==null?void 0:X[C])!=null?$:0,M=pe+W-T-A,I=pe+te-T,B=Qo(g?Oa(z,M):z,pe,g?ei(ge,I):ge);O[C]=B,L[C]=B-pe}if(s){var U,Z=C==="x"?Ct:Rt,j=C==="x"?Wt:Ht,F=O[R],K=R==="y"?"height":"width",P=F+E[Z],J=F-E[j],le=[Ct,Rt].indexOf(v)!==-1,me=(U=X==null?void 0:X[R])!=null?U:0,y=le?P:F-D[K]-V[K]-me+G.altAxis,h=le?F+D[K]+V[K]-me-G.altAxis:J,f=g&&le?H1(y,F,h):Qo(g?y:P,F,g?h:J);O[R]=f,L[R]=f-F}t.modifiersData[n]=L}}const W_={name:"preventOverflow",enabled:!0,phase:"main",fn:hS,requiresIfExists:["offset"]};function dS(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pS(e){return e===Vt(e)||!Jt(e)?Vh(e):dS(e)}function gS(e){var t=e.getBoundingClientRect(),r=Xi(t.width)/e.offsetWidth||1,n=Xi(t.height)/e.offsetHeight||1;return r!==1||n!==1}function mS(e,t,r){r===void 0&&(r=!1);var n=Jt(t),o=Jt(t)&&gS(t),i=Tn(t),a=Ji(e,o,r),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!r)&&((xr(t)!=="body"||Kh(i))&&(s=pS(t)),Jt(t)?(l=Ji(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=qh(i))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function yS(e){var t=new Map,r=new Set,n=[];e.forEach(function(i){t.set(i.name,i)});function o(i){r.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(s){if(!r.has(s)){var l=t.get(s);l&&o(l)}}),n.push(i)}return e.forEach(function(i){r.has(i.name)||o(i)}),n}function _S(e){var t=yS(e);return O_.reduce(function(r,n){return r.concat(t.filter(function(o){return o.phase===n}))},[])}function bS(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}function wS(e){var t=e.reduce(function(r,n){var o=r[n.name];return r[n.name]=o?Object.assign({},o,n,{options:Object.assign({},o.options,n.options),data:Object.assign({},o.data,n.data)}):n,r},{});return Object.keys(t).map(function(r){return t[r]})}var yp={placement:"bottom",modifiers:[],strategy:"absolute"};function _p(){for(var e=arguments.length,t=new Array(e),r=0;r(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(t,r)=>`#${CSS.escape(r)}`)),e),IS=e=>e==null?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),CS=e=>{do e+=Math.floor(Math.random()*TS);while(document.getElementById(e));return e},RS=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:r}=window.getComputedStyle(e);const n=Number.parseFloat(t),o=Number.parseFloat(r);return!n&&!o?0:(t=t.split(",")[0],r=r.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(r))*xS)},q_=e=>{e.dispatchEvent(new Event(Oc))},qr=e=>!e||typeof e!="object"?!1:(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),wn=e=>qr(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(V_(e)):null,uo=e=>{if(!qr(e)||e.getClientRects().length===0)return!1;const t=getComputedStyle(e).getPropertyValue("visibility")==="visible",r=e.closest("details:not([open])");if(!r)return t;if(r!==e){const n=e.closest("summary");if(n&&n.parentNode!==r||n===null)return!1}return t},vn=e=>!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled")?!0:typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false",K_=e=>{if(!document.documentElement.attachShadow)return null;if(typeof e.getRootNode=="function"){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?K_(e.parentNode):null},ka=()=>{},gs=e=>{e.offsetHeight},Y_=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Ql=[],OS=e=>{document.readyState==="loading"?(Ql.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of Ql)t()}),Ql.push(e)):e()},Zt=()=>document.documentElement.dir==="rtl",tr=e=>{OS(()=>{const t=Y_();if(t){const r=e.NAME,n=t.fn[r];t.fn[r]=e.jQueryInterface,t.fn[r].Constructor=e,t.fn[r].noConflict=()=>(t.fn[r]=n,e.jQueryInterface)}})},Nt=(e,t=[],r=e)=>typeof e=="function"?e(...t):r,z_=(e,t,r=!0)=>{if(!r){Nt(e);return}const o=RS(t)+5;let i=!1;const a=({target:s})=>{s===t&&(i=!0,t.removeEventListener(Oc,a),Nt(e))};t.addEventListener(Oc,a),setTimeout(()=>{i||q_(t)},o)},Gh=(e,t,r,n)=>{const o=e.length;let i=e.indexOf(t);return i===-1?!r&&n?e[o-1]:e[0]:(i+=r?1:-1,n&&(i=(i+o)%o),e[Math.max(0,Math.min(i,o-1))])},kS=/[^.]*(?=\..*)\.|.*/,MS=/\..*/,NS=/::\d+$/,Xl={};let bp=1;const G_={mouseenter:"mouseover",mouseleave:"mouseout"},PS=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function Q_(e,t){return t&&`${t}::${bp++}`||e.uidEvent||bp++}function X_(e){const t=Q_(e);return e.uidEvent=t,Xl[t]=Xl[t]||{},Xl[t]}function LS(e,t){return function r(n){return Qh(n,{delegateTarget:e}),r.oneOff&&Se.off(e,n.type,t),t.apply(e,[n])}}function BS(e,t,r){return function n(o){const i=e.querySelectorAll(t);for(let{target:a}=o;a&&a!==this;a=a.parentNode)for(const s of i)if(s===a)return Qh(o,{delegateTarget:a}),n.oneOff&&Se.off(e,o.type,t,r),r.apply(a,[o])}}function J_(e,t,r=null){return Object.values(e).find(n=>n.callable===t&&n.delegationSelector===r)}function Z_(e,t,r){const n=typeof t=="string",o=n?r:t||r;let i=eb(e);return PS.has(i)||(i=e),[n,o,i]}function wp(e,t,r,n,o){if(typeof t!="string"||!e)return;let[i,a,s]=Z_(t,r,n);t in G_&&(a=(_=>function(b){if(!b.relatedTarget||b.relatedTarget!==b.delegateTarget&&!b.delegateTarget.contains(b.relatedTarget))return _.call(this,b)})(a));const l=X_(e),u=l[s]||(l[s]={}),c=J_(u,a,i?r:null);if(c){c.oneOff=c.oneOff&&o;return}const d=Q_(a,t.replace(kS,"")),p=i?BS(e,r,a):LS(e,a);p.delegationSelector=i?r:null,p.callable=a,p.oneOff=o,p.uidEvent=d,u[d]=p,e.addEventListener(s,p,i)}function kc(e,t,r,n,o){const i=J_(t[r],n,o);i&&(e.removeEventListener(r,i,!!o),delete t[r][i.uidEvent])}function DS(e,t,r,n){const o=t[r]||{};for(const[i,a]of Object.entries(o))i.includes(n)&&kc(e,t,r,a.callable,a.delegationSelector)}function eb(e){return e=e.replace(MS,""),G_[e]||e}const Se={on(e,t,r,n){wp(e,t,r,n,!1)},one(e,t,r,n){wp(e,t,r,n,!0)},off(e,t,r,n){if(typeof t!="string"||!e)return;const[o,i,a]=Z_(t,r,n),s=a!==t,l=X_(e),u=l[a]||{},c=t.startsWith(".");if(typeof i<"u"){if(!Object.keys(u).length)return;kc(e,l,a,i,o?r:null);return}if(c)for(const d of Object.keys(l))DS(e,l,d,t.slice(1));for(const[d,p]of Object.entries(u)){const g=d.replace(NS,"");(!s||t.includes(g))&&kc(e,l,a,p.callable,p.delegationSelector)}},trigger(e,t,r){if(typeof t!="string"||!e)return null;const n=Y_(),o=eb(t),i=t!==o;let a=null,s=!0,l=!0,u=!1;i&&n&&(a=n.Event(t,r),n(e).trigger(a),s=!a.isPropagationStopped(),l=!a.isImmediatePropagationStopped(),u=a.isDefaultPrevented());const c=Qh(new Event(t,{bubbles:s,cancelable:!0}),r);return u&&c.preventDefault(),l&&e.dispatchEvent(c),c.defaultPrevented&&a&&a.preventDefault(),c}};function Qh(e,t={}){for(const[r,n]of Object.entries(t))try{e[r]=n}catch{Object.defineProperty(e,r,{configurable:!0,get(){return n}})}return e}function vp(e){if(e==="true")return!0;if(e==="false")return!1;if(e===Number(e).toString())return Number(e);if(e===""||e==="null")return null;if(typeof e!="string")return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function Jl(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const Kr={setDataAttribute(e,t,r){e.setAttribute(`data-bs-${Jl(t)}`,r)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${Jl(t)}`)},getDataAttributes(e){if(!e)return{};const t={},r=Object.keys(e.dataset).filter(n=>n.startsWith("bs")&&!n.startsWith("bsConfig"));for(const n of r){let o=n.replace(/^bs/,"");o=o.charAt(0).toLowerCase()+o.slice(1,o.length),t[o]=vp(e.dataset[n])}return t},getDataAttribute(e,t){return vp(e.getAttribute(`data-bs-${Jl(t)}`))}};class ms{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,r){const n=qr(r)?Kr.getDataAttribute(r,"config"):{};return{...this.constructor.Default,...typeof n=="object"?n:{},...qr(r)?Kr.getDataAttributes(r):{},...typeof t=="object"?t:{}}}_typeCheckConfig(t,r=this.constructor.DefaultType){for(const[n,o]of Object.entries(r)){const i=t[n],a=qr(i)?"element":IS(i);if(!new RegExp(o).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${o}".`)}}}const US="5.3.3";class cr extends ms{constructor(t,r){super(),t=wn(t),t&&(this._element=t,this._config=this._getConfig(r),Gl.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Gl.remove(this._element,this.constructor.DATA_KEY),Se.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,r,n=!0){z_(t,r,n)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Gl.get(wn(t),this.DATA_KEY)}static getOrCreateInstance(t,r={}){return this.getInstance(t)||new this(t,typeof r=="object"?r:null)}static get VERSION(){return US}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const Zl=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let r=e.getAttribute("href");if(!r||!r.includes("#")&&!r.startsWith("."))return null;r.includes("#")&&!r.startsWith("#")&&(r=`#${r.split("#")[1]}`),t=r&&r!=="#"?r.trim():null}return t?t.split(",").map(r=>V_(r)).join(","):null},Pe={find(e,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,e))},findOne(e,t=document.documentElement){return Element.prototype.querySelector.call(t,e)},children(e,t){return[].concat(...e.children).filter(r=>r.matches(t))},parents(e,t){const r=[];let n=e.parentNode.closest(t);for(;n;)r.push(n),n=n.parentNode.closest(t);return r},prev(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return[r];r=r.previousElementSibling}return[]},next(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return[r];r=r.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(r=>`${r}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(r=>!vn(r)&&uo(r))},getSelectorFromElement(e){const t=Zl(e);return t&&Pe.findOne(t)?t:null},getElementFromSelector(e){const t=Zl(e);return t?Pe.findOne(t):null},getMultipleElementsFromSelector(e){const t=Zl(e);return t?Pe.find(t):[]}},dl=(e,t="hide")=>{const r=`click.dismiss${e.EVENT_KEY}`,n=e.NAME;Se.on(document,r,`[data-bs-dismiss="${n}"]`,function(o){if(["A","AREA"].includes(this.tagName)&&o.preventDefault(),vn(this))return;const i=Pe.getElementFromSelector(this)||this.closest(`.${n}`);e.getOrCreateInstance(i)[t]()})},FS="alert",$S="bs.alert",tb=`.${$S}`,jS=`close${tb}`,WS=`closed${tb}`,HS="fade",VS="show";class pl extends cr{static get NAME(){return FS}close(){if(Se.trigger(this._element,jS).defaultPrevented)return;this._element.classList.remove(VS);const r=this._element.classList.contains(HS);this._queueCallback(()=>this._destroyElement(),this._element,r)}_destroyElement(){this._element.remove(),Se.trigger(this._element,WS),this.dispose()}static jQueryInterface(t){return this.each(function(){const r=pl.getOrCreateInstance(this);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t](this)}})}}dl(pl,"close");tr(pl);const qS="button",KS="bs.button",YS=`.${KS}`,zS=".data-api",GS="active",Ep='[data-bs-toggle="button"]',QS=`click${YS}${zS}`;class gl extends cr{static get NAME(){return qS}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(GS))}static jQueryInterface(t){return this.each(function(){const r=gl.getOrCreateInstance(this);t==="toggle"&&r[t]()})}}Se.on(document,QS,Ep,e=>{e.preventDefault();const t=e.target.closest(Ep);gl.getOrCreateInstance(t).toggle()});tr(gl);const XS="swipe",co=".bs.swipe",JS=`touchstart${co}`,ZS=`touchmove${co}`,eA=`touchend${co}`,tA=`pointerdown${co}`,rA=`pointerup${co}`,nA="touch",iA="pen",oA="pointer-event",sA=40,aA={endCallback:null,leftCallback:null,rightCallback:null},lA={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Ma extends ms{constructor(t,r){super(),this._element=t,!(!t||!Ma.isSupported())&&(this._config=this._getConfig(r),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return aA}static get DefaultType(){return lA}static get NAME(){return XS}dispose(){Se.off(this._element,co)}_start(t){if(!this._supportPointerEvents){this._deltaX=t.touches[0].clientX;return}this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX)}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Nt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=sA)return;const r=t/this._deltaX;this._deltaX=0,r&&Nt(r>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(Se.on(this._element,tA,t=>this._start(t)),Se.on(this._element,rA,t=>this._end(t)),this._element.classList.add(oA)):(Se.on(this._element,JS,t=>this._start(t)),Se.on(this._element,ZS,t=>this._move(t)),Se.on(this._element,eA,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===iA||t.pointerType===nA)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const uA="carousel",cA="bs.carousel",xn=`.${cA}`,rb=".data-api",fA="ArrowLeft",hA="ArrowRight",dA=500,So="next",Ti="prev",ki="left",na="right",pA=`slide${xn}`,eu=`slid${xn}`,gA=`keydown${xn}`,mA=`mouseenter${xn}`,yA=`mouseleave${xn}`,_A=`dragstart${xn}`,bA=`load${xn}${rb}`,wA=`click${xn}${rb}`,nb="carousel",Cs="active",vA="slide",EA="carousel-item-end",SA="carousel-item-start",AA="carousel-item-next",TA="carousel-item-prev",ib=".active",ob=".carousel-item",xA=ib+ob,IA=".carousel-item img",CA=".carousel-indicators",RA="[data-bs-slide], [data-bs-slide-to]",OA='[data-bs-ride="carousel"]',kA={[fA]:na,[hA]:ki},MA={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},NA={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ys extends cr{constructor(t,r){super(t,r),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=Pe.findOne(CA,this._element),this._addEventListeners(),this._config.ride===nb&&this.cycle()}static get Default(){return MA}static get DefaultType(){return NA}static get NAME(){return uA}next(){this._slide(So)}nextWhenVisible(){!document.hidden&&uo(this._element)&&this.next()}prev(){this._slide(Ti)}pause(){this._isSliding&&q_(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){Se.one(this._element,eu,()=>this.cycle());return}this.cycle()}}to(t){const r=this._getItems();if(t>r.length-1||t<0)return;if(this._isSliding){Se.one(this._element,eu,()=>this.to(t));return}const n=this._getItemIndex(this._getActive());if(n===t)return;const o=t>n?So:Ti;this._slide(o,r[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&Se.on(this._element,gA,t=>this._keydown(t)),this._config.pause==="hover"&&(Se.on(this._element,mA,()=>this.pause()),Se.on(this._element,yA,()=>this._maybeEnableCycle())),this._config.touch&&Ma.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const n of Pe.find(IA,this._element))Se.on(n,_A,o=>o.preventDefault());const r={leftCallback:()=>this._slide(this._directionToOrder(ki)),rightCallback:()=>this._slide(this._directionToOrder(na)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),dA+this._config.interval))}};this._swipeHelper=new Ma(this._element,r)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const r=kA[t.key];r&&(t.preventDefault(),this._slide(this._directionToOrder(r)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const r=Pe.findOne(ib,this._indicatorsElement);r.classList.remove(Cs),r.removeAttribute("aria-current");const n=Pe.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);n&&(n.classList.add(Cs),n.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const r=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=r||this._config.defaultInterval}_slide(t,r=null){if(this._isSliding)return;const n=this._getActive(),o=t===So,i=r||Gh(this._getItems(),n,o,this._config.wrap);if(i===n)return;const a=this._getItemIndex(i),s=g=>Se.trigger(this._element,g,{relatedTarget:i,direction:this._orderToDirection(t),from:this._getItemIndex(n),to:a});if(s(pA).defaultPrevented||!n||!i)return;const u=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(a),this._activeElement=i;const c=o?SA:EA,d=o?AA:TA;i.classList.add(d),gs(i),n.classList.add(c),i.classList.add(c);const p=()=>{i.classList.remove(c,d),i.classList.add(Cs),n.classList.remove(Cs,d,c),this._isSliding=!1,s(eu)};this._queueCallback(p,n,this._isAnimated()),u&&this.cycle()}_isAnimated(){return this._element.classList.contains(vA)}_getActive(){return Pe.findOne(xA,this._element)}_getItems(){return Pe.find(ob,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Zt()?t===ki?Ti:So:t===ki?So:Ti}_orderToDirection(t){return Zt()?t===Ti?ki:na:t===Ti?na:ki}static jQueryInterface(t){return this.each(function(){const r=ys.getOrCreateInstance(this,t);if(typeof t=="number"){r.to(t);return}if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t]()}})}}Se.on(document,wA,RA,function(e){const t=Pe.getElementFromSelector(this);if(!t||!t.classList.contains(nb))return;e.preventDefault();const r=ys.getOrCreateInstance(t),n=this.getAttribute("data-bs-slide-to");if(n){r.to(n),r._maybeEnableCycle();return}if(Kr.getDataAttribute(this,"slide")==="next"){r.next(),r._maybeEnableCycle();return}r.prev(),r._maybeEnableCycle()});Se.on(window,bA,()=>{const e=Pe.find(OA);for(const t of e)ys.getOrCreateInstance(t)});tr(ys);const PA="collapse",LA="bs.collapse",_s=`.${LA}`,BA=".data-api",DA=`show${_s}`,UA=`shown${_s}`,FA=`hide${_s}`,$A=`hidden${_s}`,jA=`click${_s}${BA}`,tu="show",Li="collapse",Rs="collapsing",WA="collapsed",HA=`:scope .${Li} .${Li}`,VA="collapse-horizontal",qA="width",KA="height",YA=".collapse.show, .collapse.collapsing",Mc='[data-bs-toggle="collapse"]',zA={parent:null,toggle:!0},GA={parent:"(null|element)",toggle:"boolean"};class os extends cr{constructor(t,r){super(t,r),this._isTransitioning=!1,this._triggerArray=[];const n=Pe.find(Mc);for(const o of n){const i=Pe.getSelectorFromElement(o),a=Pe.find(i).filter(s=>s===this._element);i!==null&&a.length&&this._triggerArray.push(o)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return zA}static get DefaultType(){return GA}static get NAME(){return PA}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(YA).filter(s=>s!==this._element).map(s=>os.getOrCreateInstance(s,{toggle:!1}))),t.length&&t[0]._isTransitioning||Se.trigger(this._element,DA).defaultPrevented)return;for(const s of t)s.hide();const n=this._getDimension();this._element.classList.remove(Li),this._element.classList.add(Rs),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const o=()=>{this._isTransitioning=!1,this._element.classList.remove(Rs),this._element.classList.add(Li,tu),this._element.style[n]="",Se.trigger(this._element,UA)},a=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback(o,this._element,!0),this._element.style[n]=`${this._element[a]}px`}hide(){if(this._isTransitioning||!this._isShown()||Se.trigger(this._element,FA).defaultPrevented)return;const r=this._getDimension();this._element.style[r]=`${this._element.getBoundingClientRect()[r]}px`,gs(this._element),this._element.classList.add(Rs),this._element.classList.remove(Li,tu);for(const o of this._triggerArray){const i=Pe.getElementFromSelector(o);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([o],!1)}this._isTransitioning=!0;const n=()=>{this._isTransitioning=!1,this._element.classList.remove(Rs),this._element.classList.add(Li),Se.trigger(this._element,$A)};this._element.style[r]="",this._queueCallback(n,this._element,!0)}_isShown(t=this._element){return t.classList.contains(tu)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=wn(t.parent),t}_getDimension(){return this._element.classList.contains(VA)?qA:KA}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Mc);for(const r of t){const n=Pe.getElementFromSelector(r);n&&this._addAriaAndCollapsedClass([r],this._isShown(n))}}_getFirstLevelChildren(t){const r=Pe.find(HA,this._config.parent);return Pe.find(t,this._config.parent).filter(n=>!r.includes(n))}_addAriaAndCollapsedClass(t,r){if(t.length)for(const n of t)n.classList.toggle(WA,!r),n.setAttribute("aria-expanded",r)}static jQueryInterface(t){const r={};return typeof t=="string"&&/show|hide/.test(t)&&(r.toggle=!1),this.each(function(){const n=os.getOrCreateInstance(this,r);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t]()}})}}Se.on(document,jA,Mc,function(e){(e.target.tagName==="A"||e.delegateTarget&&e.delegateTarget.tagName==="A")&&e.preventDefault();for(const t of Pe.getMultipleElementsFromSelector(this))os.getOrCreateInstance(t,{toggle:!1}).toggle()});tr(os);const Sp="dropdown",QA="bs.dropdown",di=`.${QA}`,Xh=".data-api",XA="Escape",Ap="Tab",JA="ArrowUp",Tp="ArrowDown",ZA=2,eT=`hide${di}`,tT=`hidden${di}`,rT=`show${di}`,nT=`shown${di}`,sb=`click${di}${Xh}`,ab=`keydown${di}${Xh}`,iT=`keyup${di}${Xh}`,Mi="show",oT="dropup",sT="dropend",aT="dropstart",lT="dropup-center",uT="dropdown-center",Yn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',cT=`${Yn}.${Mi}`,ia=".dropdown-menu",fT=".navbar",hT=".navbar-nav",dT=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",pT=Zt()?"top-end":"top-start",gT=Zt()?"top-start":"top-end",mT=Zt()?"bottom-end":"bottom-start",yT=Zt()?"bottom-start":"bottom-end",_T=Zt()?"left-start":"right-start",bT=Zt()?"right-start":"left-start",wT="top",vT="bottom",ET={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ST={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Sr extends cr{constructor(t,r){super(t,r),this._popper=null,this._parent=this._element.parentNode,this._menu=Pe.next(this._element,ia)[0]||Pe.prev(this._element,ia)[0]||Pe.findOne(ia,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ET}static get DefaultType(){return ST}static get NAME(){return Sp}toggle(){return this._isShown()?this.hide():this.show()}show(){if(vn(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!Se.trigger(this._element,rT,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(hT))for(const n of[].concat(...document.body.children))Se.on(n,"mouseover",ka);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Mi),this._element.classList.add(Mi),Se.trigger(this._element,nT,t)}}hide(){if(vn(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!Se.trigger(this._element,eT,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const n of[].concat(...document.body.children))Se.off(n,"mouseover",ka);this._popper&&this._popper.destroy(),this._menu.classList.remove(Mi),this._element.classList.remove(Mi),this._element.setAttribute("aria-expanded","false"),Kr.removeDataAttribute(this._menu,"popper"),Se.trigger(this._element,tT,t)}}_getConfig(t){if(t=super._getConfig(t),typeof t.reference=="object"&&!qr(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${Sp.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(typeof H_>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=this._parent:qr(this._config.reference)?t=wn(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const r=this._getPopperConfig();this._popper=zh(t,this._menu,r)}_isShown(){return this._menu.classList.contains(Mi)}_getPlacement(){const t=this._parent;if(t.classList.contains(sT))return _T;if(t.classList.contains(aT))return bT;if(t.classList.contains(lT))return wT;if(t.classList.contains(uT))return vT;const r=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return t.classList.contains(oT)?r?gT:pT:r?yT:mT}_detectNavbar(){return this._element.closest(fT)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(r=>Number.parseInt(r,10)):typeof t=="function"?r=>t(r,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(Kr.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Nt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:r}){const n=Pe.find(dT,this._menu).filter(o=>uo(o));n.length&&Gh(n,r,t===Tp,!n.includes(r)).focus()}static jQueryInterface(t){return this.each(function(){const r=Sr.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t]()}})}static clearMenus(t){if(t.button===ZA||t.type==="keyup"&&t.key!==Ap)return;const r=Pe.find(cT);for(const n of r){const o=Sr.getInstance(n);if(!o||o._config.autoClose===!1)continue;const i=t.composedPath(),a=i.includes(o._menu);if(i.includes(o._element)||o._config.autoClose==="inside"&&!a||o._config.autoClose==="outside"&&a||o._menu.contains(t.target)&&(t.type==="keyup"&&t.key===Ap||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const s={relatedTarget:o._element};t.type==="click"&&(s.clickEvent=t),o._completeHide(s)}}static dataApiKeydownHandler(t){const r=/input|textarea/i.test(t.target.tagName),n=t.key===XA,o=[JA,Tp].includes(t.key);if(!o&&!n||r&&!n)return;t.preventDefault();const i=this.matches(Yn)?this:Pe.prev(this,Yn)[0]||Pe.next(this,Yn)[0]||Pe.findOne(Yn,t.delegateTarget.parentNode),a=Sr.getOrCreateInstance(i);if(o){t.stopPropagation(),a.show(),a._selectMenuItem(t);return}a._isShown()&&(t.stopPropagation(),a.hide(),i.focus())}}Se.on(document,ab,Yn,Sr.dataApiKeydownHandler);Se.on(document,ab,ia,Sr.dataApiKeydownHandler);Se.on(document,sb,Sr.clearMenus);Se.on(document,iT,Sr.clearMenus);Se.on(document,sb,Yn,function(e){e.preventDefault(),Sr.getOrCreateInstance(this).toggle()});tr(Sr);const lb="backdrop",AT="fade",xp="show",Ip=`mousedown.bs.${lb}`,TT={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},xT={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ub extends ms{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return TT}static get DefaultType(){return xT}static get NAME(){return lb}show(t){if(!this._config.isVisible){Nt(t);return}this._append();const r=this._getElement();this._config.isAnimated&&gs(r),r.classList.add(xp),this._emulateAnimation(()=>{Nt(t)})}hide(t){if(!this._config.isVisible){Nt(t);return}this._getElement().classList.remove(xp),this._emulateAnimation(()=>{this.dispose(),Nt(t)})}dispose(){this._isAppended&&(Se.off(this._element,Ip),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(AT),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=wn(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),Se.on(t,Ip,()=>{Nt(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){z_(t,this._getElement(),this._config.isAnimated)}}const IT="focustrap",CT="bs.focustrap",Na=`.${CT}`,RT=`focusin${Na}`,OT=`keydown.tab${Na}`,kT="Tab",MT="forward",Cp="backward",NT={autofocus:!0,trapElement:null},PT={autofocus:"boolean",trapElement:"element"};class cb extends ms{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return NT}static get DefaultType(){return PT}static get NAME(){return IT}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),Se.off(document,Na),Se.on(document,RT,t=>this._handleFocusin(t)),Se.on(document,OT,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,Se.off(document,Na))}_handleFocusin(t){const{trapElement:r}=this._config;if(t.target===document||t.target===r||r.contains(t.target))return;const n=Pe.focusableChildren(r);n.length===0?r.focus():this._lastTabNavDirection===Cp?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){t.key===kT&&(this._lastTabNavDirection=t.shiftKey?Cp:MT)}}const Rp=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Op=".sticky-top",Os="padding-right",kp="margin-right";class Nc{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Os,r=>r+t),this._setElementAttributes(Rp,Os,r=>r+t),this._setElementAttributes(Op,kp,r=>r-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Os),this._resetElementAttributes(Rp,Os),this._resetElementAttributes(Op,kp)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,r,n){const o=this.getWidth(),i=a=>{if(a!==this._element&&window.innerWidth>a.clientWidth+o)return;this._saveInitialAttribute(a,r);const s=window.getComputedStyle(a).getPropertyValue(r);a.style.setProperty(r,`${n(Number.parseFloat(s))}px`)};this._applyManipulationCallback(t,i)}_saveInitialAttribute(t,r){const n=t.style.getPropertyValue(r);n&&Kr.setDataAttribute(t,r,n)}_resetElementAttributes(t,r){const n=o=>{const i=Kr.getDataAttribute(o,r);if(i===null){o.style.removeProperty(r);return}Kr.removeDataAttribute(o,r),o.style.setProperty(r,i)};this._applyManipulationCallback(t,n)}_applyManipulationCallback(t,r){if(qr(t)){r(t);return}for(const n of Pe.find(t,this._element))r(n)}}const LT="modal",BT="bs.modal",er=`.${BT}`,DT=".data-api",UT="Escape",FT=`hide${er}`,$T=`hidePrevented${er}`,fb=`hidden${er}`,hb=`show${er}`,jT=`shown${er}`,WT=`resize${er}`,HT=`click.dismiss${er}`,VT=`mousedown.dismiss${er}`,qT=`keydown.dismiss${er}`,KT=`click${er}${DT}`,Mp="modal-open",YT="fade",Np="show",ru="modal-static",zT=".modal.show",GT=".modal-dialog",QT=".modal-body",XT='[data-bs-toggle="modal"]',JT={backdrop:!0,focus:!0,keyboard:!0},ZT={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class to extends cr{constructor(t,r){super(t,r),this._dialog=Pe.findOne(GT,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Nc,this._addEventListeners()}static get Default(){return JT}static get DefaultType(){return ZT}static get NAME(){return LT}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||Se.trigger(this._element,hb,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Mp),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){!this._isShown||this._isTransitioning||Se.trigger(this._element,FT).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Np),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){Se.off(window,er),Se.off(this._dialog,er),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ub({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new cb({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const r=Pe.findOne(QT,this._dialog);r&&(r.scrollTop=0),gs(this._element),this._element.classList.add(Np);const n=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,Se.trigger(this._element,jT,{relatedTarget:t})};this._queueCallback(n,this._dialog,this._isAnimated())}_addEventListeners(){Se.on(this._element,qT,t=>{if(t.key===UT){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),Se.on(window,WT,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),Se.on(this._element,VT,t=>{Se.one(this._element,HT,r=>{if(!(this._element!==t.target||this._element!==r.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Mp),this._resetAdjustments(),this._scrollBar.reset(),Se.trigger(this._element,fb)})}_isAnimated(){return this._element.classList.contains(YT)}_triggerBackdropTransition(){if(Se.trigger(this._element,$T).defaultPrevented)return;const r=this._element.scrollHeight>document.documentElement.clientHeight,n=this._element.style.overflowY;n==="hidden"||this._element.classList.contains(ru)||(r||(this._element.style.overflowY="hidden"),this._element.classList.add(ru),this._queueCallback(()=>{this._element.classList.remove(ru),this._queueCallback(()=>{this._element.style.overflowY=n},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,r=this._scrollBar.getWidth(),n=r>0;if(n&&!t){const o=Zt()?"paddingLeft":"paddingRight";this._element.style[o]=`${r}px`}if(!n&&t){const o=Zt()?"paddingRight":"paddingLeft";this._element.style[o]=`${r}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,r){return this.each(function(){const n=to.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t](r)}})}}Se.on(document,KT,XT,function(e){const t=Pe.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),Se.one(t,hb,o=>{o.defaultPrevented||Se.one(t,fb,()=>{uo(this)&&this.focus()})});const r=Pe.findOne(zT);r&&to.getInstance(r).hide(),to.getOrCreateInstance(t).toggle(this)});dl(to);tr(to);const ex="offcanvas",tx="bs.offcanvas",rn=`.${tx}`,db=".data-api",rx=`load${rn}${db}`,nx="Escape",Pp="show",Lp="showing",Bp="hiding",ix="offcanvas-backdrop",pb=".offcanvas.show",ox=`show${rn}`,sx=`shown${rn}`,ax=`hide${rn}`,Dp=`hidePrevented${rn}`,gb=`hidden${rn}`,lx=`resize${rn}`,ux=`click${rn}${db}`,cx=`keydown.dismiss${rn}`,fx='[data-bs-toggle="offcanvas"]',hx={backdrop:!0,keyboard:!0,scroll:!1},dx={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class En extends cr{constructor(t,r){super(t,r),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return hx}static get DefaultType(){return dx}static get NAME(){return ex}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||Se.trigger(this._element,ox,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Nc().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Lp);const n=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Pp),this._element.classList.remove(Lp),Se.trigger(this._element,sx,{relatedTarget:t})};this._queueCallback(n,this._element,!0)}hide(){if(!this._isShown||Se.trigger(this._element,ax).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Bp),this._backdrop.hide();const r=()=>{this._element.classList.remove(Pp,Bp),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Nc().reset(),Se.trigger(this._element,gb)};this._queueCallback(r,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{if(this._config.backdrop==="static"){Se.trigger(this._element,Dp);return}this.hide()},r=!!this._config.backdrop;return new ub({className:ix,isVisible:r,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:r?t:null})}_initializeFocusTrap(){return new cb({trapElement:this._element})}_addEventListeners(){Se.on(this._element,cx,t=>{if(t.key===nx){if(this._config.keyboard){this.hide();return}Se.trigger(this._element,Dp)}})}static jQueryInterface(t){return this.each(function(){const r=En.getOrCreateInstance(this,t);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t](this)}})}}Se.on(document,ux,fx,function(e){const t=Pe.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),vn(this))return;Se.one(t,gb,()=>{uo(this)&&this.focus()});const r=Pe.findOne(pb);r&&r!==t&&En.getInstance(r).hide(),En.getOrCreateInstance(t).toggle(this)});Se.on(window,rx,()=>{for(const e of Pe.find(pb))En.getOrCreateInstance(e).show()});Se.on(window,lx,()=>{for(const e of Pe.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(e).position!=="fixed"&&En.getOrCreateInstance(e).hide()});dl(En);tr(En);const px=/^aria-[\w-]*$/i,mb={"*":["class","dir","id","lang","role",px],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},gx=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),mx=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,yx=(e,t)=>{const r=e.nodeName.toLowerCase();return t.includes(r)?gx.has(r)?!!mx.test(e.nodeValue):!0:t.filter(n=>n instanceof RegExp).some(n=>n.test(r))};function _x(e,t,r){if(!e.length)return e;if(r&&typeof r=="function")return r(e);const o=new window.DOMParser().parseFromString(e,"text/html"),i=[].concat(...o.body.querySelectorAll("*"));for(const a of i){const s=a.nodeName.toLowerCase();if(!Object.keys(t).includes(s)){a.remove();continue}const l=[].concat(...a.attributes),u=[].concat(t["*"]||[],t[s]||[]);for(const c of l)yx(c,u)||a.removeAttribute(c.nodeName)}return o.body.innerHTML}const bx="TemplateFactory",vx={allowList:mb,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Ex={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Sx={entry:"(string|element|function|null)",selector:"(string|element)"};class Ax extends ms{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return vx}static get DefaultType(){return Ex}static get NAME(){return bx}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[o,i]of Object.entries(this._config.content))this._setContent(t,i,o);const r=t.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&r.classList.add(...n.split(" ")),r}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[r,n]of Object.entries(t))super._typeCheckConfig({selector:r,entry:n},Sx)}_setContent(t,r,n){const o=Pe.findOne(n,t);if(o){if(r=this._resolvePossibleFunction(r),!r){o.remove();return}if(qr(r)){this._putElementInTemplate(wn(r),o);return}if(this._config.html){o.innerHTML=this._maybeSanitize(r);return}o.textContent=r}}_maybeSanitize(t){return this._config.sanitize?_x(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Nt(t,[this])}_putElementInTemplate(t,r){if(this._config.html){r.innerHTML="",r.append(t);return}r.textContent=t.textContent}}const Tx="tooltip",xx=new Set(["sanitize","allowList","sanitizeFn"]),nu="fade",Ix="modal",ks="show",Cx=".tooltip-inner",Up=`.${Ix}`,Fp="hide.bs.modal",Ao="hover",iu="focus",Rx="click",Ox="manual",kx="hide",Mx="hidden",Nx="show",Px="shown",Lx="inserted",Bx="click",Dx="focusin",Ux="focusout",Fx="mouseenter",$x="mouseleave",jx={AUTO:"auto",TOP:"top",RIGHT:Zt()?"left":"right",BOTTOM:"bottom",LEFT:Zt()?"right":"left"},Wx={allowList:mb,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Hx={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class fo extends cr{constructor(t,r){if(typeof H_>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,r),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Wx}static get DefaultType(){return Hx}static get NAME(){return Tx}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),Se.off(this._element.closest(Up),Fp,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const t=Se.trigger(this._element,this.constructor.eventName(Nx)),n=(K_(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!n)return;this._disposePopper();const o=this._getTipElement();this._element.setAttribute("aria-describedby",o.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(o),Se.trigger(this._element,this.constructor.eventName(Lx))),this._popper=this._createPopper(o),o.classList.add(ks),"ontouchstart"in document.documentElement)for(const s of[].concat(...document.body.children))Se.on(s,"mouseover",ka);const a=()=>{Se.trigger(this._element,this.constructor.eventName(Px)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(a,this.tip,this._isAnimated())}hide(){if(!this._isShown()||Se.trigger(this._element,this.constructor.eventName(kx)).defaultPrevented)return;if(this._getTipElement().classList.remove(ks),"ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))Se.off(o,"mouseover",ka);this._activeTrigger[Rx]=!1,this._activeTrigger[iu]=!1,this._activeTrigger[Ao]=!1,this._isHovered=null;const n=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),Se.trigger(this._element,this.constructor.eventName(Mx)))};this._queueCallback(n,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const r=this._getTemplateFactory(t).toHtml();if(!r)return null;r.classList.remove(nu,ks),r.classList.add(`bs-${this.constructor.NAME}-auto`);const n=CS(this.constructor.NAME).toString();return r.setAttribute("id",n),this._isAnimated()&&r.classList.add(nu),r}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ax({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Cx]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(nu)}_isShown(){return this.tip&&this.tip.classList.contains(ks)}_createPopper(t){const r=Nt(this._config.placement,[this,t,this._element]),n=jx[r.toUpperCase()];return zh(this._element,t,this._getPopperConfig(n))}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(r=>Number.parseInt(r,10)):typeof t=="function"?r=>t(r,this._element):t}_resolvePossibleFunction(t){return Nt(t,[this._element])}_getPopperConfig(t){const r={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:n=>{this._getTipElement().setAttribute("data-popper-placement",n.state.placement)}}]};return{...r,...Nt(this._config.popperConfig,[r])}}_setListeners(){const t=this._config.trigger.split(" ");for(const r of t)if(r==="click")Se.on(this._element,this.constructor.eventName(Bx),this._config.selector,n=>{this._initializeOnDelegatedTarget(n).toggle()});else if(r!==Ox){const n=r===Ao?this.constructor.eventName(Fx):this.constructor.eventName(Dx),o=r===Ao?this.constructor.eventName($x):this.constructor.eventName(Ux);Se.on(this._element,n,this._config.selector,i=>{const a=this._initializeOnDelegatedTarget(i);a._activeTrigger[i.type==="focusin"?iu:Ao]=!0,a._enter()}),Se.on(this._element,o,this._config.selector,i=>{const a=this._initializeOnDelegatedTarget(i);a._activeTrigger[i.type==="focusout"?iu:Ao]=a._element.contains(i.relatedTarget),a._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},Se.on(this._element.closest(Up),Fp,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,r){clearTimeout(this._timeout),this._timeout=setTimeout(t,r)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const r=Kr.getDataAttributes(this._element);for(const n of Object.keys(r))xx.has(n)&&delete r[n];return t={...r,...typeof t=="object"&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=t.container===!1?document.body:wn(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[r,n]of Object.entries(this._config))this.constructor.Default[r]!==n&&(t[r]=n);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const r=fo.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t]()}})}}tr(fo);const Vx="popover",qx=".popover-header",Kx=".popover-body",Yx={...fo.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},zx={...fo.DefaultType,content:"(null|string|element|function)"};class Jh extends fo{static get Default(){return Yx}static get DefaultType(){return zx}static get NAME(){return Vx}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[qx]:this._getTitle(),[Kx]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const r=Jh.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t]()}})}}tr(Jh);const Gx="scrollspy",Qx="bs.scrollspy",Zh=`.${Qx}`,Xx=".data-api",Jx=`activate${Zh}`,$p=`click${Zh}`,Zx=`load${Zh}${Xx}`,eI="dropdown-item",xi="active",tI='[data-bs-spy="scroll"]',ou="[href]",rI=".nav, .list-group",jp=".nav-link",nI=".nav-item",iI=".list-group-item",oI=`${jp}, ${nI} > ${jp}, ${iI}`,sI=".dropdown",aI=".dropdown-toggle",lI={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},uI={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ml extends cr{constructor(t,r){super(t,r),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return lI}static get DefaultType(){return uI}static get NAME(){return Gx}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=wn(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,typeof t.threshold=="string"&&(t.threshold=t.threshold.split(",").map(r=>Number.parseFloat(r))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(Se.off(this._config.target,$p),Se.on(this._config.target,$p,ou,t=>{const r=this._observableSections.get(t.target.hash);if(r){t.preventDefault();const n=this._rootElement||window,o=r.offsetTop-this._element.offsetTop;if(n.scrollTo){n.scrollTo({top:o,behavior:"smooth"});return}n.scrollTop=o}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(r=>this._observerCallback(r),t)}_observerCallback(t){const r=a=>this._targetLinks.get(`#${a.target.id}`),n=a=>{this._previousScrollData.visibleEntryTop=a.target.offsetTop,this._process(r(a))},o=(this._rootElement||document.documentElement).scrollTop,i=o>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=o;for(const a of t){if(!a.isIntersecting){this._activeTarget=null,this._clearActiveClass(r(a));continue}const s=a.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&s){if(n(a),!o)return;continue}!i&&!s&&n(a)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=Pe.find(ou,this._config.target);for(const r of t){if(!r.hash||vn(r))continue;const n=Pe.findOne(decodeURI(r.hash),this._element);uo(n)&&(this._targetLinks.set(decodeURI(r.hash),r),this._observableSections.set(r.hash,n))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(xi),this._activateParents(t),Se.trigger(this._element,Jx,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(eI)){Pe.findOne(aI,t.closest(sI)).classList.add(xi);return}for(const r of Pe.parents(t,rI))for(const n of Pe.prev(r,oI))n.classList.add(xi)}_clearActiveClass(t){t.classList.remove(xi);const r=Pe.find(`${ou}.${xi}`,t);for(const n of r)n.classList.remove(xi)}static jQueryInterface(t){return this.each(function(){const r=ml.getOrCreateInstance(this,t);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t]()}})}}Se.on(window,Zx,()=>{for(const e of Pe.find(tI))ml.getOrCreateInstance(e)});tr(ml);const cI="tab",fI="bs.tab",pi=`.${fI}`,hI=`hide${pi}`,dI=`hidden${pi}`,pI=`show${pi}`,gI=`shown${pi}`,mI=`click${pi}`,yI=`keydown${pi}`,_I=`load${pi}`,bI="ArrowLeft",Wp="ArrowRight",wI="ArrowUp",Hp="ArrowDown",su="Home",Vp="End",zn="active",qp="fade",au="show",vI="dropdown",yb=".dropdown-toggle",EI=".dropdown-menu",lu=`:not(${yb})`,SI='.list-group, .nav, [role="tablist"]',AI=".nav-item, .list-group-item",TI=`.nav-link${lu}, .list-group-item${lu}, [role="tab"]${lu}`,_b='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',uu=`${TI}, ${_b}`,xI=`.${zn}[data-bs-toggle="tab"], .${zn}[data-bs-toggle="pill"], .${zn}[data-bs-toggle="list"]`;class ro extends cr{constructor(t){super(t),this._parent=this._element.closest(SI),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),Se.on(this._element,yI,r=>this._keydown(r)))}static get NAME(){return cI}show(){const t=this._element;if(this._elemIsActive(t))return;const r=this._getActiveElem(),n=r?Se.trigger(r,hI,{relatedTarget:t}):null;Se.trigger(t,pI,{relatedTarget:r}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(r,t),this._activate(t,r))}_activate(t,r){if(!t)return;t.classList.add(zn),this._activate(Pe.getElementFromSelector(t));const n=()=>{if(t.getAttribute("role")!=="tab"){t.classList.add(au);return}t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),Se.trigger(t,gI,{relatedTarget:r})};this._queueCallback(n,t,t.classList.contains(qp))}_deactivate(t,r){if(!t)return;t.classList.remove(zn),t.blur(),this._deactivate(Pe.getElementFromSelector(t));const n=()=>{if(t.getAttribute("role")!=="tab"){t.classList.remove(au);return}t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),Se.trigger(t,dI,{relatedTarget:r})};this._queueCallback(n,t,t.classList.contains(qp))}_keydown(t){if(![bI,Wp,wI,Hp,su,Vp].includes(t.key))return;t.stopPropagation(),t.preventDefault();const r=this._getChildren().filter(o=>!vn(o));let n;if([su,Vp].includes(t.key))n=r[t.key===su?0:r.length-1];else{const o=[Wp,Hp].includes(t.key);n=Gh(r,t.target,o,!0)}n&&(n.focus({preventScroll:!0}),ro.getOrCreateInstance(n).show())}_getChildren(){return Pe.find(uu,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,r){this._setAttributeIfNotExists(t,"role","tablist");for(const n of r)this._setInitialAttributesOnChild(n)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const r=this._elemIsActive(t),n=this._getOuterElement(t);t.setAttribute("aria-selected",r),n!==t&&this._setAttributeIfNotExists(n,"role","presentation"),r||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const r=Pe.getElementFromSelector(t);r&&(this._setAttributeIfNotExists(r,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(r,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,r){const n=this._getOuterElement(t);if(!n.classList.contains(vI))return;const o=(i,a)=>{const s=Pe.findOne(i,n);s&&s.classList.toggle(a,r)};o(yb,zn),o(EI,au),n.setAttribute("aria-expanded",r)}_setAttributeIfNotExists(t,r,n){t.hasAttribute(r)||t.setAttribute(r,n)}_elemIsActive(t){return t.classList.contains(zn)}_getInnerElement(t){return t.matches(uu)?t:Pe.findOne(uu,t)}_getOuterElement(t){return t.closest(AI)||t}static jQueryInterface(t){return this.each(function(){const r=ro.getOrCreateInstance(this);if(typeof t=="string"){if(r[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);r[t]()}})}}Se.on(document,mI,_b,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),!vn(this)&&ro.getOrCreateInstance(this).show()});Se.on(window,_I,()=>{for(const e of Pe.find(xI))ro.getOrCreateInstance(e)});tr(ro);const II="toast",CI="bs.toast",In=`.${CI}`,RI=`mouseover${In}`,OI=`mouseout${In}`,kI=`focusin${In}`,MI=`focusout${In}`,NI=`hide${In}`,PI=`hidden${In}`,LI=`show${In}`,BI=`shown${In}`,DI="fade",Kp="hide",Ms="show",Ns="showing",UI={animation:"boolean",autohide:"boolean",delay:"number"},FI={animation:!0,autohide:!0,delay:5e3};class yl extends cr{constructor(t,r){super(t,r),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return FI}static get DefaultType(){return UI}static get NAME(){return II}show(){if(Se.trigger(this._element,LI).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(DI);const r=()=>{this._element.classList.remove(Ns),Se.trigger(this._element,BI),this._maybeScheduleHide()};this._element.classList.remove(Kp),gs(this._element),this._element.classList.add(Ms,Ns),this._queueCallback(r,this._element,this._config.animation)}hide(){if(!this.isShown()||Se.trigger(this._element,NI).defaultPrevented)return;const r=()=>{this._element.classList.add(Kp),this._element.classList.remove(Ns,Ms),Se.trigger(this._element,PI)};this._element.classList.add(Ns),this._queueCallback(r,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ms),super.dispose()}isShown(){return this._element.classList.contains(Ms)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,r){switch(t.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=r;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=r;break}}if(r){this._clearTimeout();return}const n=t.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){Se.on(this._element,RI,t=>this._onInteraction(t,!0)),Se.on(this._element,OI,t=>this._onInteraction(t,!1)),Se.on(this._element,kI,t=>this._onInteraction(t,!0)),Se.on(this._element,MI,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const r=yl.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t](this)}})}}dl(yl);tr(yl);var ed=Object.defineProperty,$I=Object.getOwnPropertyDescriptor,jI=Object.getOwnPropertyNames,WI=Object.prototype.hasOwnProperty,pt=(e,t)=>()=>(e&&(t=e(e=0)),t),Ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),gi=(e,t)=>{for(var r in t)ed(e,r,{get:t[r],enumerable:!0})},HI=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of jI(t))!WI.call(e,o)&&o!==r&&ed(e,o,{get:()=>t[o],enumerable:!(n=$I(t,o))||n.enumerable});return e},ze=e=>HI(ed({},"__esModule",{value:!0}),e),be=pt(()=>{}),He={};gi(He,{_debugEnd:()=>df,_debugProcess:()=>hf,_events:()=>Cf,_eventsCount:()=>Rf,_exiting:()=>Xc,_fatalExceptions:()=>uf,_getActiveHandles:()=>Tb,_getActiveRequests:()=>Ab,_kill:()=>ef,_linkedBinding:()=>Eb,_maxListeners:()=>If,_preload_modules:()=>Tf,_rawDebug:()=>zc,_startProfilerIdleNotifier:()=>pf,_stopProfilerIdleNotifier:()=>gf,_tickCallback:()=>ff,abort:()=>bf,addListener:()=>Of,allowedNodeEnvironmentFlags:()=>af,arch:()=>Lc,argv:()=>Uc,argv0:()=>Af,assert:()=>xb,binding:()=>Hc,chdir:()=>Kc,config:()=>Jc,cpuUsage:()=>Uo,cwd:()=>qc,debugPort:()=>Sf,default:()=>rd,dlopen:()=>Sb,domain:()=>Qc,emit:()=>Lf,emitWarning:()=>Wc,env:()=>Dc,execArgv:()=>Fc,execPath:()=>Ef,exit:()=>of,features:()=>lf,hasUncaughtExceptionCaptureCallback:()=>Ib,hrtime:()=>oa,kill:()=>nf,listeners:()=>Rb,memoryUsage:()=>rf,moduleLoadList:()=>Gc,nextTick:()=>wb,off:()=>Mf,on:()=>Mr,once:()=>kf,openStdin:()=>sf,pid:()=>wf,platform:()=>Bc,ppid:()=>vf,prependListener:()=>Bf,prependOnceListener:()=>Df,reallyExit:()=>Zc,release:()=>Yc,removeAllListeners:()=>Pf,removeListener:()=>Nf,resourceUsage:()=>tf,setSourceMapsEnabled:()=>xf,setUncaughtExceptionCaptureCallback:()=>cf,stderr:()=>yf,stdin:()=>_f,stdout:()=>mf,title:()=>Pc,umask:()=>Vc,uptime:()=>Cb,version:()=>$c,versions:()=>jc});function td(e){throw new Error("Node.js process "+e+" is not supported by JSPM core outside of Node.js")}function VI(){!ti||!Gn||(ti=!1,Gn.length?_r=Gn.concat(_r):Jo=-1,_r.length&&bb())}function bb(){if(!ti){var e=setTimeout(VI,0);ti=!0;for(var t=_r.length;t;){for(Gn=_r,_r=[];++Jo1)for(var r=1;r{be(),ve(),we(),_r=[],ti=!1,Jo=-1,vb.prototype.run=function(){this.fun.apply(null,this.array)},Pc="browser",Lc="x64",Bc="browser",Dc={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Uc=["/usr/bin/node"],Fc=[],$c="v16.8.0",jc={},Wc=function(e,t){console.warn((t?t+": ":"")+e)},Hc=function(e){td("binding")},Vc=function(e){return 0},qc=function(){return"/"},Kc=function(e){},Yc={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},zc=_t,Gc=[],Qc={},Xc=!1,Jc={},Zc=_t,ef=_t,Uo=function(){return{}},tf=Uo,rf=Uo,nf=_t,of=_t,sf=_t,af={},lf={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},uf=_t,cf=_t,ff=_t,hf=_t,df=_t,pf=_t,gf=_t,mf=void 0,yf=void 0,_f=void 0,bf=_t,wf=2,vf=1,Ef="/bin/usr/node",Sf=9229,Af="node",Tf=[],xf=_t,Dr={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},Dr.now===void 0&&(cu=Date.now(),Dr.timing&&Dr.timing.navigationStart&&(cu=Dr.timing.navigationStart),Dr.now=()=>Date.now()-cu),sa=1e9,oa.bigint=function(e){var t=oa(e);return typeof BigInt>"u"?t[0]*sa+t[1]:BigInt(t[0]*sa)+BigInt(t[1])},If=10,Cf={},Rf=0,Of=Mr,kf=Mr,Mf=Mr,Nf=Mr,Pf=Mr,Lf=_t,Bf=Mr,Df=Mr,rd={version:$c,versions:jc,arch:Lc,platform:Bc,release:Yc,_rawDebug:zc,moduleLoadList:Gc,binding:Hc,_linkedBinding:Eb,_events:Cf,_eventsCount:Rf,_maxListeners:If,on:Mr,addListener:Of,once:kf,off:Mf,removeListener:Nf,removeAllListeners:Pf,emit:Lf,prependListener:Bf,prependOnceListener:Df,listeners:Rb,domain:Qc,_exiting:Xc,config:Jc,dlopen:Sb,uptime:Cb,_getActiveRequests:Ab,_getActiveHandles:Tb,reallyExit:Zc,_kill:ef,cpuUsage:Uo,resourceUsage:tf,memoryUsage:rf,kill:nf,exit:of,openStdin:sf,allowedNodeEnvironmentFlags:af,assert:xb,features:lf,_fatalExceptions:uf,setUncaughtExceptionCaptureCallback:cf,hasUncaughtExceptionCaptureCallback:Ib,emitWarning:Wc,nextTick:wb,_tickCallback:ff,_debugProcess:hf,_debugEnd:df,_startProfilerIdleNotifier:pf,_stopProfilerIdleNotifier:gf,stdout:mf,stdin:_f,stderr:yf,abort:bf,umask:Vc,chdir:Kc,cwd:qc,env:Dc,title:Pc,argv:Uc,execArgv:Fc,pid:wf,ppid:vf,execPath:Ef,debugPort:Sf,hrtime:oa,argv0:Af,_preload_modules:Tf,setSourceMapsEnabled:xf}}),we=pt(()=>{qI()}),gt={};gi(gt,{Buffer:()=>Pa,INSPECT_MAX_BYTES:()=>Ob,default:()=>Nr,kMaxLength:()=>kb});function KI(){if(Uf)return Ni;Uf=!0,Ni.byteLength=s,Ni.toByteArray=u,Ni.fromByteArray=p;for(var e=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,i=n.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var b=g.indexOf("=");b===-1&&(b=_);var E=b===_?0:4-b%4;return[b,E]}function s(g){var _=a(g),b=_[0],E=_[1];return(b+E)*3/4-E}function l(g,_,b){return(_+b)*3/4-b}function u(g){var _,b=a(g),E=b[0],v=b[1],S=new r(l(g,E,v)),w=0,C=v>0?E-4:E,R;for(R=0;R>16&255,S[w++]=_>>8&255,S[w++]=_&255;return v===2&&(_=t[g.charCodeAt(R)]<<2|t[g.charCodeAt(R+1)]>>4,S[w++]=_&255),v===1&&(_=t[g.charCodeAt(R)]<<10|t[g.charCodeAt(R+1)]<<4|t[g.charCodeAt(R+2)]>>2,S[w++]=_>>8&255,S[w++]=_&255),S}function c(g){return e[g>>18&63]+e[g>>12&63]+e[g>>6&63]+e[g&63]}function d(g,_,b){for(var E,v=[],S=_;SC?C:w+S));return E===1?(_=g[b-1],v.push(e[_>>2]+e[_<<4&63]+"==")):E===2&&(_=(g[b-2]<<8)+g[b-1],v.push(e[_>>10]+e[_>>4&63]+e[_<<2&63]+"=")),v.join("")}return Ni}function YI(){return Ff?Fo:(Ff=!0,Fo.read=function(e,t,r,n,o){var i,a,s=o*8-n-1,l=(1<>1,c=-7,d=r?o-1:0,p=r?-1:1,g=e[t+d];for(d+=p,i=g&(1<<-c)-1,g>>=-c,c+=s;c>0;i=i*256+e[t+d],d+=p,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=n;c>0;a=a*256+e[t+d],d+=p,c-=8);if(i===0)i=1-u;else{if(i===l)return a?NaN:(g?-1:1)*(1/0);a=a+Math.pow(2,n),i=i-u}return(g?-1:1)*a*Math.pow(2,i-n)},Fo.write=function(e,t,r,n,o,i){var a,s,l,u=i*8-o-1,c=(1<>1,p=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:i-1,_=n?1:-1,b=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+d>=1?t+=p/l:t+=p*Math.pow(2,1-d),t*l>=2&&(a++,l/=2),a+d>=c?(s=0,a=c):a+d>=1?(s=(t*l-1)*Math.pow(2,o),a=a+d):(s=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[r+g]=s&255,g+=_,s/=256,o-=8);for(a=a<0;e[r+g]=a&255,g+=_,a/=256,u-=8);e[r+g-_]|=b*128},Fo)}function zI(){if($f)return un;$f=!0;let e=KI(),t=YI(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;un.Buffer=a,un.SlowBuffer=v,un.INSPECT_MAX_BYTES=50;let n=2147483647;un.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=o(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function o(){try{let y=new Uint8Array(1),h={foo:function(){return 42}};return Object.setPrototypeOf(h,Uint8Array.prototype),Object.setPrototypeOf(y,h),y.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(y){if(y>n)throw new RangeError('The value "'+y+'" is invalid for option "size"');let h=new Uint8Array(y);return Object.setPrototypeOf(h,a.prototype),h}function a(y,h,f){if(typeof y=="number"){if(typeof h=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return c(y)}return s(y,h,f)}a.poolSize=8192;function s(y,h,f){if(typeof y=="string")return d(y,h);if(ArrayBuffer.isView(y))return g(y);if(y==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof y);if(K(y,ArrayBuffer)||y&&K(y.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(K(y,SharedArrayBuffer)||y&&K(y.buffer,SharedArrayBuffer)))return _(y,h,f);if(typeof y=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let m=y.valueOf&&y.valueOf();if(m!=null&&m!==y)return a.from(m,h,f);let x=b(y);if(x)return x;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof y[Symbol.toPrimitive]=="function")return a.from(y[Symbol.toPrimitive]("string"),h,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof y)}a.from=function(y,h,f){return s(y,h,f)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function l(y){if(typeof y!="number")throw new TypeError('"size" argument must be of type number');if(y<0)throw new RangeError('The value "'+y+'" is invalid for option "size"')}function u(y,h,f){return l(y),y<=0?i(y):h!==void 0?typeof f=="string"?i(y).fill(h,f):i(y).fill(h):i(y)}a.alloc=function(y,h,f){return u(y,h,f)};function c(y){return l(y),i(y<0?0:E(y)|0)}a.allocUnsafe=function(y){return c(y)},a.allocUnsafeSlow=function(y){return c(y)};function d(y,h){if((typeof h!="string"||h==="")&&(h="utf8"),!a.isEncoding(h))throw new TypeError("Unknown encoding: "+h);let f=S(y,h)|0,m=i(f),x=m.write(y,h);return x!==f&&(m=m.slice(0,x)),m}function p(y){let h=y.length<0?0:E(y.length)|0,f=i(h);for(let m=0;m=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return y|0}function v(y){return+y!=y&&(y=0),a.alloc(+y)}a.isBuffer=function(y){return y!=null&&y._isBuffer===!0&&y!==a.prototype},a.compare=function(y,h){if(K(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),K(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),!a.isBuffer(y)||!a.isBuffer(h))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(y===h)return 0;let f=y.length,m=h.length;for(let x=0,H=Math.min(f,m);xm.length?(a.isBuffer(H)||(H=a.from(H)),H.copy(m,x)):Uint8Array.prototype.set.call(m,H,x);else if(a.isBuffer(H))H.copy(m,x);else throw new TypeError('"list" argument must be an Array of Buffers');x+=H.length}return m};function S(y,h){if(a.isBuffer(y))return y.length;if(ArrayBuffer.isView(y)||K(y,ArrayBuffer))return y.byteLength;if(typeof y!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof y);let f=y.length,m=arguments.length>2&&arguments[2]===!0;if(!m&&f===0)return 0;let x=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return B(y).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return f*2;case"hex":return f>>>1;case"base64":return j(y).length;default:if(x)return m?-1:B(y).length;h=(""+h).toLowerCase(),x=!0}}a.byteLength=S;function w(y,h,f){let m=!1;if((h===void 0||h<0)&&(h=0),h>this.length||((f===void 0||f>this.length)&&(f=this.length),f<=0)||(f>>>=0,h>>>=0,f<=h))return"";for(y||(y="utf8");;)switch(y){case"hex":return z(this,h,f);case"utf8":case"utf-8":return $(this,h,f);case"ascii":return de(this,h,f);case"latin1":case"binary":return pe(this,h,f);case"base64":return L(this,h,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ge(this,h,f);default:if(m)throw new TypeError("Unknown encoding: "+y);y=(y+"").toLowerCase(),m=!0}}a.prototype._isBuffer=!0;function C(y,h,f){let m=y[h];y[h]=y[f],y[f]=m}a.prototype.swap16=function(){let y=this.length;if(y%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let h=0;hh&&(y+=" ... "),""},r&&(a.prototype[r]=a.prototype.inspect),a.prototype.compare=function(y,h,f,m,x){if(K(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),!a.isBuffer(y))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof y);if(h===void 0&&(h=0),f===void 0&&(f=y?y.length:0),m===void 0&&(m=0),x===void 0&&(x=this.length),h<0||f>y.length||m<0||x>this.length)throw new RangeError("out of range index");if(m>=x&&h>=f)return 0;if(m>=x)return-1;if(h>=f)return 1;if(h>>>=0,f>>>=0,m>>>=0,x>>>=0,this===y)return 0;let H=x-m,oe=f-h,_e=Math.min(H,oe),xe=this.slice(m,x),Re=y.slice(h,f);for(let Te=0;Te<_e;++Te)if(xe[Te]!==Re[Te]){H=xe[Te],oe=Re[Te];break}return H2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),f=+f,P(f)&&(f=x?0:y.length-1),f<0&&(f=y.length+f),f>=y.length){if(x)return-1;f=y.length-1}else if(f<0)if(x)f=0;else return-1;if(typeof h=="string"&&(h=a.from(h,m)),a.isBuffer(h))return h.length===0?-1:O(y,h,f,m,x);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?x?Uint8Array.prototype.indexOf.call(y,h,f):Uint8Array.prototype.lastIndexOf.call(y,h,f):O(y,[h],f,m,x);throw new TypeError("val must be string, number or Buffer")}function O(y,h,f,m,x){let H=1,oe=y.length,_e=h.length;if(m!==void 0&&(m=String(m).toLowerCase(),m==="ucs2"||m==="ucs-2"||m==="utf16le"||m==="utf-16le")){if(y.length<2||h.length<2)return-1;H=2,oe/=2,_e/=2,f/=2}function xe(Te,ke){return H===1?Te[ke]:Te.readUInt16BE(ke*H)}let Re;if(x){let Te=-1;for(Re=f;Reoe&&(f=oe-_e),Re=f;Re>=0;Re--){let Te=!0;for(let ke=0;ke<_e;ke++)if(xe(y,Re+ke)!==xe(h,ke)){Te=!1;break}if(Te)return Re}return-1}a.prototype.includes=function(y,h,f){return this.indexOf(y,h,f)!==-1},a.prototype.indexOf=function(y,h,f){return R(this,y,h,f,!0)},a.prototype.lastIndexOf=function(y,h,f){return R(this,y,h,f,!1)};function D(y,h,f,m){f=Number(f)||0;let x=y.length-f;m?(m=Number(m),m>x&&(m=x)):m=x;let H=h.length;m>H/2&&(m=H/2);let oe;for(oe=0;oe>>0,isFinite(f)?(f=f>>>0,m===void 0&&(m="utf8")):(m=f,f=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let x=this.length-h;if((f===void 0||f>x)&&(f=x),y.length>0&&(f<0||h<0)||h>this.length)throw new RangeError("Attempt to write outside buffer bounds");m||(m="utf8");let H=!1;for(;;)switch(m){case"hex":return D(this,y,h,f);case"utf8":case"utf-8":return V(this,y,h,f);case"ascii":case"latin1":case"binary":return re(this,y,h,f);case"base64":return G(this,y,h,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X(this,y,h,f);default:if(H)throw new TypeError("Unknown encoding: "+m);m=(""+m).toLowerCase(),H=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function L(y,h,f){return h===0&&f===y.length?e.fromByteArray(y):e.fromByteArray(y.slice(h,f))}function $(y,h,f){f=Math.min(y.length,f);let m=[],x=h;for(;x239?4:H>223?3:H>191?2:1;if(x+_e<=f){let xe,Re,Te,ke;switch(_e){case 1:H<128&&(oe=H);break;case 2:xe=y[x+1],(xe&192)===128&&(ke=(H&31)<<6|xe&63,ke>127&&(oe=ke));break;case 3:xe=y[x+1],Re=y[x+2],(xe&192)===128&&(Re&192)===128&&(ke=(H&15)<<12|(xe&63)<<6|Re&63,ke>2047&&(ke<55296||ke>57343)&&(oe=ke));break;case 4:xe=y[x+1],Re=y[x+2],Te=y[x+3],(xe&192)===128&&(Re&192)===128&&(Te&192)===128&&(ke=(H&15)<<18|(xe&63)<<12|(Re&63)<<6|Te&63,ke>65535&&ke<1114112&&(oe=ke))}}oe===null?(oe=65533,_e=1):oe>65535&&(oe-=65536,m.push(oe>>>10&1023|55296),oe=56320|oe&1023),m.push(oe),x+=_e}return fe(m)}let ae=4096;function fe(y){let h=y.length;if(h<=ae)return String.fromCharCode.apply(String,y);let f="",m=0;for(;mm)&&(f=m);let x="";for(let H=h;Hf&&(y=f),h<0?(h+=f,h<0&&(h=0)):h>f&&(h=f),hf)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(y,h,f){y=y>>>0,h=h>>>0,f||Y(y,h,this.length);let m=this[y],x=1,H=0;for(;++H>>0,h=h>>>0,f||Y(y,h,this.length);let m=this[y+--h],x=1;for(;h>0&&(x*=256);)m+=this[y+--h]*x;return m},a.prototype.readUint8=a.prototype.readUInt8=function(y,h){return y=y>>>0,h||Y(y,1,this.length),this[y]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(y,h){return y=y>>>0,h||Y(y,2,this.length),this[y]|this[y+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(y,h){return y=y>>>0,h||Y(y,2,this.length),this[y]<<8|this[y+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),(this[y]|this[y+1]<<8|this[y+2]<<16)+this[y+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),this[y]*16777216+(this[y+1]<<16|this[y+2]<<8|this[y+3])},a.prototype.readBigUInt64LE=le(function(y){y=y>>>0,A(y,"offset");let h=this[y],f=this[y+7];(h===void 0||f===void 0)&&T(y,this.length-8);let m=h+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24,x=this[++y]+this[++y]*2**8+this[++y]*2**16+f*2**24;return BigInt(m)+(BigInt(x)<>>0,A(y,"offset");let h=this[y],f=this[y+7];(h===void 0||f===void 0)&&T(y,this.length-8);let m=h*2**24+this[++y]*2**16+this[++y]*2**8+this[++y],x=this[++y]*2**24+this[++y]*2**16+this[++y]*2**8+f;return(BigInt(m)<>>0,h=h>>>0,f||Y(y,h,this.length);let m=this[y],x=1,H=0;for(;++H=x&&(m-=Math.pow(2,8*h)),m},a.prototype.readIntBE=function(y,h,f){y=y>>>0,h=h>>>0,f||Y(y,h,this.length);let m=h,x=1,H=this[y+--m];for(;m>0&&(x*=256);)H+=this[y+--m]*x;return x*=128,H>=x&&(H-=Math.pow(2,8*h)),H},a.prototype.readInt8=function(y,h){return y=y>>>0,h||Y(y,1,this.length),this[y]&128?(255-this[y]+1)*-1:this[y]},a.prototype.readInt16LE=function(y,h){y=y>>>0,h||Y(y,2,this.length);let f=this[y]|this[y+1]<<8;return f&32768?f|4294901760:f},a.prototype.readInt16BE=function(y,h){y=y>>>0,h||Y(y,2,this.length);let f=this[y+1]|this[y]<<8;return f&32768?f|4294901760:f},a.prototype.readInt32LE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),this[y]|this[y+1]<<8|this[y+2]<<16|this[y+3]<<24},a.prototype.readInt32BE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),this[y]<<24|this[y+1]<<16|this[y+2]<<8|this[y+3]},a.prototype.readBigInt64LE=le(function(y){y=y>>>0,A(y,"offset");let h=this[y],f=this[y+7];(h===void 0||f===void 0)&&T(y,this.length-8);let m=this[y+4]+this[y+5]*2**8+this[y+6]*2**16+(f<<24);return(BigInt(m)<>>0,A(y,"offset");let h=this[y],f=this[y+7];(h===void 0||f===void 0)&&T(y,this.length-8);let m=(h<<24)+this[++y]*2**16+this[++y]*2**8+this[++y];return(BigInt(m)<>>0,h||Y(y,4,this.length),t.read(this,y,!0,23,4)},a.prototype.readFloatBE=function(y,h){return y=y>>>0,h||Y(y,4,this.length),t.read(this,y,!1,23,4)},a.prototype.readDoubleLE=function(y,h){return y=y>>>0,h||Y(y,8,this.length),t.read(this,y,!0,52,8)},a.prototype.readDoubleBE=function(y,h){return y=y>>>0,h||Y(y,8,this.length),t.read(this,y,!1,52,8)};function he(y,h,f,m,x,H){if(!a.isBuffer(y))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>x||hy.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(y,h,f,m){if(y=+y,h=h>>>0,f=f>>>0,!m){let oe=Math.pow(2,8*f)-1;he(this,y,h,f,oe,0)}let x=1,H=0;for(this[h]=y&255;++H>>0,f=f>>>0,!m){let oe=Math.pow(2,8*f)-1;he(this,y,h,f,oe,0)}let x=f-1,H=1;for(this[h+x]=y&255;--x>=0&&(H*=256);)this[h+x]=y/H&255;return h+f},a.prototype.writeUint8=a.prototype.writeUInt8=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,1,255,0),this[h]=y&255,h+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,2,65535,0),this[h]=y&255,this[h+1]=y>>>8,h+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,2,65535,0),this[h]=y>>>8,this[h+1]=y&255,h+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,4,4294967295,0),this[h+3]=y>>>24,this[h+2]=y>>>16,this[h+1]=y>>>8,this[h]=y&255,h+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,4,4294967295,0),this[h]=y>>>24,this[h+1]=y>>>16,this[h+2]=y>>>8,this[h+3]=y&255,h+4};function N(y,h,f,m,x){ee(h,m,x,y,f,7);let H=Number(h&BigInt(4294967295));y[f++]=H,H=H>>8,y[f++]=H,H=H>>8,y[f++]=H,H=H>>8,y[f++]=H;let oe=Number(h>>BigInt(32)&BigInt(4294967295));return y[f++]=oe,oe=oe>>8,y[f++]=oe,oe=oe>>8,y[f++]=oe,oe=oe>>8,y[f++]=oe,f}function ne(y,h,f,m,x){ee(h,m,x,y,f,7);let H=Number(h&BigInt(4294967295));y[f+7]=H,H=H>>8,y[f+6]=H,H=H>>8,y[f+5]=H,H=H>>8,y[f+4]=H;let oe=Number(h>>BigInt(32)&BigInt(4294967295));return y[f+3]=oe,oe=oe>>8,y[f+2]=oe,oe=oe>>8,y[f+1]=oe,oe=oe>>8,y[f]=oe,f+8}a.prototype.writeBigUInt64LE=le(function(y,h=0){return N(this,y,h,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=le(function(y,h=0){return ne(this,y,h,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(y,h,f,m){if(y=+y,h=h>>>0,!m){let _e=Math.pow(2,8*f-1);he(this,y,h,f,_e-1,-_e)}let x=0,H=1,oe=0;for(this[h]=y&255;++x>0)-oe&255;return h+f},a.prototype.writeIntBE=function(y,h,f,m){if(y=+y,h=h>>>0,!m){let _e=Math.pow(2,8*f-1);he(this,y,h,f,_e-1,-_e)}let x=f-1,H=1,oe=0;for(this[h+x]=y&255;--x>=0&&(H*=256);)y<0&&oe===0&&this[h+x+1]!==0&&(oe=1),this[h+x]=(y/H>>0)-oe&255;return h+f},a.prototype.writeInt8=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,1,127,-128),y<0&&(y=255+y+1),this[h]=y&255,h+1},a.prototype.writeInt16LE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,2,32767,-32768),this[h]=y&255,this[h+1]=y>>>8,h+2},a.prototype.writeInt16BE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,2,32767,-32768),this[h]=y>>>8,this[h+1]=y&255,h+2},a.prototype.writeInt32LE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,4,2147483647,-2147483648),this[h]=y&255,this[h+1]=y>>>8,this[h+2]=y>>>16,this[h+3]=y>>>24,h+4},a.prototype.writeInt32BE=function(y,h,f){return y=+y,h=h>>>0,f||he(this,y,h,4,2147483647,-2147483648),y<0&&(y=4294967295+y+1),this[h]=y>>>24,this[h+1]=y>>>16,this[h+2]=y>>>8,this[h+3]=y&255,h+4},a.prototype.writeBigInt64LE=le(function(y,h=0){return N(this,y,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=le(function(y,h=0){return ne(this,y,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ye(y,h,f,m,x,H){if(f+m>y.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function se(y,h,f,m,x){return h=+h,f=f>>>0,x||ye(y,h,f,4),t.write(y,h,f,m,23,4),f+4}a.prototype.writeFloatLE=function(y,h,f){return se(this,y,h,!0,f)},a.prototype.writeFloatBE=function(y,h,f){return se(this,y,h,!1,f)};function Q(y,h,f,m,x){return h=+h,f=f>>>0,x||ye(y,h,f,8),t.write(y,h,f,m,52,8),f+8}a.prototype.writeDoubleLE=function(y,h,f){return Q(this,y,h,!0,f)},a.prototype.writeDoubleBE=function(y,h,f){return Q(this,y,h,!1,f)},a.prototype.copy=function(y,h,f,m){if(!a.isBuffer(y))throw new TypeError("argument should be a Buffer");if(f||(f=0),!m&&m!==0&&(m=this.length),h>=y.length&&(h=y.length),h||(h=0),m>0&&m=this.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("sourceEnd out of bounds");m>this.length&&(m=this.length),y.length-h>>0,f=f===void 0?this.length:f>>>0,y||(y=0);let x;if(typeof y=="number")for(x=h;x2**32?x=W(String(f)):typeof f=="bigint"&&(x=String(f),(f>BigInt(2)**BigInt(32)||f<-(BigInt(2)**BigInt(32)))&&(x=W(x)),x+="n"),m+=` It must be ${h}. Received ${x}`,m},RangeError);function W(y){let h="",f=y.length,m=y[0]==="-"?1:0;for(;f>=m+4;f-=3)h=`_${y.slice(f-3,f)}${h}`;return`${y.slice(0,f)}${h}`}function te(y,h,f){A(h,"offset"),(y[h]===void 0||y[h+f]===void 0)&&T(h,y.length-(f+1))}function ee(y,h,f,m,x,H){if(y>f||y= 0${oe} and < 2${oe} ** ${(H+1)*8}${oe}`:_e=`>= -(2${oe} ** ${(H+1)*8-1}${oe}) and < 2 ** ${(H+1)*8-1}${oe}`,new q.ERR_OUT_OF_RANGE("value",_e,y)}te(m,x,H)}function A(y,h){if(typeof y!="number")throw new q.ERR_INVALID_ARG_TYPE(h,"number",y)}function T(y,h,f){throw Math.floor(y)!==y?(A(y,f),new q.ERR_OUT_OF_RANGE("offset","an integer",y)):h<0?new q.ERR_BUFFER_OUT_OF_BOUNDS:new q.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${h}`,y)}let M=/[^+/0-9A-Za-z-_]/g;function I(y){if(y=y.split("=")[0],y=y.trim().replace(M,""),y.length<2)return"";for(;y.length%4!==0;)y=y+"=";return y}function B(y,h){h=h||1/0;let f,m=y.length,x=null,H=[];for(let oe=0;oe55295&&f<57344){if(!x){if(f>56319){(h-=3)>-1&&H.push(239,191,189);continue}else if(oe+1===m){(h-=3)>-1&&H.push(239,191,189);continue}x=f;continue}if(f<56320){(h-=3)>-1&&H.push(239,191,189),x=f;continue}f=(x-55296<<10|f-56320)+65536}else x&&(h-=3)>-1&&H.push(239,191,189);if(x=null,f<128){if((h-=1)<0)break;H.push(f)}else if(f<2048){if((h-=2)<0)break;H.push(f>>6|192,f&63|128)}else if(f<65536){if((h-=3)<0)break;H.push(f>>12|224,f>>6&63|128,f&63|128)}else if(f<1114112){if((h-=4)<0)break;H.push(f>>18|240,f>>12&63|128,f>>6&63|128,f&63|128)}else throw new Error("Invalid code point")}return H}function U(y){let h=[];for(let f=0;f>8,x=f%256,H.push(x),H.push(m);return H}function j(y){return e.toByteArray(I(y))}function F(y,h,f,m){let x;for(x=0;x=h.length||x>=y.length);++x)h[x+f]=y[x];return x}function K(y,h){return y instanceof h||y!=null&&y.constructor!=null&&y.constructor.name!=null&&y.constructor.name===h.name}function P(y){return y!==y}let J=function(){let y="0123456789abcdef",h=new Array(256);for(let f=0;f<16;++f){let m=f*16;for(let x=0;x<16;++x)h[m+x]=y[f]+y[x]}return h}();function le(y){return typeof BigInt>"u"?me:y}function me(){throw new Error("BigInt not supported")}return un}var Ni,Uf,Fo,Ff,un,$f,Nr,Pa,Ob,kb,mt=pt(()=>{be(),ve(),we(),Ni={},Uf=!1,Fo={},Ff=!1,un={},$f=!1,Nr=zI(),Nr.Buffer,Nr.SlowBuffer,Nr.INSPECT_MAX_BYTES,Nr.kMaxLength,Pa=Nr.Buffer,Ob=Nr.INSPECT_MAX_BYTES,kb=Nr.kMaxLength}),ve=pt(()=>{mt()}),GI=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=class{constructor(r){this.aliasToTopic={},this.max=r}put(r,n){return n===0||n>this.max?!1:(this.aliasToTopic[n]=r,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(r){return this.aliasToTopic[r]}clear(){this.aliasToTopic={}}};e.default=t}),ut=Ae((e,t)=>{be(),ve(),we(),t.exports={ArrayIsArray(r){return Array.isArray(r)},ArrayPrototypeIncludes(r,n){return r.includes(n)},ArrayPrototypeIndexOf(r,n){return r.indexOf(n)},ArrayPrototypeJoin(r,n){return r.join(n)},ArrayPrototypeMap(r,n){return r.map(n)},ArrayPrototypePop(r,n){return r.pop(n)},ArrayPrototypePush(r,n){return r.push(n)},ArrayPrototypeSlice(r,n,o){return r.slice(n,o)},Error,FunctionPrototypeCall(r,n,...o){return r.call(n,...o)},FunctionPrototypeSymbolHasInstance(r,n){return Function.prototype[Symbol.hasInstance].call(r,n)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(r,n){return Object.defineProperties(r,n)},ObjectDefineProperty(r,n,o){return Object.defineProperty(r,n,o)},ObjectGetOwnPropertyDescriptor(r,n){return Object.getOwnPropertyDescriptor(r,n)},ObjectKeys(r){return Object.keys(r)},ObjectSetPrototypeOf(r,n){return Object.setPrototypeOf(r,n)},Promise,PromisePrototypeCatch(r,n){return r.catch(n)},PromisePrototypeThen(r,n,o){return r.then(n,o)},PromiseReject(r){return Promise.reject(r)},ReflectApply:Reflect.apply,RegExpPrototypeTest(r,n){return r.test(n)},SafeSet:Set,String,StringPrototypeSlice(r,n,o){return r.slice(n,o)},StringPrototypeToLowerCase(r){return r.toLowerCase()},StringPrototypeToUpperCase(r){return r.toUpperCase()},StringPrototypeTrim(r){return r.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(r,n,o){return r.set(n,o)},Uint8Array}}),zr=Ae((e,t)=>{be(),ve(),we();var r=(mt(),ze(gt)),n=Object.getPrototypeOf(async function(){}).constructor,o=globalThis.Blob||r.Blob,i=typeof o<"u"?function(s){return s instanceof o}:function(s){return!1},a=class extends Error{constructor(s){if(!Array.isArray(s))throw new TypeError(`Expected input to be an Array, got ${typeof s}`);let l="";for(let u=0;u{s=u,l=c}),resolve:s,reject:l}},promisify(s){return new Promise((l,u)=>{s((c,...d)=>c?u(c):l(...d))})},debuglog(){return function(){}},format(s,...l){return s.replace(/%([sdifj])/g,function(...[u,c]){let d=l.shift();return c==="f"?d.toFixed(6):c==="j"?JSON.stringify(d):c==="s"&&typeof d=="object"?`${d.constructor!==Object?d.constructor.name:""} {}`.trim():d.toString()})},inspect(s){switch(typeof s){case"string":if(s.includes("'"))if(s.includes('"')){if(!s.includes("`")&&!s.includes("${"))return`\`${s}\``}else return`"${s}"`;return`'${s}'`;case"number":return isNaN(s)?"NaN":Object.is(s,-0)?String(s):s;case"bigint":return`${String(s)}n`;case"boolean":case"undefined":return String(s);case"object":return"{}"}},types:{isAsyncFunction(s){return s instanceof n},isArrayBufferView(s){return ArrayBuffer.isView(s)}},isBlob:i},t.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),nd=Ae((e,t)=>{be(),ve(),we();var{AbortController:r,AbortSignal:n}=typeof self<"u"?self:typeof window<"u"?window:void 0;t.exports=r,t.exports.AbortSignal=n,t.exports.default=r}),Bt=Ae((e,t)=>{be(),ve(),we();var{format:r,inspect:n,AggregateError:o}=zr(),i=globalThis.AggregateError||o,a=Symbol("kIsNodeError"),s=["string","function","number","object","Function","Object","boolean","bigint","symbol"],l=/^([A-Z][a-z0-9]*)+$/,u="__node_internal_",c={};function d(S,w){if(!S)throw new c.ERR_INTERNAL_ASSERTION(w)}function p(S){let w="",C=S.length,R=S[0]==="-"?1:0;for(;C>=R+4;C-=3)w=`_${S.slice(C-3,C)}${w}`;return`${S.slice(0,C)}${w}`}function g(S,w,C){if(typeof w=="function")return d(w.length<=C.length,`Code: ${S}; The provided arguments length (${C.length}) does not match the required ones (${w.length}).`),w(...C);let R=(w.match(/%[dfijoOs]/g)||[]).length;return d(R===C.length,`Code: ${S}; The provided arguments length (${C.length}) does not match the required ones (${R}).`),C.length===0?w:r(w,...C)}function _(S,w,C){C||(C=Error);class R extends C{constructor(...D){super(g(S,w,D))}toString(){return`${this.name} [${S}]: ${this.message}`}}Object.defineProperties(R.prototype,{name:{value:C.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${S}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),R.prototype.code=S,R.prototype[a]=!0,c[S]=R}function b(S){let w=u+S.name;return Object.defineProperty(S,"name",{value:w}),S}function E(S,w){if(S&&w&&S!==w){if(Array.isArray(w.errors))return w.errors.push(S),w;let C=new i([w,S],w.message);return C.code=w.code,C}return S||w}var v=class extends Error{constructor(S="The operation was aborted",w=void 0){if(w!==void 0&&typeof w!="object")throw new c.ERR_INVALID_ARG_TYPE("options","Object",w);super(S,w),this.code="ABORT_ERR",this.name="AbortError"}};_("ERR_ASSERTION","%s",Error),_("ERR_INVALID_ARG_TYPE",(S,w,C)=>{d(typeof S=="string","'name' must be a string"),Array.isArray(w)||(w=[w]);let R="The ";S.endsWith(" argument")?R+=`${S} `:R+=`"${S}" ${S.includes(".")?"property":"argument"} `,R+="must be ";let O=[],D=[],V=[];for(let G of w)d(typeof G=="string","All expected entries have to be of type string"),s.includes(G)?O.push(G.toLowerCase()):l.test(G)?D.push(G):(d(G!=="object",'The value "object" should be written as "Object"'),V.push(G));if(D.length>0){let G=O.indexOf("object");G!==-1&&(O.splice(O,G,1),D.push("Object"))}if(O.length>0){switch(O.length){case 1:R+=`of type ${O[0]}`;break;case 2:R+=`one of type ${O[0]} or ${O[1]}`;break;default:{let G=O.pop();R+=`one of type ${O.join(", ")}, or ${G}`}}(D.length>0||V.length>0)&&(R+=" or ")}if(D.length>0){switch(D.length){case 1:R+=`an instance of ${D[0]}`;break;case 2:R+=`an instance of ${D[0]} or ${D[1]}`;break;default:{let G=D.pop();R+=`an instance of ${D.join(", ")}, or ${G}`}}V.length>0&&(R+=" or ")}switch(V.length){case 0:break;case 1:V[0].toLowerCase()!==V[0]&&(R+="an "),R+=`${V[0]}`;break;case 2:R+=`one of ${V[0]} or ${V[1]}`;break;default:{let G=V.pop();R+=`one of ${V.join(", ")}, or ${G}`}}if(C==null)R+=`. Received ${C}`;else if(typeof C=="function"&&C.name)R+=`. Received function ${C.name}`;else if(typeof C=="object"){var re;if((re=C.constructor)!==null&&re!==void 0&&re.name)R+=`. Received an instance of ${C.constructor.name}`;else{let G=n(C,{depth:-1});R+=`. Received ${G}`}}else{let G=n(C,{colors:!1});G.length>25&&(G=`${G.slice(0,25)}...`),R+=`. Received type ${typeof C} (${G})`}return R},TypeError),_("ERR_INVALID_ARG_VALUE",(S,w,C="is invalid")=>{let R=n(w);return R.length>128&&(R=R.slice(0,128)+"..."),`The ${S.includes(".")?"property":"argument"} '${S}' ${C}. Received ${R}`},TypeError),_("ERR_INVALID_RETURN_VALUE",(S,w,C)=>{var R;let O=C!=null&&(R=C.constructor)!==null&&R!==void 0&&R.name?`instance of ${C.constructor.name}`:`type ${typeof C}`;return`Expected ${S} to be returned from the "${w}" function but got ${O}.`},TypeError),_("ERR_MISSING_ARGS",(...S)=>{d(S.length>0,"At least one arg needs to be specified");let w,C=S.length;switch(S=(Array.isArray(S)?S:[S]).map(R=>`"${R}"`).join(" or "),C){case 1:w+=`The ${S[0]} argument`;break;case 2:w+=`The ${S[0]} and ${S[1]} arguments`;break;default:{let R=S.pop();w+=`The ${S.join(", ")}, and ${R} arguments`}break}return`${w} must be specified`},TypeError),_("ERR_OUT_OF_RANGE",(S,w,C)=>{d(w,'Missing "range" argument');let R;return Number.isInteger(C)&&Math.abs(C)>2**32?R=p(String(C)):typeof C=="bigint"?(R=String(C),(C>2n**32n||C<-(2n**32n))&&(R=p(R)),R+="n"):R=n(C),`The value of "${S}" is out of range. It must be ${w}. Received ${R}`},RangeError),_("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),_("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),_("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),_("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),_("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),_("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),_("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),_("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),_("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),_("ERR_STREAM_WRITE_AFTER_END","write after end",Error),_("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),t.exports={AbortError:v,aggregateTwoErrors:b(E),hideStackFrames:b,codes:c}}),_l=Ae((e,t)=>{be(),ve(),we();var{ArrayIsArray:r,ArrayPrototypeIncludes:n,ArrayPrototypeJoin:o,ArrayPrototypeMap:i,NumberIsInteger:a,NumberIsNaN:s,NumberMAX_SAFE_INTEGER:l,NumberMIN_SAFE_INTEGER:u,NumberParseInt:c,ObjectPrototypeHasOwnProperty:d,RegExpPrototypeExec:p,String:g,StringPrototypeToUpperCase:_,StringPrototypeTrim:b}=ut(),{hideStackFrames:E,codes:{ERR_SOCKET_BAD_PORT:v,ERR_INVALID_ARG_TYPE:S,ERR_INVALID_ARG_VALUE:w,ERR_OUT_OF_RANGE:C,ERR_UNKNOWN_SIGNAL:R}}=Bt(),{normalizeEncoding:O}=zr(),{isAsyncFunction:D,isArrayBufferView:V}=zr().types,re={};function G(F){return F===(F|0)}function X(F){return F===F>>>0}var L=/^[0-7]+$/,$="must be a 32-bit unsigned integer or an octal string";function ae(F,K,P){if(typeof F>"u"&&(F=P),typeof F=="string"){if(p(L,F)===null)throw new w(K,F,$);F=c(F,8)}return pe(F,K),F}var fe=E((F,K,P=u,J=l)=>{if(typeof F!="number")throw new S(K,"number",F);if(!a(F))throw new C(K,"an integer",F);if(FJ)throw new C(K,`>= ${P} && <= ${J}`,F)}),de=E((F,K,P=-2147483648,J=2147483647)=>{if(typeof F!="number")throw new S(K,"number",F);if(!a(F))throw new C(K,"an integer",F);if(FJ)throw new C(K,`>= ${P} && <= ${J}`,F)}),pe=E((F,K,P=!1)=>{if(typeof F!="number")throw new S(K,"number",F);if(!a(F))throw new C(K,"an integer",F);let J=P?1:0,le=4294967295;if(Fle)throw new C(K,`>= ${J} && <= ${le}`,F)});function z(F,K){if(typeof F!="string")throw new S(K,"string",F)}function ge(F,K,P=void 0,J){if(typeof F!="number")throw new S(K,"number",F);if(P!=null&&FJ||(P!=null||J!=null)&&s(F))throw new C(K,`${P!=null?`>= ${P}`:""}${P!=null&&J!=null?" && ":""}${J!=null?`<= ${J}`:""}`,F)}var Y=E((F,K,P)=>{if(!n(P,F)){let J="must be one of: "+o(i(P,le=>typeof le=="string"?`'${le}'`:g(le)),", ");throw new w(K,F,J)}});function he(F,K){if(typeof F!="boolean")throw new S(K,"boolean",F)}function N(F,K,P){return F==null||!d(F,K)?P:F[K]}var ne=E((F,K,P=null)=>{let J=N(P,"allowArray",!1),le=N(P,"allowFunction",!1);if(!N(P,"nullable",!1)&&F===null||!J&&r(F)||typeof F!="object"&&(!le||typeof F!="function"))throw new S(K,"Object",F)}),ye=E((F,K)=>{if(F!=null&&typeof F!="object"&&typeof F!="function")throw new S(K,"a dictionary",F)}),se=E((F,K,P=0)=>{if(!r(F))throw new S(K,"Array",F);if(F.length{if(!V(F))throw new S(K,["Buffer","TypedArray","DataView"],F)});function te(F,K){let P=O(K),J=F.length;if(P==="hex"&&J%2!==0)throw new w("encoding",K,`is invalid for data of length ${J}`)}function ee(F,K="Port",P=!0){if(typeof F!="number"&&typeof F!="string"||typeof F=="string"&&b(F).length===0||+F!==+F>>>0||F>65535||F===0&&!P)throw new v(K,F,P);return F|0}var A=E((F,K)=>{if(F!==void 0&&(F===null||typeof F!="object"||!("aborted"in F)))throw new S(K,"AbortSignal",F)}),T=E((F,K)=>{if(typeof F!="function")throw new S(K,"Function",F)}),M=E((F,K)=>{if(typeof F!="function"||D(F))throw new S(K,"Function",F)}),I=E((F,K)=>{if(F!==void 0)throw new S(K,"undefined",F)});function B(F,K,P){if(!n(P,F))throw new S(K,`('${o(P,"|")}')`,F)}var U=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function Z(F,K){if(typeof F>"u"||!p(U,F))throw new w(K,F,'must be an array or string of format "; rel=preload; as=style"')}function j(F){if(typeof F=="string")return Z(F,"hints"),F;if(r(F)){let K=F.length,P="";if(K===0)return P;for(let J=0;J; rel=preload; as=style"')}t.exports={isInt32:G,isUint32:X,parseFileMode:ae,validateArray:se,validateStringArray:Q,validateBooleanArray:q,validateBoolean:he,validateBuffer:W,validateDictionary:ye,validateEncoding:te,validateFunction:T,validateInt32:de,validateInteger:fe,validateNumber:ge,validateObject:ne,validateOneOf:Y,validatePlainFunction:M,validatePort:ee,validateSignalName:k,validateString:z,validateUint32:pe,validateUndefined:I,validateUnion:B,validateAbortSignal:A,validateLinkHeaderValue:j}}),mi=Ae((e,t)=>{be(),ve(),we();var r=t.exports={},n,o;function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?n=setTimeout:n=i}catch{n=i}try{typeof clearTimeout=="function"?o=clearTimeout:o=a}catch{o=a}})();function s(v){if(n===setTimeout)return setTimeout(v,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(v,0);try{return n(v,0)}catch{try{return n.call(null,v,0)}catch{return n.call(this,v,0)}}}function l(v){if(o===clearTimeout)return clearTimeout(v);if((o===a||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(v);try{return o(v)}catch{try{return o.call(null,v)}catch{return o.call(this,v)}}}var u=[],c=!1,d,p=-1;function g(){!c||!d||(c=!1,d.length?u=d.concat(u):p=-1,u.length&&_())}function _(){if(!c){var v=s(g);c=!0;for(var S=u.length;S;){for(d=u,u=[];++p1)for(var w=1;w{be(),ve(),we();var{Symbol:r,SymbolAsyncIterator:n,SymbolIterator:o,SymbolFor:i}=ut(),a=r("kDestroyed"),s=r("kIsErrored"),l=r("kIsReadable"),u=r("kIsDisturbed"),c=i("nodejs.webstream.isClosedPromise"),d=i("nodejs.webstream.controllerErrorFunction");function p(N,ne=!1){var ye;return!!(N&&typeof N.pipe=="function"&&typeof N.on=="function"&&(!ne||typeof N.pause=="function"&&typeof N.resume=="function")&&(!N._writableState||((ye=N._readableState)===null||ye===void 0?void 0:ye.readable)!==!1)&&(!N._writableState||N._readableState))}function g(N){var ne;return!!(N&&typeof N.write=="function"&&typeof N.on=="function"&&(!N._readableState||((ne=N._writableState)===null||ne===void 0?void 0:ne.writable)!==!1))}function _(N){return!!(N&&typeof N.pipe=="function"&&N._readableState&&typeof N.on=="function"&&typeof N.write=="function")}function b(N){return N&&(N._readableState||N._writableState||typeof N.write=="function"&&typeof N.on=="function"||typeof N.pipe=="function"&&typeof N.on=="function")}function E(N){return!!(N&&!b(N)&&typeof N.pipeThrough=="function"&&typeof N.getReader=="function"&&typeof N.cancel=="function")}function v(N){return!!(N&&!b(N)&&typeof N.getWriter=="function"&&typeof N.abort=="function")}function S(N){return!!(N&&!b(N)&&typeof N.readable=="object"&&typeof N.writable=="object")}function w(N){return E(N)||v(N)||S(N)}function C(N,ne){return N==null?!1:ne===!0?typeof N[n]=="function":ne===!1?typeof N[o]=="function":typeof N[n]=="function"||typeof N[o]=="function"}function R(N){if(!b(N))return null;let ne=N._writableState,ye=N._readableState,se=ne||ye;return!!(N.destroyed||N[a]||se!=null&&se.destroyed)}function O(N){if(!g(N))return null;if(N.writableEnded===!0)return!0;let ne=N._writableState;return ne!=null&&ne.errored?!1:typeof(ne==null?void 0:ne.ended)!="boolean"?null:ne.ended}function D(N,ne){if(!g(N))return null;if(N.writableFinished===!0)return!0;let ye=N._writableState;return ye!=null&&ye.errored?!1:typeof(ye==null?void 0:ye.finished)!="boolean"?null:!!(ye.finished||ne===!1&&ye.ended===!0&&ye.length===0)}function V(N){if(!p(N))return null;if(N.readableEnded===!0)return!0;let ne=N._readableState;return!ne||ne.errored?!1:typeof(ne==null?void 0:ne.ended)!="boolean"?null:ne.ended}function re(N,ne){if(!p(N))return null;let ye=N._readableState;return ye!=null&&ye.errored?!1:typeof(ye==null?void 0:ye.endEmitted)!="boolean"?null:!!(ye.endEmitted||ne===!1&&ye.ended===!0&&ye.length===0)}function G(N){return N&&N[l]!=null?N[l]:typeof(N==null?void 0:N.readable)!="boolean"?null:R(N)?!1:p(N)&&N.readable&&!re(N)}function X(N){return typeof(N==null?void 0:N.writable)!="boolean"?null:R(N)?!1:g(N)&&N.writable&&!O(N)}function L(N,ne){return b(N)?R(N)?!0:!((ne==null?void 0:ne.readable)!==!1&&G(N)||(ne==null?void 0:ne.writable)!==!1&&X(N)):null}function $(N){var ne,ye;return b(N)?N.writableErrored?N.writableErrored:(ne=(ye=N._writableState)===null||ye===void 0?void 0:ye.errored)!==null&&ne!==void 0?ne:null:null}function ae(N){var ne,ye;return b(N)?N.readableErrored?N.readableErrored:(ne=(ye=N._readableState)===null||ye===void 0?void 0:ye.errored)!==null&&ne!==void 0?ne:null:null}function fe(N){if(!b(N))return null;if(typeof N.closed=="boolean")return N.closed;let ne=N._writableState,ye=N._readableState;return typeof(ne==null?void 0:ne.closed)=="boolean"||typeof(ye==null?void 0:ye.closed)=="boolean"?(ne==null?void 0:ne.closed)||(ye==null?void 0:ye.closed):typeof N._closed=="boolean"&&de(N)?N._closed:null}function de(N){return typeof N._closed=="boolean"&&typeof N._defaultKeepAlive=="boolean"&&typeof N._removedConnection=="boolean"&&typeof N._removedContLen=="boolean"}function pe(N){return typeof N._sent100=="boolean"&&de(N)}function z(N){var ne;return typeof N._consuming=="boolean"&&typeof N._dumped=="boolean"&&((ne=N.req)===null||ne===void 0?void 0:ne.upgradeOrConnect)===void 0}function ge(N){if(!b(N))return null;let ne=N._writableState,ye=N._readableState,se=ne||ye;return!se&&pe(N)||!!(se&&se.autoDestroy&&se.emitClose&&se.closed===!1)}function Y(N){var ne;return!!(N&&((ne=N[u])!==null&&ne!==void 0?ne:N.readableDidRead||N.readableAborted))}function he(N){var ne,ye,se,Q,q,k,W,te,ee,A;return!!(N&&((ne=(ye=(se=(Q=(q=(k=N[s])!==null&&k!==void 0?k:N.readableErrored)!==null&&q!==void 0?q:N.writableErrored)!==null&&Q!==void 0?Q:(W=N._readableState)===null||W===void 0?void 0:W.errorEmitted)!==null&&se!==void 0?se:(te=N._writableState)===null||te===void 0?void 0:te.errorEmitted)!==null&&ye!==void 0?ye:(ee=N._readableState)===null||ee===void 0?void 0:ee.errored)!==null&&ne!==void 0?ne:!((A=N._writableState)===null||A===void 0)&&A.errored))}t.exports={kDestroyed:a,isDisturbed:Y,kIsDisturbed:u,isErrored:he,kIsErrored:s,isReadable:G,kIsReadable:l,kIsClosedPromise:c,kControllerErrorFunction:d,isClosed:fe,isDestroyed:R,isDuplexNodeStream:_,isFinished:L,isIterable:C,isReadableNodeStream:p,isReadableStream:E,isReadableEnded:V,isReadableFinished:re,isReadableErrored:ae,isNodeStream:b,isWebStream:w,isWritable:X,isWritableNodeStream:g,isWritableStream:v,isWritableEnded:O,isWritableFinished:D,isWritableErrored:$,isServerRequest:z,isServerResponse:pe,willEmitClose:ge,isTransformStream:S}}),Cn=Ae((e,t)=>{be(),ve(),we();var r=mi(),{AbortError:n,codes:o}=Bt(),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_PREMATURE_CLOSE:a}=o,{kEmptyObject:s,once:l}=zr(),{validateAbortSignal:u,validateFunction:c,validateObject:d,validateBoolean:p}=_l(),{Promise:g,PromisePrototypeThen:_}=ut(),{isClosed:b,isReadable:E,isReadableNodeStream:v,isReadableStream:S,isReadableFinished:w,isReadableErrored:C,isWritable:R,isWritableNodeStream:O,isWritableStream:D,isWritableFinished:V,isWritableErrored:re,isNodeStream:G,willEmitClose:X,kIsClosedPromise:L}=nn();function $(z){return z.setHeader&&typeof z.abort=="function"}var ae=()=>{};function fe(z,ge,Y){var he,N;if(arguments.length===2?(Y=ge,ge=s):ge==null?ge=s:d(ge,"options"),c(Y,"callback"),u(ge.signal,"options.signal"),Y=l(Y),S(z)||D(z))return de(z,ge,Y);if(!G(z))throw new i("stream",["ReadableStream","WritableStream","Stream"],z);let ne=(he=ge.readable)!==null&&he!==void 0?he:v(z),ye=(N=ge.writable)!==null&&N!==void 0?N:O(z),se=z._writableState,Q=z._readableState,q=()=>{z.writable||te()},k=X(z)&&v(z)===ne&&O(z)===ye,W=V(z,!1),te=()=>{W=!0,z.destroyed&&(k=!1),!(k&&(!z.readable||ne))&&(!ne||ee)&&Y.call(z)},ee=w(z,!1),A=()=>{ee=!0,z.destroyed&&(k=!1),!(k&&(!z.writable||ye))&&(!ye||W)&&Y.call(z)},T=j=>{Y.call(z,j)},M=b(z),I=()=>{M=!0;let j=re(z)||C(z);if(j&&typeof j!="boolean")return Y.call(z,j);if(ne&&!ee&&v(z,!0)&&!w(z,!1))return Y.call(z,new a);if(ye&&!W&&!V(z,!1))return Y.call(z,new a);Y.call(z)},B=()=>{M=!0;let j=re(z)||C(z);if(j&&typeof j!="boolean")return Y.call(z,j);Y.call(z)},U=()=>{z.req.on("finish",te)};$(z)?(z.on("complete",te),k||z.on("abort",I),z.req?U():z.on("request",U)):ye&&!se&&(z.on("end",q),z.on("close",q)),!k&&typeof z.aborted=="boolean"&&z.on("aborted",I),z.on("end",A),z.on("finish",te),ge.error!==!1&&z.on("error",T),z.on("close",I),M?r.nextTick(I):se!=null&&se.errorEmitted||Q!=null&&Q.errorEmitted?k||r.nextTick(B):(!ne&&(!k||E(z))&&(W||R(z)===!1)||!ye&&(!k||R(z))&&(ee||E(z)===!1)||Q&&z.req&&z.aborted)&&r.nextTick(B);let Z=()=>{Y=ae,z.removeListener("aborted",I),z.removeListener("complete",te),z.removeListener("abort",I),z.removeListener("request",U),z.req&&z.req.removeListener("finish",te),z.removeListener("end",q),z.removeListener("close",q),z.removeListener("finish",te),z.removeListener("end",A),z.removeListener("error",T),z.removeListener("close",I)};if(ge.signal&&!M){let j=()=>{let F=Y;Z(),F.call(z,new n(void 0,{cause:ge.signal.reason}))};if(ge.signal.aborted)r.nextTick(j);else{let F=Y;Y=l((...K)=>{ge.signal.removeEventListener("abort",j),F.apply(z,K)}),ge.signal.addEventListener("abort",j)}}return Z}function de(z,ge,Y){let he=!1,N=ae;if(ge.signal)if(N=()=>{he=!0,Y.call(z,new n(void 0,{cause:ge.signal.reason}))},ge.signal.aborted)r.nextTick(N);else{let ye=Y;Y=l((...se)=>{ge.signal.removeEventListener("abort",N),ye.apply(z,se)}),ge.signal.addEventListener("abort",N)}let ne=(...ye)=>{he||r.nextTick(()=>Y.apply(z,ye))};return _(z[L].promise,ne,ne),ae}function pe(z,ge){var Y;let he=!1;return ge===null&&(ge=s),(Y=ge)!==null&&Y!==void 0&&Y.cleanup&&(p(ge.cleanup,"cleanup"),he=ge.cleanup),new g((N,ne)=>{let ye=fe(z,ge,se=>{he&&ye(),se?ne(se):N()})})}t.exports=fe,t.exports.finished=pe}),ho=Ae((e,t)=>{be(),ve(),we();var r=mi(),{aggregateTwoErrors:n,codes:{ERR_MULTIPLE_CALLBACK:o},AbortError:i}=Bt(),{Symbol:a}=ut(),{kDestroyed:s,isDestroyed:l,isFinished:u,isServerRequest:c}=nn(),d=a("kDestroy"),p=a("kConstruct");function g(L,$,ae){L&&(L.stack,$&&!$.errored&&($.errored=L),ae&&!ae.errored&&(ae.errored=L))}function _(L,$){let ae=this._readableState,fe=this._writableState,de=fe||ae;return fe!=null&&fe.destroyed||ae!=null&&ae.destroyed?(typeof $=="function"&&$(),this):(g(L,fe,ae),fe&&(fe.destroyed=!0),ae&&(ae.destroyed=!0),de.constructed?b(this,L,$):this.once(d,function(pe){b(this,n(pe,L),$)}),this)}function b(L,$,ae){let fe=!1;function de(pe){if(fe)return;fe=!0;let z=L._readableState,ge=L._writableState;g(pe,ge,z),ge&&(ge.closed=!0),z&&(z.closed=!0),typeof ae=="function"&&ae(pe),pe?r.nextTick(E,L,pe):r.nextTick(v,L)}try{L._destroy($||null,de)}catch(pe){de(pe)}}function E(L,$){S(L,$),v(L)}function v(L){let $=L._readableState,ae=L._writableState;ae&&(ae.closeEmitted=!0),$&&($.closeEmitted=!0),(ae!=null&&ae.emitClose||$!=null&&$.emitClose)&&L.emit("close")}function S(L,$){let ae=L._readableState,fe=L._writableState;fe!=null&&fe.errorEmitted||ae!=null&&ae.errorEmitted||(fe&&(fe.errorEmitted=!0),ae&&(ae.errorEmitted=!0),L.emit("error",$))}function w(){let L=this._readableState,$=this._writableState;L&&(L.constructed=!0,L.closed=!1,L.closeEmitted=!1,L.destroyed=!1,L.errored=null,L.errorEmitted=!1,L.reading=!1,L.ended=L.readable===!1,L.endEmitted=L.readable===!1),$&&($.constructed=!0,$.destroyed=!1,$.closed=!1,$.closeEmitted=!1,$.errored=null,$.errorEmitted=!1,$.finalCalled=!1,$.prefinished=!1,$.ended=$.writable===!1,$.ending=$.writable===!1,$.finished=$.writable===!1)}function C(L,$,ae){let fe=L._readableState,de=L._writableState;if(de!=null&&de.destroyed||fe!=null&&fe.destroyed)return this;fe!=null&&fe.autoDestroy||de!=null&&de.autoDestroy?L.destroy($):$&&($.stack,de&&!de.errored&&(de.errored=$),fe&&!fe.errored&&(fe.errored=$),ae?r.nextTick(S,L,$):S(L,$))}function R(L,$){if(typeof L._construct!="function")return;let ae=L._readableState,fe=L._writableState;ae&&(ae.constructed=!1),fe&&(fe.constructed=!1),L.once(p,$),!(L.listenerCount(p)>1)&&r.nextTick(O,L)}function O(L){let $=!1;function ae(fe){if($){C(L,fe??new o);return}$=!0;let de=L._readableState,pe=L._writableState,z=pe||de;de&&(de.constructed=!0),pe&&(pe.constructed=!0),z.destroyed?L.emit(d,fe):fe?C(L,fe,!0):r.nextTick(D,L)}try{L._construct(fe=>{r.nextTick(ae,fe)})}catch(fe){r.nextTick(ae,fe)}}function D(L){L.emit(p)}function V(L){return(L==null?void 0:L.setHeader)&&typeof L.abort=="function"}function re(L){L.emit("close")}function G(L,$){L.emit("error",$),r.nextTick(re,L)}function X(L,$){!L||l(L)||(!$&&!u(L)&&($=new i),c(L)?(L.socket=null,L.destroy($)):V(L)?L.abort():V(L.req)?L.req.abort():typeof L.destroy=="function"?L.destroy($):typeof L.close=="function"?L.close():$?r.nextTick(G,L,$):r.nextTick(re,L),L.destroyed||(L[s]=!0))}t.exports={construct:R,destroyer:X,destroy:_,undestroy:w,errorOrDestroy:C}});function Ke(){Ke.init.call(this)}function aa(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function Mb(e){return e._maxListeners===void 0?Ke.defaultMaxListeners:e._maxListeners}function Yp(e,t,r,n){var o,i,a,s;if(aa(r),(i=e._events)===void 0?(i=e._events=Object.create(null),e._eventsCount=0):(i.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),a===void 0)a=i[t]=r,++e._eventsCount;else if(typeof a=="function"?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(o=Mb(e))>0&&a.length>o&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,s=l,console&&console.warn&&console.warn(s)}return e}function QI(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function zp(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},o=QI.bind(n);return o.listener=r,n.wrapFn=o,o}function Gp(e,t,r){var n=e._events;if(n===void 0)return[];var o=n[t];return o===void 0?[]:typeof o=="function"?r?[o.listener||o]:[o]:r?function(i){for(var a=new Array(i.length),s=0;s{be(),ve(),we(),Pn=typeof Reflect=="object"?Reflect:null,fu=Pn&&typeof Pn.apply=="function"?Pn.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)},Jp=Pn&&typeof Pn.ownKeys=="function"?Pn.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)},hu=Number.isNaN||function(e){return e!=e},Xp=Ke,Ke.EventEmitter=Ke,Ke.prototype._events=void 0,Ke.prototype._eventsCount=0,Ke.prototype._maxListeners=void 0,du=10,Object.defineProperty(Ke,"defaultMaxListeners",{enumerable:!0,get:function(){return du},set:function(e){if(typeof e!="number"||e<0||hu(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");du=e}}),Ke.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Ke.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||hu(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},Ke.prototype.getMaxListeners=function(){return Mb(this)},Ke.prototype.emit=function(e){for(var t=[],r=1;r0&&(i=t[0]),i instanceof Error)throw i;var a=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw a.context=i,a}var s=o[e];if(s===void 0)return!1;if(typeof s=="function")fu(s,this,t);else{var l=s.length,u=Nb(s,l);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,o=i;break}if(o<0)return this;o===0?r.shift():function(s,l){for(;l+1=0;n--)this.removeListener(e,t[n]);return this},Ke.prototype.listeners=function(e){return Gp(this,e,!0)},Ke.prototype.rawListeners=function(e){return Gp(this,e,!1)},Ke.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Qp.call(e,t)},Ke.prototype.listenerCount=Qp,Ke.prototype.eventNames=function(){return this._eventsCount>0?Jp(this._events):[]},$t=Xp,$t.EventEmitter,$t.defaultMaxListeners,$t.init,$t.listenerCount,$t.EventEmitter,$t.defaultMaxListeners,$t.init,$t.listenerCount}),yi={};gi(yi,{EventEmitter:()=>Pb,default:()=>$t,defaultMaxListeners:()=>Lb,init:()=>Bb,listenerCount:()=>Db,on:()=>Ub,once:()=>Fb});var Pb,Lb,Bb,Db,Ub,Fb,po=pt(()=>{be(),ve(),we(),Zp(),Zp(),$t.once=function(e,t){return new Promise((r,n)=>{function o(...a){i!==void 0&&e.removeListener("error",i),r(a)}let i;t!=="error"&&(i=a=>{e.removeListener(name,o),n(a)},e.once("error",i)),e.once(t,o)})},$t.on=function(e,t){let r=[],n=[],o=null,i=!1,a={async next(){let u=r.shift();if(u)return createIterResult(u,!1);if(o){let c=Promise.reject(o);return o=null,c}return i?createIterResult(void 0,!0):new Promise((c,d)=>n.push({resolve:c,reject:d}))},async return(){e.removeListener(t,s),e.removeListener("error",l),i=!0;for(let u of n)u.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(u){o=u,e.removeListener(t,s),e.removeListener("error",l)},[Symbol.asyncIterator](){return this}};return e.on(t,s),e.on("error",l),a;function s(...u){let c=n.shift();c?c.resolve(createIterResult(u,!1)):r.push(u)}function l(u){i=!0;let c=n.shift();c?c.reject(u):o=u,a.return()}},{EventEmitter:Pb,defaultMaxListeners:Lb,init:Bb,listenerCount:Db,on:Ub,once:Fb}=$t}),id=Ae((e,t)=>{be(),ve(),we();var{ArrayIsArray:r,ObjectSetPrototypeOf:n}=ut(),{EventEmitter:o}=(po(),ze(yi));function i(s){o.call(this,s)}n(i.prototype,o.prototype),n(i,o),i.prototype.pipe=function(s,l){let u=this;function c(v){s.writable&&s.write(v)===!1&&u.pause&&u.pause()}u.on("data",c);function d(){u.readable&&u.resume&&u.resume()}s.on("drain",d),!s._isStdio&&(!l||l.end!==!1)&&(u.on("end",g),u.on("close",_));let p=!1;function g(){p||(p=!0,s.end())}function _(){p||(p=!0,typeof s.destroy=="function"&&s.destroy())}function b(v){E(),o.listenerCount(this,"error")===0&&this.emit("error",v)}a(u,"error",b),a(s,"error",b);function E(){u.removeListener("data",c),s.removeListener("drain",d),u.removeListener("end",g),u.removeListener("close",_),u.removeListener("error",b),s.removeListener("error",b),u.removeListener("end",E),u.removeListener("close",E),s.removeListener("close",E)}return u.on("end",E),u.on("close",E),s.on("close",E),s.emit("pipe",u),s};function a(s,l,u){if(typeof s.prependListener=="function")return s.prependListener(l,u);!s._events||!s._events[l]?s.on(l,u):r(s._events[l])?s._events[l].unshift(u):s._events[l]=[u,s._events[l]]}t.exports={Stream:i,prependListener:a}}),bl=Ae((e,t)=>{be(),ve(),we();var{AbortError:r,codes:n}=Bt(),{isNodeStream:o,isWebStream:i,kControllerErrorFunction:a}=nn(),s=Cn(),{ERR_INVALID_ARG_TYPE:l}=n,u=(c,d)=>{if(typeof c!="object"||!("aborted"in c))throw new l(d,"AbortSignal",c)};t.exports.addAbortSignal=function(c,d){if(u(c,"signal"),!o(d)&&!i(d))throw new l("stream",["ReadableStream","WritableStream","Stream"],d);return t.exports.addAbortSignalNoValidate(c,d)},t.exports.addAbortSignalNoValidate=function(c,d){if(typeof c!="object"||!("aborted"in c))return d;let p=o(d)?()=>{d.destroy(new r(void 0,{cause:c.reason}))}:()=>{d[a](new r(void 0,{cause:c.reason}))};return c.aborted?p():(c.addEventListener("abort",p),s(d,()=>c.removeEventListener("abort",p))),d}}),XI=Ae((e,t)=>{be(),ve(),we();var{StringPrototypeSlice:r,SymbolIterator:n,TypedArrayPrototypeSet:o,Uint8Array:i}=ut(),{Buffer:a}=(mt(),ze(gt)),{inspect:s}=zr();t.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(l){let u={data:l,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length}unshift(l){let u={data:l,next:this.head};this.length===0&&(this.tail=u),this.head=u,++this.length}shift(){if(this.length===0)return;let l=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,l}clear(){this.head=this.tail=null,this.length=0}join(l){if(this.length===0)return"";let u=this.head,c=""+u.data;for(;(u=u.next)!==null;)c+=l+u.data;return c}concat(l){if(this.length===0)return a.alloc(0);let u=a.allocUnsafe(l>>>0),c=this.head,d=0;for(;c;)o(u,c.data,d),d+=c.data.length,c=c.next;return u}consume(l,u){let c=this.head.data;if(lp.length)u+=p,l-=p.length;else{l===p.length?(u+=p,++d,c.next?this.head=c.next:this.head=this.tail=null):(u+=r(p,0,l),this.head=c,c.data=r(p,l));break}++d}while((c=c.next)!==null);return this.length-=d,u}_getBuffer(l){let u=a.allocUnsafe(l),c=l,d=this.head,p=0;do{let g=d.data;if(l>g.length)o(u,g,c-l),l-=g.length;else{l===g.length?(o(u,g,c-l),++p,d.next?this.head=d.next:this.head=this.tail=null):(o(u,new i(g.buffer,g.byteOffset,l),c-l),this.head=d,d.data=g.slice(l));break}++p}while((d=d.next)!==null);return this.length-=p,u}[Symbol.for("nodejs.util.inspect.custom")](l,u){return s(this,{...u,depth:0,customInspect:!1})}}}),od=Ae((e,t)=>{be(),ve(),we();var{MathFloor:r,NumberIsInteger:n}=ut(),{ERR_INVALID_ARG_VALUE:o}=Bt().codes;function i(l,u,c){return l.highWaterMark!=null?l.highWaterMark:u?l[c]:null}function a(l){return l?16:16*1024}function s(l,u,c,d){let p=i(u,d,c);if(p!=null){if(!n(p)||p<0){let g=d?`options.${c}`:"options.highWaterMark";throw new o(g,p)}return r(p)}return a(l.objectMode)}t.exports={getHighWaterMark:s,getDefaultHighWaterMark:a}});function eg(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return r===-1&&(r=t),[r,r===t?0:4-r%4]}function JI(e,t,r){for(var n,o,i=[],a=t;a>18&63]+or[o>>12&63]+or[o>>6&63]+or[63&o]);return i.join("")}function $r(e){if(e>2147483647)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,Ee.prototype),t}function Ee(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return jf(e)}return $b(e,t,r)}function $b(e,t,r){if(typeof e=="string")return function(i,a){if(typeof a=="string"&&a!==""||(a="utf8"),!Ee.isEncoding(a))throw new TypeError("Unknown encoding: "+a);var s=0|Wb(i,a),l=$r(s),u=l.write(i,a);return u!==s&&(l=l.slice(0,u)),l}(e,t);if(ArrayBuffer.isView(e))return pu(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(jr(e,ArrayBuffer)||e&&jr(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(jr(e,SharedArrayBuffer)||e&&jr(e.buffer,SharedArrayBuffer)))return ZI(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return Ee.from(n,t,r);var o=function(i){if(Ee.isBuffer(i)){var a=0|sd(i.length),s=$r(a);return s.length===0||i.copy(s,0,0,a),s}if(i.length!==void 0)return typeof i.length!="number"||ad(i.length)?$r(0):pu(i);if(i.type==="Buffer"&&Array.isArray(i.data))return pu(i.data)}(e);if(o)return o;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return Ee.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function jb(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function jf(e){return jb(e),$r(e<0?0:0|sd(e))}function pu(e){for(var t=e.length<0?0:0|sd(e.length),r=$r(t),n=0;n=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function Wb(e,t){if(Ee.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||jr(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;for(var o=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Wf(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Kb(e).length;default:if(o)return n?-1:Wf(e).length;t=(""+t).toLowerCase(),o=!0}}function eC(e,t,r){var n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return uC(this,t,r);case"utf8":case"utf-8":return Vb(this,t,r);case"ascii":return aC(this,t,r);case"latin1":case"binary":return lC(this,t,r);case"base64":return sC(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return cC(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function Ln(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function tg(e,t,r,n,o){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),ad(r=+r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if(typeof t=="string"&&(t=Ee.from(t,n)),Ee.isBuffer(t))return t.length===0?-1:rg(e,t,r,n,o);if(typeof t=="number")return t&=255,typeof Uint8Array.prototype.indexOf=="function"?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):rg(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function rg(e,t,r,n,o){var i,a=1,s=e.length,l=t.length;if(n!==void 0&&((n=String(n).toLowerCase())==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function u(g,_){return a===1?g[_]:g.readUInt16BE(_*a)}if(o){var c=-1;for(i=r;is&&(r=s-l),i=r;i>=0;i--){for(var d=!0,p=0;po&&(n=o):n=o;var i=t.length;n>i/2&&(n=i/2);for(var a=0;a>8,l=a%256,u.push(l),u.push(s);return u}(t,e.length-r),e,r,n)}function sC(e,t,r){return t===0&&r===e.length?La.fromByteArray(e):La.fromByteArray(e.slice(t,r))}function Vb(e,t,r){r=Math.min(e.length,r);for(var n=[],o=t;o239?4:u>223?3:u>191?2:1;if(o+d<=r)switch(d){case 1:u<128&&(c=u);break;case 2:(192&(i=e[o+1]))==128&&(l=(31&u)<<6|63&i)>127&&(c=l);break;case 3:i=e[o+1],a=e[o+2],(192&i)==128&&(192&a)==128&&(l=(15&u)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:i=e[o+1],a=e[o+2],s=e[o+3],(192&i)==128&&(192&a)==128&&(192&s)==128&&(l=(15&u)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}c===null?(c=65533,d=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),o+=d}return function(p){var g=p.length;if(g<=4096)return String.fromCharCode.apply(String,p);for(var _="",b=0;bn)&&(r=n);for(var o="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function kt(e,t,r,n,o,i){if(!Ee.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function qb(e,t,r,n,o,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ng(e,t,r,n,o){return t=+t,r>>>=0,o||qb(e,0,r,4),qn.write(e,t,r,n,23,4),r+4}function ig(e,t,r,n,o){return t=+t,r>>>=0,o||qb(e,0,r,8),qn.write(e,t,r,n,52,8),r+8}function Wf(e,t){var r;t=t||1/0;for(var n=e.length,o=null,i=[],a=0;a55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function Kb(e){return La.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Yb,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(e))}function wl(e,t,r,n){for(var o=0;o=t.length||o>=e.length);++o)t[o+r]=e[o];return o}function jr(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function ad(e){return e!=e}function og(e,t){for(var r in e)t[r]=e[r]}function Bn(e,t,r){return nr(e,t,r)}function To(e){var t;switch(this.encoding=function(r){var n=function(o){if(!o)return"utf8";for(var i;;)switch(o){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return o;default:if(i)return;o=(""+o).toLowerCase(),i=!0}}(r);if(typeof n!="string"&&(Ba.isEncoding===Hf||!Hf(r)))throw new Error("Unknown encoding: "+r);return n||r}(e),this.encoding){case"utf16le":this.text=hC,this.end=dC,t=4;break;case"utf8":this.fillLast=fC,t=4;break;case"base64":this.text=pC,this.end=gC,t=3;break;default:return this.write=mC,this.end=yC,void 0}this.lastNeed=0,this.lastTotal=0,this.lastChar=Ba.allocUnsafe(t)}function gu(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function fC(e){var t=this.lastTotal-this.lastNeed,r=function(n,o,i){if((192&o[0])!=128)return n.lastNeed=0,"�";if(n.lastNeed>1&&o.length>1){if((192&o[1])!=128)return n.lastNeed=1,"�";if(n.lastNeed>2&&o.length>2&&(192&o[2])!=128)return n.lastNeed=2,"�"}}(this,e);return r!==void 0?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length,void 0)}function hC(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function dC(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function pC(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function gC(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function mC(e){return e.toString(this.encoding)}function yC(e){return e&&e.length?this.write(e):""}var sg,or,Dt,ag,Ps,Dn,lg,ug,dr,La,qn,mu,Yb,zb,xo,Io,nr,cg,Bi,Ba,Hf,fg=pt(()=>{for(be(),ve(),we(),sg={byteLength:function(e){var t=eg(e),r=t[0],n=t[1];return 3*(r+n)/4-n},toByteArray:function(e){var t,r,n=eg(e),o=n[0],i=n[1],a=new ag(function(u,c,d){return 3*(c+d)/4-d}(0,o,i)),s=0,l=i>0?o-4:o;for(r=0;r>16&255,a[s++]=t>>8&255,a[s++]=255&t;return i===2&&(t=Dt[e.charCodeAt(r)]<<2|Dt[e.charCodeAt(r+1)]>>4,a[s++]=255&t),i===1&&(t=Dt[e.charCodeAt(r)]<<10|Dt[e.charCodeAt(r+1)]<<4|Dt[e.charCodeAt(r+2)]>>2,a[s++]=t>>8&255,a[s++]=255&t),a},fromByteArray:function(e){for(var t,r=e.length,n=r%3,o=[],i=0,a=r-n;ia?a:i+16383));return n===1?(t=e[r-1],o.push(or[t>>2]+or[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],o.push(or[t>>10]+or[t>>4&63]+or[t<<2&63]+"=")),o.join("")}},or=[],Dt=[],ag=typeof Uint8Array<"u"?Uint8Array:Array,Ps="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Dn=0,lg=Ps.length;Dn>1,c=-7,d=r?o-1:0,p=r?-1:1,g=e[t+d];for(d+=p,i=g&(1<<-c)-1,g>>=-c,c+=s;c>0;i=256*i+e[t+d],d+=p,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=n;c>0;a=256*a+e[t+d],d+=p,c-=8);if(i===0)i=1-u;else{if(i===l)return a?NaN:1/0*(g?-1:1);a+=Math.pow(2,n),i-=u}return(g?-1:1)*a*Math.pow(2,i-n)},write:function(e,t,r,n,o,i){var a,s,l,u=8*i-o-1,c=(1<>1,p=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:i-1,_=n?1:-1,b=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+d>=1?p/l:p*Math.pow(2,1-d))*l>=2&&(a++,l/=2),a+d>=c?(s=0,a=c):a+d>=1?(s=(t*l-1)*Math.pow(2,o),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[r+g]=255&s,g+=_,s/=256,o-=8);for(a=a<0;e[r+g]=255&a,g+=_,a/=256,u-=8);e[r+g-_]|=128*b}},dr={},La=sg,qn=ug,mu=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null,dr.Buffer=Ee,dr.SlowBuffer=function(e){return+e!=e&&(e=0),Ee.alloc(+e)},dr.INSPECT_MAX_BYTES=50,dr.kMaxLength=2147483647,Ee.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}(),Ee.TYPED_ARRAY_SUPPORT||typeof console>"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Ee.prototype,"parent",{enumerable:!0,get:function(){if(Ee.isBuffer(this))return this.buffer}}),Object.defineProperty(Ee.prototype,"offset",{enumerable:!0,get:function(){if(Ee.isBuffer(this))return this.byteOffset}}),Ee.poolSize=8192,Ee.from=function(e,t,r){return $b(e,t,r)},Object.setPrototypeOf(Ee.prototype,Uint8Array.prototype),Object.setPrototypeOf(Ee,Uint8Array),Ee.alloc=function(e,t,r){return function(n,o,i){return jb(n),n<=0?$r(n):o!==void 0?typeof i=="string"?$r(n).fill(o,i):$r(n).fill(o):$r(n)}(e,t,r)},Ee.allocUnsafe=function(e){return jf(e)},Ee.allocUnsafeSlow=function(e){return jf(e)},Ee.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==Ee.prototype},Ee.compare=function(e,t){if(jr(e,Uint8Array)&&(e=Ee.from(e,e.offset,e.byteLength)),jr(t,Uint8Array)&&(t=Ee.from(t,t.offset,t.byteLength)),!Ee.isBuffer(e)||!Ee.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);ot&&(e+=" ... "),""},mu&&(Ee.prototype[mu]=Ee.prototype.inspect),Ee.prototype.compare=function(e,t,r,n,o){if(jr(e,Uint8Array)&&(e=Ee.from(e,e.offset,e.byteLength)),!Ee.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),o===void 0&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(i,a),l=this.slice(n,o),u=e.slice(t,r),c=0;c>>=0,isFinite(r)?(r>>>=0,n===void 0&&(n="utf8")):(n=r,r=void 0)}var o=this.length-t;if((r===void 0||r>o)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return tC(this,e,t,r);case"utf8":case"utf-8":return rC(this,e,t,r);case"ascii":return Hb(this,e,t,r);case"latin1":case"binary":return nC(this,e,t,r);case"base64":return iC(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return oC(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Ee.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},Ee.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=t===void 0?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||ft(e,t,this.length);for(var n=this[e],o=1,i=0;++i>>=0,t>>>=0,r||ft(e,t,this.length);for(var n=this[e+--t],o=1;t>0&&(o*=256);)n+=this[e+--t]*o;return n},Ee.prototype.readUInt8=function(e,t){return e>>>=0,t||ft(e,1,this.length),this[e]},Ee.prototype.readUInt16LE=function(e,t){return e>>>=0,t||ft(e,2,this.length),this[e]|this[e+1]<<8},Ee.prototype.readUInt16BE=function(e,t){return e>>>=0,t||ft(e,2,this.length),this[e]<<8|this[e+1]},Ee.prototype.readUInt32LE=function(e,t){return e>>>=0,t||ft(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ee.prototype.readUInt32BE=function(e,t){return e>>>=0,t||ft(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ee.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||ft(e,t,this.length);for(var n=this[e],o=1,i=0;++i=(o*=128)&&(n-=Math.pow(2,8*t)),n},Ee.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||ft(e,t,this.length);for(var n=t,o=1,i=this[e+--n];n>0&&(o*=256);)i+=this[e+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Ee.prototype.readInt8=function(e,t){return e>>>=0,t||ft(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ee.prototype.readInt16LE=function(e,t){e>>>=0,t||ft(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Ee.prototype.readInt16BE=function(e,t){e>>>=0,t||ft(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Ee.prototype.readInt32LE=function(e,t){return e>>>=0,t||ft(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ee.prototype.readInt32BE=function(e,t){return e>>>=0,t||ft(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ee.prototype.readFloatLE=function(e,t){return e>>>=0,t||ft(e,4,this.length),qn.read(this,e,!0,23,4)},Ee.prototype.readFloatBE=function(e,t){return e>>>=0,t||ft(e,4,this.length),qn.read(this,e,!1,23,4)},Ee.prototype.readDoubleLE=function(e,t){return e>>>=0,t||ft(e,8,this.length),qn.read(this,e,!0,52,8)},Ee.prototype.readDoubleBE=function(e,t){return e>>>=0,t||ft(e,8,this.length),qn.read(this,e,!1,52,8)},Ee.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||kt(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[t]=255&e;++i>>=0,r>>>=0,n||kt(this,e,t,r,Math.pow(2,8*r)-1,0);var o=r-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+r},Ee.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,1,255,0),this[t]=255&e,t+1},Ee.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Ee.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Ee.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Ee.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Ee.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var o=Math.pow(2,8*r-1);kt(this,e,t,r,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i>0)-s&255;return t+r},Ee.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var o=Math.pow(2,8*r-1);kt(this,e,t,r,o-1,-o)}var i=r-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+r},Ee.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ee.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Ee.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Ee.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Ee.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||kt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Ee.prototype.writeFloatLE=function(e,t,r){return ng(this,e,t,!0,r)},Ee.prototype.writeFloatBE=function(e,t,r){return ng(this,e,t,!1,r)},Ee.prototype.writeDoubleLE=function(e,t,r){return ig(this,e,t,!0,r)},Ee.prototype.writeDoubleBE=function(e,t,r){return ig(this,e,t,!1,r)},Ee.prototype.copy=function(e,t,r,n){if(!Ee.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||n===0||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return o},Ee.prototype.fill=function(e,t,r,n){if(typeof e=="string"){if(typeof t=="string"?(n=t,t=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!Ee.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(e.length===1){var o=e.charCodeAt(0);(n==="utf8"&&o<128||n==="latin1")&&(e=o)}}else typeof e=="number"?e&=255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length>>=0,r=r===void 0?this.length:r>>>0,e||(e=0),typeof e=="number")for(i=t;i=0?(l>0&&(o.lastNeed=l-1),l):--s=0?(l>0&&(o.lastNeed=l-2),l):--s=0?(l>0&&(l===2?l=0:o.lastNeed=l-3),l):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},To.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length},Bi.StringDecoder,Bi.StringDecoder}),Gb={};gi(Gb,{StringDecoder:()=>Qb,default:()=>Bi});var Qb,_C=pt(()=>{be(),ve(),we(),fg(),fg(),Qb=Bi.StringDecoder}),Xb=Ae((e,t)=>{be(),ve(),we();var r=mi(),{PromisePrototypeThen:n,SymbolAsyncIterator:o,SymbolIterator:i}=ut(),{Buffer:a}=(mt(),ze(gt)),{ERR_INVALID_ARG_TYPE:s,ERR_STREAM_NULL_VALUES:l}=Bt().codes;function u(c,d,p){let g;if(typeof d=="string"||d instanceof a)return new c({objectMode:!0,...p,read(){this.push(d),this.push(null)}});let _;if(d&&d[o])_=!0,g=d[o]();else if(d&&d[i])_=!1,g=d[i]();else throw new s("iterable",["Iterable"],d);let b=new c({objectMode:!0,highWaterMark:1,...p}),E=!1;b._read=function(){E||(E=!0,S())},b._destroy=function(w,C){n(v(w),()=>r.nextTick(C,w),R=>r.nextTick(C,R||w))};async function v(w){let C=w!=null,R=typeof g.throw=="function";if(C&&R){let{value:O,done:D}=await g.throw(w);if(await O,D)return}if(typeof g.return=="function"){let{value:O}=await g.return();await O}}async function S(){for(;;){try{let{value:w,done:C}=_?await g.next():g.next();if(C)b.push(null);else{let R=w&&typeof w.then=="function"?await w:w;if(R===null)throw E=!1,new l;if(b.push(R))continue;E=!1}}catch(w){b.destroy(w)}break}}return b}t.exports=u}),vl=Ae((e,t)=>{be(),ve(),we();var r=mi(),{ArrayPrototypeIndexOf:n,NumberIsInteger:o,NumberIsNaN:i,NumberParseInt:a,ObjectDefineProperties:s,ObjectKeys:l,ObjectSetPrototypeOf:u,Promise:c,SafeSet:d,SymbolAsyncIterator:p,Symbol:g}=ut();t.exports=N,N.ReadableState=he;var{EventEmitter:_}=(po(),ze(yi)),{Stream:b,prependListener:E}=id(),{Buffer:v}=(mt(),ze(gt)),{addAbortSignal:S}=bl(),w=Cn(),C=zr().debuglog("stream",h=>{C=h}),R=XI(),O=ho(),{getHighWaterMark:D,getDefaultHighWaterMark:V}=od(),{aggregateTwoErrors:re,codes:{ERR_INVALID_ARG_TYPE:G,ERR_METHOD_NOT_IMPLEMENTED:X,ERR_OUT_OF_RANGE:L,ERR_STREAM_PUSH_AFTER_EOF:$,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:ae}}=Bt(),{validateObject:fe}=_l(),de=g("kPaused"),{StringDecoder:pe}=(_C(),ze(Gb)),z=Xb();u(N.prototype,b.prototype),u(N,b);var ge=()=>{},{errorOrDestroy:Y}=O;function he(h,f,m){typeof m!="boolean"&&(m=f instanceof Gr()),this.objectMode=!!(h&&h.objectMode),m&&(this.objectMode=this.objectMode||!!(h&&h.readableObjectMode)),this.highWaterMark=h?D(this,h,"readableHighWaterMark",m):V(!1),this.buffer=new R,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[de]=null,this.errorEmitted=!1,this.emitClose=!h||h.emitClose!==!1,this.autoDestroy=!h||h.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=h&&h.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,h&&h.encoding&&(this.decoder=new pe(h.encoding),this.encoding=h.encoding)}function N(h){if(!(this instanceof N))return new N(h);let f=this instanceof Gr();this._readableState=new he(h,this,f),h&&(typeof h.read=="function"&&(this._read=h.read),typeof h.destroy=="function"&&(this._destroy=h.destroy),typeof h.construct=="function"&&(this._construct=h.construct),h.signal&&!f&&S(h.signal,this)),b.call(this,h),O.construct(this,()=>{this._readableState.needReadable&&ee(this,this._readableState)})}N.prototype.destroy=O.destroy,N.prototype._undestroy=O.undestroy,N.prototype._destroy=function(h,f){f(h)},N.prototype[_.captureRejectionSymbol]=function(h){this.destroy(h)},N.prototype.push=function(h,f){return ne(this,h,f,!1)},N.prototype.unshift=function(h,f){return ne(this,h,f,!0)};function ne(h,f,m,x){C("readableAddChunk",f);let H=h._readableState,oe;if(H.objectMode||(typeof f=="string"?(m=m||H.defaultEncoding,H.encoding!==m&&(x&&H.encoding?f=v.from(f,m).toString(H.encoding):(f=v.from(f,m),m=""))):f instanceof v?m="":b._isUint8Array(f)?(f=b._uint8ArrayToBuffer(f),m=""):f!=null&&(oe=new G("chunk",["string","Buffer","Uint8Array"],f))),oe)Y(h,oe);else if(f===null)H.reading=!1,k(h,H);else if(H.objectMode||f&&f.length>0)if(x)if(H.endEmitted)Y(h,new ae);else{if(H.destroyed||H.errored)return!1;ye(h,H,f,!0)}else if(H.ended)Y(h,new $);else{if(H.destroyed||H.errored)return!1;H.reading=!1,H.decoder&&!m?(f=H.decoder.write(f),H.objectMode||f.length!==0?ye(h,H,f,!1):ee(h,H)):ye(h,H,f,!1)}else x||(H.reading=!1,ee(h,H));return!H.ended&&(H.length0?(f.multiAwaitDrain?f.awaitDrainWriters.clear():f.awaitDrainWriters=null,f.dataEmitted=!0,h.emit("data",m)):(f.length+=f.objectMode?1:m.length,x?f.buffer.unshift(m):f.buffer.push(m),f.needReadable&&W(h)),ee(h,f)}N.prototype.isPaused=function(){let h=this._readableState;return h[de]===!0||h.flowing===!1},N.prototype.setEncoding=function(h){let f=new pe(h);this._readableState.decoder=f,this._readableState.encoding=this._readableState.decoder.encoding;let m=this._readableState.buffer,x="";for(let H of m)x+=f.write(H);return m.clear(),x!==""&&m.push(x),this._readableState.length=x.length,this};var se=1073741824;function Q(h){if(h>se)throw new L("size","<= 1GiB",h);return h--,h|=h>>>1,h|=h>>>2,h|=h>>>4,h|=h>>>8,h|=h>>>16,h++,h}function q(h,f){return h<=0||f.length===0&&f.ended?0:f.objectMode?1:i(h)?f.flowing&&f.length?f.buffer.first().length:f.length:h<=f.length?h:f.ended?f.length:0}N.prototype.read=function(h){C("read",h),h===void 0?h=NaN:o(h)||(h=a(h,10));let f=this._readableState,m=h;if(h>f.highWaterMark&&(f.highWaterMark=Q(h)),h!==0&&(f.emittedReadable=!1),h===0&&f.needReadable&&((f.highWaterMark!==0?f.length>=f.highWaterMark:f.length>0)||f.ended))return C("read: emitReadable",f.length,f.ended),f.length===0&&f.ended?P(this):W(this),null;if(h=q(h,f),h===0&&f.ended)return f.length===0&&P(this),null;let x=f.needReadable;if(C("need readable",x),(f.length===0||f.length-h0?H=K(h,f):H=null,H===null?(f.needReadable=f.length<=f.highWaterMark,h=0):(f.length-=h,f.multiAwaitDrain?f.awaitDrainWriters.clear():f.awaitDrainWriters=null),f.length===0&&(f.ended||(f.needReadable=!0),m!==h&&f.ended&&P(this)),H!==null&&!f.errorEmitted&&!f.closeEmitted&&(f.dataEmitted=!0,this.emit("data",H)),H};function k(h,f){if(C("onEofChunk"),!f.ended){if(f.decoder){let m=f.decoder.end();m&&m.length&&(f.buffer.push(m),f.length+=f.objectMode?1:m.length)}f.ended=!0,f.sync?W(h):(f.needReadable=!1,f.emittedReadable=!0,te(h))}}function W(h){let f=h._readableState;C("emitReadable",f.needReadable,f.emittedReadable),f.needReadable=!1,f.emittedReadable||(C("emitReadable",f.flowing),f.emittedReadable=!0,r.nextTick(te,h))}function te(h){let f=h._readableState;C("emitReadable_",f.destroyed,f.length,f.ended),!f.destroyed&&!f.errored&&(f.length||f.ended)&&(h.emit("readable"),f.emittedReadable=!1),f.needReadable=!f.flowing&&!f.ended&&f.length<=f.highWaterMark,Z(h)}function ee(h,f){!f.readingMore&&f.constructed&&(f.readingMore=!0,r.nextTick(A,h,f))}function A(h,f){for(;!f.reading&&!f.ended&&(f.length1&&x.pipes.includes(h)&&(C("false write response, pause",x.awaitDrainWriters.size),x.awaitDrainWriters.add(h)),m.pause()),xe||(xe=T(m,h),h.on("drain",xe))}m.on("data",Oe);function Oe(dt){C("ondata");let at=h.write(dt);C("dest.write",at),at===!1&&ke()}function Ve(dt){if(C("onerror",dt),ot(),h.removeListener("error",Ve),h.listenerCount("error")===0){let at=h._writableState||h._readableState;at&&!at.errorEmitted?Y(h,dt):h.emit("error",dt)}}E(h,"error",Ve);function st(){h.removeListener("finish",Xe),ot()}h.once("close",st);function Xe(){C("onfinish"),h.removeListener("close",st),ot()}h.once("finish",Xe);function ot(){C("unpipe"),m.unpipe(h)}return h.emit("pipe",m),h.writableNeedDrain===!0?x.flowing&&ke():x.flowing||(C("pipe resume"),m.resume()),h};function T(h,f){return function(){let m=h._readableState;m.awaitDrainWriters===f?(C("pipeOnDrain",1),m.awaitDrainWriters=null):m.multiAwaitDrain&&(C("pipeOnDrain",m.awaitDrainWriters.size),m.awaitDrainWriters.delete(f)),(!m.awaitDrainWriters||m.awaitDrainWriters.size===0)&&h.listenerCount("data")&&h.resume()}}N.prototype.unpipe=function(h){let f=this._readableState,m={hasUnpiped:!1};if(f.pipes.length===0)return this;if(!h){let H=f.pipes;f.pipes=[],this.pause();for(let oe=0;oe0,x.flowing!==!1&&this.resume()):h==="readable"&&!x.endEmitted&&!x.readableListening&&(x.readableListening=x.needReadable=!0,x.flowing=!1,x.emittedReadable=!1,C("on readable",x.length,x.reading),x.length?W(this):x.reading||r.nextTick(I,this)),m},N.prototype.addListener=N.prototype.on,N.prototype.removeListener=function(h,f){let m=b.prototype.removeListener.call(this,h,f);return h==="readable"&&r.nextTick(M,this),m},N.prototype.off=N.prototype.removeListener,N.prototype.removeAllListeners=function(h){let f=b.prototype.removeAllListeners.apply(this,arguments);return(h==="readable"||h===void 0)&&r.nextTick(M,this),f};function M(h){let f=h._readableState;f.readableListening=h.listenerCount("readable")>0,f.resumeScheduled&&f[de]===!1?f.flowing=!0:h.listenerCount("data")>0?h.resume():f.readableListening||(f.flowing=null)}function I(h){C("readable nexttick read 0"),h.read(0)}N.prototype.resume=function(){let h=this._readableState;return h.flowing||(C("resume"),h.flowing=!h.readableListening,B(this,h)),h[de]=!1,this};function B(h,f){f.resumeScheduled||(f.resumeScheduled=!0,r.nextTick(U,h,f))}function U(h,f){C("resume",f.reading),f.reading||h.read(0),f.resumeScheduled=!1,h.emit("resume"),Z(h),f.flowing&&!f.reading&&h.read(0)}N.prototype.pause=function(){return C("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(C("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[de]=!0,this};function Z(h){let f=h._readableState;for(C("flow",f.flowing);f.flowing&&h.read()!==null;);}N.prototype.wrap=function(h){let f=!1;h.on("data",x=>{!this.push(x)&&h.pause&&(f=!0,h.pause())}),h.on("end",()=>{this.push(null)}),h.on("error",x=>{Y(this,x)}),h.on("close",()=>{this.destroy()}),h.on("destroy",()=>{this.destroy()}),this._read=()=>{f&&h.resume&&(f=!1,h.resume())};let m=l(h);for(let x=1;x{H=_e?re(H,_e):null,m(),m=ge});try{for(;;){let _e=h.destroyed?null:h.read();if(_e!==null)yield _e;else{if(H)throw H;if(H===null)return;await new c(x)}}}catch(_e){throw H=re(H,_e),H}finally{(H||(f==null?void 0:f.destroyOnReturn)!==!1)&&(H===void 0||h._readableState.autoDestroy)?O.destroyer(h,null):(h.off("readable",x),oe())}}s(N.prototype,{readable:{__proto__:null,get(){let h=this._readableState;return!!h&&h.readable!==!1&&!h.destroyed&&!h.errorEmitted&&!h.endEmitted},set(h){this._readableState&&(this._readableState.readable=!!h)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(h){this._readableState&&(this._readableState.flowing=h)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(h){this._readableState&&(this._readableState.destroyed=h)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),s(he.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[de]!==!1},set(h){this[de]=!!h}}}),N._fromList=K;function K(h,f){if(f.length===0)return null;let m;return f.objectMode?m=f.buffer.shift():!h||h>=f.length?(f.decoder?m=f.buffer.join(""):f.buffer.length===1?m=f.buffer.first():m=f.buffer.concat(f.length),f.buffer.clear()):m=f.buffer.consume(h,f.decoder),m}function P(h){let f=h._readableState;C("endReadable",f.endEmitted),f.endEmitted||(f.ended=!0,r.nextTick(J,f,h))}function J(h,f){if(C("endReadableNT",h.endEmitted,h.length),!h.errored&&!h.closeEmitted&&!h.endEmitted&&h.length===0){if(h.endEmitted=!0,f.emit("end"),f.writable&&f.allowHalfOpen===!1)r.nextTick(le,f);else if(h.autoDestroy){let m=f._writableState;(!m||m.autoDestroy&&(m.finished||m.writable===!1))&&f.destroy()}}}function le(h){h.writable&&!h.writableEnded&&!h.destroyed&&h.end()}N.from=function(h,f){return z(N,h,f)};var me;function y(){return me===void 0&&(me={}),me}N.fromWeb=function(h,f){return y().newStreamReadableFromReadableStream(h,f)},N.toWeb=function(h,f){return y().newReadableStreamFromStreamReadable(h,f)},N.wrap=function(h,f){var m,x;return new N({objectMode:(m=(x=h.readableObjectMode)!==null&&x!==void 0?x:h.objectMode)!==null&&m!==void 0?m:!0,...f,destroy(H,oe){O.destroyer(h,H),oe(H)}}).wrap(h)}}),Jb=Ae((e,t)=>{be(),ve(),we();var r=mi(),{ArrayPrototypeSlice:n,Error:o,FunctionPrototypeSymbolHasInstance:i,ObjectDefineProperty:a,ObjectDefineProperties:s,ObjectSetPrototypeOf:l,StringPrototypeToLowerCase:u,Symbol:c,SymbolHasInstance:d}=ut();t.exports=pe,pe.WritableState=fe;var{EventEmitter:p}=(po(),ze(yi)),g=id().Stream,{Buffer:_}=(mt(),ze(gt)),b=ho(),{addAbortSignal:E}=bl(),{getHighWaterMark:v,getDefaultHighWaterMark:S}=od(),{ERR_INVALID_ARG_TYPE:w,ERR_METHOD_NOT_IMPLEMENTED:C,ERR_MULTIPLE_CALLBACK:R,ERR_STREAM_CANNOT_PIPE:O,ERR_STREAM_DESTROYED:D,ERR_STREAM_ALREADY_FINISHED:V,ERR_STREAM_NULL_VALUES:re,ERR_STREAM_WRITE_AFTER_END:G,ERR_UNKNOWN_ENCODING:X}=Bt().codes,{errorOrDestroy:L}=b;l(pe.prototype,g.prototype),l(pe,g);function $(){}var ae=c("kOnFinished");function fe(I,B,U){typeof U!="boolean"&&(U=B instanceof Gr()),this.objectMode=!!(I&&I.objectMode),U&&(this.objectMode=this.objectMode||!!(I&&I.writableObjectMode)),this.highWaterMark=I?v(this,I,"writableHighWaterMark",U):S(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let Z=!!(I&&I.decodeStrings===!1);this.decodeStrings=!Z,this.defaultEncoding=I&&I.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=N.bind(void 0,B),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,de(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!I||I.emitClose!==!1,this.autoDestroy=!I||I.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[ae]=[]}function de(I){I.buffered=[],I.bufferedIndex=0,I.allBuffers=!0,I.allNoop=!0}fe.prototype.getBuffer=function(){return n(this.buffered,this.bufferedIndex)},a(fe.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function pe(I){let B=this instanceof Gr();if(!B&&!i(pe,this))return new pe(I);this._writableState=new fe(I,this,B),I&&(typeof I.write=="function"&&(this._write=I.write),typeof I.writev=="function"&&(this._writev=I.writev),typeof I.destroy=="function"&&(this._destroy=I.destroy),typeof I.final=="function"&&(this._final=I.final),typeof I.construct=="function"&&(this._construct=I.construct),I.signal&&E(I.signal,this)),g.call(this,I),b.construct(this,()=>{let U=this._writableState;U.writing||Q(this,U),te(this,U)})}a(pe,d,{__proto__:null,value:function(I){return i(this,I)?!0:this!==pe?!1:I&&I._writableState instanceof fe}}),pe.prototype.pipe=function(){L(this,new O)};function z(I,B,U,Z){let j=I._writableState;if(typeof U=="function")Z=U,U=j.defaultEncoding;else{if(!U)U=j.defaultEncoding;else if(U!=="buffer"&&!_.isEncoding(U))throw new X(U);typeof Z!="function"&&(Z=$)}if(B===null)throw new re;if(!j.objectMode)if(typeof B=="string")j.decodeStrings!==!1&&(B=_.from(B,U),U="buffer");else if(B instanceof _)U="buffer";else if(g._isUint8Array(B))B=g._uint8ArrayToBuffer(B),U="buffer";else throw new w("chunk",["string","Buffer","Uint8Array"],B);let F;return j.ending?F=new G:j.destroyed&&(F=new D("write")),F?(r.nextTick(Z,F),L(I,F,!0),F):(j.pendingcb++,ge(I,j,B,U,Z))}pe.prototype.write=function(I,B,U){return z(this,I,B,U)===!0},pe.prototype.cork=function(){this._writableState.corked++},pe.prototype.uncork=function(){let I=this._writableState;I.corked&&(I.corked--,I.writing||Q(this,I))},pe.prototype.setDefaultEncoding=function(I){if(typeof I=="string"&&(I=u(I)),!_.isEncoding(I))throw new X(I);return this._writableState.defaultEncoding=I,this};function ge(I,B,U,Z,j){let F=B.objectMode?1:U.length;B.length+=F;let K=B.lengthU.bufferedIndex&&Q(I,U),Z?U.afterWriteTickInfo!==null&&U.afterWriteTickInfo.cb===j?U.afterWriteTickInfo.count++:(U.afterWriteTickInfo={count:1,cb:j,stream:I,state:U},r.nextTick(ne,U.afterWriteTickInfo)):ye(I,U,1,j))}function ne({stream:I,state:B,count:U,cb:Z}){return B.afterWriteTickInfo=null,ye(I,B,U,Z)}function ye(I,B,U,Z){for(!B.ending&&!I.destroyed&&B.length===0&&B.needDrain&&(B.needDrain=!1,I.emit("drain"));U-- >0;)B.pendingcb--,Z();B.destroyed&&se(B),te(I,B)}function se(I){if(I.writing)return;for(let j=I.bufferedIndex;j1&&I._writev){B.pendingcb-=F-1;let P=B.allNoop?$:le=>{for(let me=K;me256?(U.splice(0,K),B.bufferedIndex=0):B.bufferedIndex=K}B.bufferProcessing=!1}pe.prototype._write=function(I,B,U){if(this._writev)this._writev([{chunk:I,encoding:B}],U);else throw new C("_write()")},pe.prototype._writev=null,pe.prototype.end=function(I,B,U){let Z=this._writableState;typeof I=="function"?(U=I,I=null,B=null):typeof B=="function"&&(U=B,B=null);let j;if(I!=null){let F=z(this,I,B);F instanceof o&&(j=F)}return Z.corked&&(Z.corked=1,this.uncork()),j||(!Z.errored&&!Z.ending?(Z.ending=!0,te(this,Z,!0),Z.ended=!0):Z.finished?j=new V("end"):Z.destroyed&&(j=new D("end"))),typeof U=="function"&&(j||Z.finished?r.nextTick(U,j):Z[ae].push(U)),this};function q(I){return I.ending&&!I.destroyed&&I.constructed&&I.length===0&&!I.errored&&I.buffered.length===0&&!I.finished&&!I.writing&&!I.errorEmitted&&!I.closeEmitted}function k(I,B){let U=!1;function Z(j){if(U){L(I,j??R());return}if(U=!0,B.pendingcb--,j){let F=B[ae].splice(0);for(let K=0;K{q(j)?ee(Z,j):j.pendingcb--},I,B)):q(B)&&(B.pendingcb++,ee(I,B))))}function ee(I,B){B.pendingcb--,B.finished=!0;let U=B[ae].splice(0);for(let Z=0;Z{be(),ve(),we();var r=mi(),n=(mt(),ze(gt)),{isReadable:o,isWritable:i,isIterable:a,isNodeStream:s,isReadableNodeStream:l,isWritableNodeStream:u,isDuplexNodeStream:c}=nn(),d=Cn(),{AbortError:p,codes:{ERR_INVALID_ARG_TYPE:g,ERR_INVALID_RETURN_VALUE:_}}=Bt(),{destroyer:b}=ho(),E=Gr(),v=vl(),{createDeferredPromise:S}=zr(),w=Xb(),C=globalThis.Blob||n.Blob,R=typeof C<"u"?function(X){return X instanceof C}:function(X){return!1},O=globalThis.AbortController||nd().AbortController,{FunctionPrototypeCall:D}=ut(),V=class extends E{constructor(X){super(X),(X==null?void 0:X.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(X==null?void 0:X.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};t.exports=function X(L,$){if(c(L))return L;if(l(L))return G({readable:L});if(u(L))return G({writable:L});if(s(L))return G({writable:!1,readable:!1});if(typeof L=="function"){let{value:fe,write:de,final:pe,destroy:z}=re(L);if(a(fe))return w(V,fe,{objectMode:!0,write:de,final:pe,destroy:z});let ge=fe==null?void 0:fe.then;if(typeof ge=="function"){let Y,he=D(ge,fe,N=>{if(N!=null)throw new _("nully","body",N)},N=>{b(Y,N)});return Y=new V({objectMode:!0,readable:!1,write:de,final(N){pe(async()=>{try{await he,r.nextTick(N,null)}catch(ne){r.nextTick(N,ne)}})},destroy:z})}throw new _("Iterable, AsyncIterable or AsyncFunction",$,fe)}if(R(L))return X(L.arrayBuffer());if(a(L))return w(V,L,{objectMode:!0,writable:!1});if(typeof(L==null?void 0:L.writable)=="object"||typeof(L==null?void 0:L.readable)=="object"){let fe=L!=null&&L.readable?l(L==null?void 0:L.readable)?L==null?void 0:L.readable:X(L.readable):void 0,de=L!=null&&L.writable?u(L==null?void 0:L.writable)?L==null?void 0:L.writable:X(L.writable):void 0;return G({readable:fe,writable:de})}let ae=L==null?void 0:L.then;if(typeof ae=="function"){let fe;return D(ae,L,de=>{de!=null&&fe.push(de),fe.push(null)},de=>{b(fe,de)}),fe=new V({objectMode:!0,writable:!1,read(){}})}throw new g($,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],L)};function re(X){let{promise:L,resolve:$}=S(),ae=new O,fe=ae.signal;return{value:X(async function*(){for(;;){let de=L;L=null;let{chunk:pe,done:z,cb:ge}=await de;if(r.nextTick(ge),z)return;if(fe.aborted)throw new p(void 0,{cause:fe.reason});({promise:L,resolve:$}=S()),yield pe}}(),{signal:fe}),write(de,pe,z){let ge=$;$=null,ge({chunk:de,done:!1,cb:z})},final(de){let pe=$;$=null,pe({done:!0,cb:de})},destroy(de,pe){ae.abort(),pe(de)}}}function G(X){let L=X.readable&&typeof X.readable.read!="function"?v.wrap(X.readable):X.readable,$=X.writable,ae=!!o(L),fe=!!i($),de,pe,z,ge,Y;function he(N){let ne=ge;ge=null,ne?ne(N):N&&Y.destroy(N)}return Y=new V({readableObjectMode:!!(L!=null&&L.readableObjectMode),writableObjectMode:!!($!=null&&$.writableObjectMode),readable:ae,writable:fe}),fe&&(d($,N=>{fe=!1,N&&b(L,N),he(N)}),Y._write=function(N,ne,ye){$.write(N,ne)?ye():de=ye},Y._final=function(N){$.end(),pe=N},$.on("drain",function(){if(de){let N=de;de=null,N()}}),$.on("finish",function(){if(pe){let N=pe;pe=null,N()}})),ae&&(d(L,N=>{ae=!1,N&&b(L,N),he(N)}),L.on("readable",function(){if(z){let N=z;z=null,N()}}),L.on("end",function(){Y.push(null)}),Y._read=function(){for(;;){let N=L.read();if(N===null){z=Y._read;return}if(!Y.push(N))return}}),Y._destroy=function(N,ne){!N&&ge!==null&&(N=new p),z=null,de=null,pe=null,ge===null?ne(N):(ge=ne,b($,N),b(L,N))},Y}}),Gr=Ae((e,t)=>{be(),ve(),we();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:n,ObjectKeys:o,ObjectSetPrototypeOf:i}=ut();t.exports=l;var a=vl(),s=Jb();i(l.prototype,a.prototype),i(l,a);{let p=o(s.prototype);for(let g=0;g{be(),ve(),we();var{ObjectSetPrototypeOf:r,Symbol:n}=ut();t.exports=l;var{ERR_METHOD_NOT_IMPLEMENTED:o}=Bt().codes,i=Gr(),{getHighWaterMark:a}=od();r(l.prototype,i.prototype),r(l,i);var s=n("kCallback");function l(d){if(!(this instanceof l))return new l(d);let p=d?a(this,d,"readableHighWaterMark",!0):null;p===0&&(d={...d,highWaterMark:null,readableHighWaterMark:p,writableHighWaterMark:d.writableHighWaterMark||0}),i.call(this,d),this._readableState.sync=!1,this[s]=null,d&&(typeof d.transform=="function"&&(this._transform=d.transform),typeof d.flush=="function"&&(this._flush=d.flush)),this.on("prefinish",c)}function u(d){typeof this._flush=="function"&&!this.destroyed?this._flush((p,g)=>{if(p){d?d(p):this.destroy(p);return}g!=null&&this.push(g),this.push(null),d&&d()}):(this.push(null),d&&d())}function c(){this._final!==u&&u.call(this)}l.prototype._final=u,l.prototype._transform=function(d,p,g){throw new o("_transform()")},l.prototype._write=function(d,p,g){let _=this._readableState,b=this._writableState,E=_.length;this._transform(d,p,(v,S)=>{if(v){g(v);return}S!=null&&this.push(S),b.ended||E===_.length||_.length<_.highWaterMark?g():this[s]=g})},l.prototype._read=function(){if(this[s]){let d=this[s];this[s]=null,d()}}}),e0=Ae((e,t)=>{be(),ve(),we();var{ObjectSetPrototypeOf:r}=ut();t.exports=o;var n=Zb();r(o.prototype,n.prototype),r(o,n);function o(i){if(!(this instanceof o))return new o(i);n.call(this,i)}o.prototype._transform=function(i,a,s){s(null,i)}}),ld=Ae((e,t)=>{be(),ve(),we();var r=mi(),{ArrayIsArray:n,Promise:o,SymbolAsyncIterator:i}=ut(),a=Cn(),{once:s}=zr(),l=ho(),u=Gr(),{aggregateTwoErrors:c,codes:{ERR_INVALID_ARG_TYPE:d,ERR_INVALID_RETURN_VALUE:p,ERR_MISSING_ARGS:g,ERR_STREAM_DESTROYED:_,ERR_STREAM_PREMATURE_CLOSE:b},AbortError:E}=Bt(),{validateFunction:v,validateAbortSignal:S}=_l(),{isIterable:w,isReadable:C,isReadableNodeStream:R,isNodeStream:O,isTransformStream:D,isWebStream:V,isReadableStream:re,isReadableEnded:G}=nn(),X=globalThis.AbortController||nd().AbortController,L,$;function ae(ne,ye,se){let Q=!1;ne.on("close",()=>{Q=!0});let q=a(ne,{readable:ye,writable:se},k=>{Q=!k});return{destroy:k=>{Q||(Q=!0,l.destroyer(ne,k||new _("pipe")))},cleanup:q}}function fe(ne){return v(ne[ne.length-1],"streams[stream.length - 1]"),ne.pop()}function de(ne){if(w(ne))return ne;if(R(ne))return pe(ne);throw new d("val",["Readable","Iterable","AsyncIterable"],ne)}async function*pe(ne){$||($=vl()),yield*$.prototype[i].call(ne)}async function z(ne,ye,se,{end:Q}){let q,k=null,W=A=>{if(A&&(q=A),k){let T=k;k=null,T()}},te=()=>new o((A,T)=>{q?T(q):k=()=>{q?T(q):A()}});ye.on("drain",W);let ee=a(ye,{readable:!1},W);try{ye.writableNeedDrain&&await te();for await(let A of ne)ye.write(A)||await te();Q&&ye.end(),await te(),se()}catch(A){se(q!==A?c(q,A):A)}finally{ee(),ye.off("drain",W)}}async function ge(ne,ye,se,{end:Q}){D(ye)&&(ye=ye.writable);let q=ye.getWriter();try{for await(let k of ne)await q.ready,q.write(k).catch(()=>{});await q.ready,Q&&await q.close(),se()}catch(k){try{await q.abort(k),se(k)}catch(W){se(W)}}}function Y(...ne){return he(ne,s(fe(ne)))}function he(ne,ye,se){if(ne.length===1&&n(ne[0])&&(ne=ne[0]),ne.length<2)throw new g("streams");let Q=new X,q=Q.signal,k=se==null?void 0:se.signal,W=[];S(k,"options.signal");function te(){B(new E)}k==null||k.addEventListener("abort",te);let ee,A,T=[],M=0;function I(F){B(F,--M===0)}function B(F,K){if(F&&(!ee||ee.code==="ERR_STREAM_PREMATURE_CLOSE")&&(ee=F),!(!ee&&!K)){for(;T.length;)T.shift()(ee);k==null||k.removeEventListener("abort",te),Q.abort(),K&&(ee||W.forEach(P=>P()),r.nextTick(ye,ee,A))}}let U;for(let F=0;F0,le=P||(se==null?void 0:se.end)!==!1,me=F===ne.length-1;if(O(K)){let y=function(h){h&&h.name!=="AbortError"&&h.code!=="ERR_STREAM_PREMATURE_CLOSE"&&I(h)};if(le){let{destroy:h,cleanup:f}=ae(K,P,J);T.push(h),C(K)&&me&&W.push(f)}K.on("error",y),C(K)&&me&&W.push(()=>{K.removeListener("error",y)})}if(F===0)if(typeof K=="function"){if(U=K({signal:q}),!w(U))throw new p("Iterable, AsyncIterable or Stream","source",U)}else w(K)||R(K)||D(K)?U=K:U=u.from(K);else if(typeof K=="function"){if(D(U)){var Z;U=de((Z=U)===null||Z===void 0?void 0:Z.readable)}else U=de(U);if(U=K(U,{signal:q}),P){if(!w(U,!0))throw new p("AsyncIterable",`transform[${F-1}]`,U)}else{var j;L||(L=e0());let y=new L({objectMode:!0}),h=(j=U)===null||j===void 0?void 0:j.then;if(typeof h=="function")M++,h.call(U,x=>{A=x,x!=null&&y.write(x),le&&y.end(),r.nextTick(I)},x=>{y.destroy(x),r.nextTick(I,x)});else if(w(U,!0))M++,z(U,y,I,{end:le});else if(re(U)||D(U)){let x=U.readable||U;M++,z(x,y,I,{end:le})}else throw new p("AsyncIterable or Promise","destination",U);U=y;let{destroy:f,cleanup:m}=ae(U,!1,!0);T.push(f),me&&W.push(m)}}else if(O(K)){if(R(U)){M+=2;let y=N(U,K,I,{end:le});C(K)&&me&&W.push(y)}else if(D(U)||re(U)){let y=U.readable||U;M++,z(y,K,I,{end:le})}else if(w(U))M++,z(U,K,I,{end:le});else throw new d("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],U);U=K}else if(V(K)){if(R(U))M++,ge(de(U),K,I,{end:le});else if(re(U)||w(U))M++,ge(U,K,I,{end:le});else if(D(U))M++,ge(U.readable,K,I,{end:le});else throw new d("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],U);U=K}else U=u.from(K)}return(q!=null&&q.aborted||k!=null&&k.aborted)&&r.nextTick(te),U}function N(ne,ye,se,{end:Q}){let q=!1;if(ye.on("close",()=>{q||se(new b)}),ne.pipe(ye,{end:!1}),Q){let k=function(){q=!0,ye.end()};G(ne)?r.nextTick(k):ne.once("end",k)}else se();return a(ne,{readable:!0,writable:!1},k=>{let W=ne._readableState;k&&k.code==="ERR_STREAM_PREMATURE_CLOSE"&&W&&W.ended&&!W.errored&&!W.errorEmitted?ne.once("end",se).once("error",se):se(k)}),a(ye,{readable:!1,writable:!0},se)}t.exports={pipelineImpl:he,pipeline:Y}}),t0=Ae((e,t)=>{be(),ve(),we();var{pipeline:r}=ld(),n=Gr(),{destroyer:o}=ho(),{isNodeStream:i,isReadable:a,isWritable:s,isWebStream:l,isTransformStream:u,isWritableStream:c,isReadableStream:d}=nn(),{AbortError:p,codes:{ERR_INVALID_ARG_VALUE:g,ERR_MISSING_ARGS:_}}=Bt(),b=Cn();t.exports=function(...E){if(E.length===0)throw new _("streams");if(E.length===1)return n.from(E[0]);let v=[...E];if(typeof E[0]=="function"&&(E[0]=n.from(E[0])),typeof E[E.length-1]=="function"){let L=E.length-1;E[L]=n.from(E[L])}for(let L=0;L0&&!(s(E[L])||c(E[L])||u(E[L])))throw new g(`streams[${L}]`,v[L],"must be writable")}let S,w,C,R,O;function D(L){let $=R;R=null,$?$(L):L?O.destroy(L):!X&&!G&&O.destroy()}let V=E[0],re=r(E,D),G=!!(s(V)||c(V)||u(V)),X=!!(a(re)||d(re)||u(re));if(O=new n({writableObjectMode:!!(V!=null&&V.writableObjectMode),readableObjectMode:!!(re!=null&&re.writableObjectMode),writable:G,readable:X}),G){if(i(V))O._write=function($,ae,fe){V.write($,ae)?fe():S=fe},O._final=function($){V.end(),w=$},V.on("drain",function(){if(S){let $=S;S=null,$()}});else if(l(V)){let $=(u(V)?V.writable:V).getWriter();O._write=async function(ae,fe,de){try{await $.ready,$.write(ae).catch(()=>{}),de()}catch(pe){de(pe)}},O._final=async function(ae){try{await $.ready,$.close().catch(()=>{}),w=ae}catch(fe){ae(fe)}}}let L=u(re)?re.readable:re;b(L,()=>{if(w){let $=w;w=null,$()}})}if(X){if(i(re))re.on("readable",function(){if(C){let L=C;C=null,L()}}),re.on("end",function(){O.push(null)}),O._read=function(){for(;;){let L=re.read();if(L===null){C=O._read;return}if(!O.push(L))return}};else if(l(re)){let L=(u(re)?re.readable:re).getReader();O._read=async function(){for(;;)try{let{value:$,done:ae}=await L.read();if(!O.push($))return;if(ae){O.push(null);return}}catch{return}}}}return O._destroy=function(L,$){!L&&R!==null&&(L=new p),C=null,S=null,w=null,R===null?$(L):(R=$,i(re)&&o(re,L))},O}}),wC=Ae((e,t)=>{be(),ve(),we();var r=globalThis.AbortController||nd().AbortController,{codes:{ERR_INVALID_ARG_VALUE:n,ERR_INVALID_ARG_TYPE:o,ERR_MISSING_ARGS:i,ERR_OUT_OF_RANGE:a},AbortError:s}=Bt(),{validateAbortSignal:l,validateInteger:u,validateObject:c}=_l(),d=ut().Symbol("kWeak"),{finished:p}=Cn(),g=t0(),{addAbortSignalNoValidate:_}=bl(),{isWritable:b,isNodeStream:E}=nn(),{ArrayPrototypePush:v,MathFloor:S,Number:w,NumberIsNaN:C,Promise:R,PromiseReject:O,PromisePrototypeThen:D,Symbol:V}=ut(),re=V("kEmpty"),G=V("kEof");function X(Q,q){if(q!=null&&c(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal"),E(Q)&&!b(Q))throw new n("stream",Q,"must be writable");let k=g(this,Q);return q!=null&&q.signal&&_(q.signal,k),k}function L(Q,q){if(typeof Q!="function")throw new o("fn",["Function","AsyncFunction"],Q);q!=null&&c(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal");let k=1;return(q==null?void 0:q.concurrency)!=null&&(k=S(q.concurrency)),u(k,"concurrency",1),(async function*(){var W,te;let ee=new r,A=this,T=[],M=ee.signal,I={signal:M},B=()=>ee.abort();q!=null&&(W=q.signal)!==null&&W!==void 0&&W.aborted&&B(),q==null||(te=q.signal)===null||te===void 0||te.addEventListener("abort",B);let U,Z,j=!1;function F(){j=!0}async function K(){try{for await(let le of A){var P;if(j)return;if(M.aborted)throw new s;try{le=Q(le,I)}catch(me){le=O(me)}le!==re&&(typeof((P=le)===null||P===void 0?void 0:P.catch)=="function"&&le.catch(F),T.push(le),U&&(U(),U=null),!j&&T.length&&T.length>=k&&await new R(me=>{Z=me}))}T.push(G)}catch(le){let me=O(le);D(me,void 0,F),T.push(me)}finally{var J;j=!0,U&&(U(),U=null),q==null||(J=q.signal)===null||J===void 0||J.removeEventListener("abort",B)}}K();try{for(;;){for(;T.length>0;){let P=await T[0];if(P===G)return;if(M.aborted)throw new s;P!==re&&(yield P),T.shift(),Z&&(Z(),Z=null)}await new R(P=>{U=P})}}finally{ee.abort(),j=!0,Z&&(Z(),Z=null)}}).call(this)}function $(Q=void 0){return Q!=null&&c(Q,"options"),(Q==null?void 0:Q.signal)!=null&&l(Q.signal,"options.signal"),(async function*(){let q=0;for await(let W of this){var k;if(Q!=null&&(k=Q.signal)!==null&&k!==void 0&&k.aborted)throw new s({cause:Q.signal.reason});yield[q++,W]}}).call(this)}async function ae(Q,q=void 0){for await(let k of z.call(this,Q,q))return!0;return!1}async function fe(Q,q=void 0){if(typeof Q!="function")throw new o("fn",["Function","AsyncFunction"],Q);return!await ae.call(this,async(...k)=>!await Q(...k),q)}async function de(Q,q){for await(let k of z.call(this,Q,q))return k}async function pe(Q,q){if(typeof Q!="function")throw new o("fn",["Function","AsyncFunction"],Q);async function k(W,te){return await Q(W,te),re}for await(let W of L.call(this,k,q));}function z(Q,q){if(typeof Q!="function")throw new o("fn",["Function","AsyncFunction"],Q);async function k(W,te){return await Q(W,te)?W:re}return L.call(this,k,q)}var ge=class extends i{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function Y(Q,q,k){var W;if(typeof Q!="function")throw new o("reducer",["Function","AsyncFunction"],Q);k!=null&&c(k,"options"),(k==null?void 0:k.signal)!=null&&l(k.signal,"options.signal");let te=arguments.length>1;if(k!=null&&(W=k.signal)!==null&&W!==void 0&&W.aborted){let I=new s(void 0,{cause:k.signal.reason});throw this.once("error",()=>{}),await p(this.destroy(I)),I}let ee=new r,A=ee.signal;if(k!=null&&k.signal){let I={once:!0,[d]:this};k.signal.addEventListener("abort",()=>ee.abort(),I)}let T=!1;try{for await(let I of this){var M;if(T=!0,k!=null&&(M=k.signal)!==null&&M!==void 0&&M.aborted)throw new s;te?q=await Q(q,I,{signal:A}):(q=I,te=!0)}if(!T&&!te)throw new ge}finally{ee.abort()}return q}async function he(Q){Q!=null&&c(Q,"options"),(Q==null?void 0:Q.signal)!=null&&l(Q.signal,"options.signal");let q=[];for await(let W of this){var k;if(Q!=null&&(k=Q.signal)!==null&&k!==void 0&&k.aborted)throw new s(void 0,{cause:Q.signal.reason});v(q,W)}return q}function N(Q,q){let k=L.call(this,Q,q);return(async function*(){for await(let W of k)yield*W}).call(this)}function ne(Q){if(Q=w(Q),C(Q))return 0;if(Q<0)throw new a("number",">= 0",Q);return Q}function ye(Q,q=void 0){return q!=null&&c(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal"),Q=ne(Q),(async function*(){var k;if(q!=null&&(k=q.signal)!==null&&k!==void 0&&k.aborted)throw new s;for await(let te of this){var W;if(q!=null&&(W=q.signal)!==null&&W!==void 0&&W.aborted)throw new s;Q--<=0&&(yield te)}}).call(this)}function se(Q,q=void 0){return q!=null&&c(q,"options"),(q==null?void 0:q.signal)!=null&&l(q.signal,"options.signal"),Q=ne(Q),(async function*(){var k;if(q!=null&&(k=q.signal)!==null&&k!==void 0&&k.aborted)throw new s;for await(let te of this){var W;if(q!=null&&(W=q.signal)!==null&&W!==void 0&&W.aborted)throw new s;if(Q-- >0)yield te;else return}}).call(this)}t.exports.streamReturningOperators={asIndexedPairs:$,drop:ye,filter:z,flatMap:N,map:L,take:se,compose:X},t.exports.promiseReturningOperators={every:fe,forEach:pe,reduce:Y,toArray:he,some:ae,find:de}}),r0=Ae((e,t)=>{be(),ve(),we();var{ArrayPrototypePop:r,Promise:n}=ut(),{isIterable:o,isNodeStream:i,isWebStream:a}=nn(),{pipelineImpl:s}=ld(),{finished:l}=Cn();n0();function u(...c){return new n((d,p)=>{let g,_,b=c[c.length-1];if(b&&typeof b=="object"&&!i(b)&&!o(b)&&!a(b)){let E=r(c);g=E.signal,_=E.end}s(c,(E,v)=>{E?p(E):d(v)},{signal:g,end:_})})}t.exports={finished:l,pipeline:u}}),n0=Ae((e,t)=>{be(),ve(),we();var{Buffer:r}=(mt(),ze(gt)),{ObjectDefineProperty:n,ObjectKeys:o,ReflectApply:i}=ut(),{promisify:{custom:a}}=zr(),{streamReturningOperators:s,promiseReturningOperators:l}=wC(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=Bt(),c=t0(),{pipeline:d}=ld(),{destroyer:p}=ho(),g=Cn(),_=r0(),b=nn(),E=t.exports=id().Stream;E.isDisturbed=b.isDisturbed,E.isErrored=b.isErrored,E.isReadable=b.isReadable,E.Readable=vl();for(let S of o(s)){let w=function(...R){if(new.target)throw u();return E.Readable.from(i(C,this,R))},C=s[S];n(w,"name",{__proto__:null,value:C.name}),n(w,"length",{__proto__:null,value:C.length}),n(E.Readable.prototype,S,{__proto__:null,value:w,enumerable:!1,configurable:!0,writable:!0})}for(let S of o(l)){let w=function(...R){if(new.target)throw u();return i(C,this,R)},C=l[S];n(w,"name",{__proto__:null,value:C.name}),n(w,"length",{__proto__:null,value:C.length}),n(E.Readable.prototype,S,{__proto__:null,value:w,enumerable:!1,configurable:!0,writable:!0})}E.Writable=Jb(),E.Duplex=Gr(),E.Transform=Zb(),E.PassThrough=e0(),E.pipeline=d;var{addAbortSignal:v}=bl();E.addAbortSignal=v,E.finished=g,E.destroy=p,E.compose=c,n(E,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),n(d,a,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),n(g,a,{__proto__:null,enumerable:!0,get(){return _.finished}}),E.Stream=E,E._isUint8Array=function(S){return S instanceof Uint8Array},E._uint8ArrayToBuffer=function(S){return r.from(S.buffer,S.byteOffset,S.byteLength)}}),_i=Ae((e,t)=>{be(),ve(),we();var r=n0(),n=r0(),o=r.Readable.destroy;t.exports=r.Readable,t.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,t.exports._isUint8Array=r._isUint8Array,t.exports.isDisturbed=r.isDisturbed,t.exports.isErrored=r.isErrored,t.exports.isReadable=r.isReadable,t.exports.Readable=r.Readable,t.exports.Writable=r.Writable,t.exports.Duplex=r.Duplex,t.exports.Transform=r.Transform,t.exports.PassThrough=r.PassThrough,t.exports.addAbortSignal=r.addAbortSignal,t.exports.finished=r.finished,t.exports.destroy=r.destroy,t.exports.destroy=o,t.exports.pipeline=r.pipeline,t.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get(){return n}}),t.exports.Stream=r.Stream,t.exports.default=t.exports}),vC=Ae((e,t)=>{be(),ve(),we(),typeof Object.create=="function"?t.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,n){if(n){r.super_=n;var o=function(){};o.prototype=n.prototype,r.prototype=new o,r.prototype.constructor=r}}}),EC=Ae((e,t)=>{be(),ve(),we();var{Buffer:r}=(mt(),ze(gt)),n=Symbol.for("BufferList");function o(i){if(!(this instanceof o))return new o(i);o._init.call(this,i)}o._init=function(i){Object.defineProperty(this,n,{value:!0}),this._bufs=[],this.length=0,i&&this.append(i)},o.prototype._new=function(i){return new o(i)},o.prototype._offset=function(i){if(i===0)return[0,0];let a=0;for(let s=0;sthis.length||i<0)return;let a=this._offset(i);return this._bufs[a[0]][a[1]]},o.prototype.slice=function(i,a){return typeof i=="number"&&i<0&&(i+=this.length),typeof a=="number"&&a<0&&(a+=this.length),this.copy(null,0,i,a)},o.prototype.copy=function(i,a,s,l){if((typeof s!="number"||s<0)&&(s=0),(typeof l!="number"||l>this.length)&&(l=this.length),s>=this.length||l<=0)return i||r.alloc(0);let u=!!i,c=this._offset(s),d=l-s,p=d,g=u&&a||0,_=c[1];if(s===0&&l===this.length){if(!u)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let b=0;bE)this._bufs[b].copy(i,g,_),g+=E;else{this._bufs[b].copy(i,g,_,_+p),g+=E;break}p-=E,_&&(_=0)}return i.length>g?i.slice(0,g):i},o.prototype.shallowSlice=function(i,a){if(i=i||0,a=typeof a!="number"?this.length:a,i<0&&(i+=this.length),a<0&&(a+=this.length),i===a)return this._new();let s=this._offset(i),l=this._offset(a),u=this._bufs.slice(s[0],l[0]+1);return l[1]===0?u.pop():u[u.length-1]=u[u.length-1].slice(0,l[1]),s[1]!==0&&(u[0]=u[0].slice(s[1])),this._new(u)},o.prototype.toString=function(i,a,s){return this.slice(a,s).toString(i)},o.prototype.consume=function(i){if(i=Math.trunc(i),Number.isNaN(i)||i<=0)return this;for(;this._bufs.length;)if(i>=this._bufs[0].length)i-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(i),this.length-=i;break}return this},o.prototype.duplicate=function(){let i=this._new();for(let a=0;athis.length?this.length:a;let l=this._offset(a),u=l[0],c=l[1];for(;u=i.length){let p=d.indexOf(i,c);if(p!==-1)return this._reverseOffset([u,p]);c=d.length-i.length+1}else{let p=this._reverseOffset([u,c]);if(this._match(p,i))return p;c++}c=0}return-1},o.prototype._match=function(i,a){if(this.length-i{be(),ve(),we();var r=_i().Duplex,n=vC(),o=EC();function i(a){if(!(this instanceof i))return new i(a);if(typeof a=="function"){this._callback=a;let s=(function(l){this._callback&&(this._callback(l),this._callback=null)}).bind(this);this.on("pipe",function(l){l.on("error",s)}),this.on("unpipe",function(l){l.removeListener("error",s)}),a=null}o._init.call(this,a),r.call(this)}n(i,r),Object.assign(i.prototype,o.prototype),i.prototype._new=function(a){return new i(a)},i.prototype._write=function(a,s,l){this._appendBuffer(a),typeof l=="function"&&l()},i.prototype._read=function(a){if(!this.length)return this.push(null);a=Math.min(a,this.length),this.push(this.slice(0,a)),this.consume(a)},i.prototype.end=function(a){r.prototype.end.call(this,a),this._callback&&(this._callback(null,this.slice()),this._callback=null)},i.prototype._destroy=function(a,s){this._bufs.length=0,this.length=0,s(a)},i.prototype._isBufferList=function(a){return a instanceof i||a instanceof o||i.isBufferList(a)},i.isBufferList=o.isBufferList,t.exports=i,t.exports.BufferListStream=i,t.exports.BufferList=o}),AC=Ae((e,t)=>{be(),ve(),we();var r=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}};t.exports=r}),i0=Ae((e,t)=>{be(),ve(),we();var r=t.exports,{Buffer:n}=(mt(),ze(gt));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let i in r.requiredHeaderFlags){let a=r.requiredHeaderFlags[i];r.requiredHeaderFlagsErrors[i]="Invalid header flag bits, must be 0x"+a.toString(16)+" for "+r.types[i]+" packet"}r.codes={};for(let i in r.types){let a=r.types[i];r.codes[a]=i}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=n.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=n.from([r.codes.connack<[0,1].map(s=>[0,1].map(l=>{let u=n.alloc(1);return u.writeUInt8(r.codes[i]<n.from([i])),r.EMPTY={pingreq:n.from([r.codes.pingreq<<4,0]),pingresp:n.from([r.codes.pingresp<<4,0]),disconnect:n.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),TC=Ae((e,t)=>{be(),ve(),we();var r=1e3,n=r*60,o=n*60,i=o*24,a=i*7,s=i*365.25;t.exports=function(p,g){g=g||{};var _=typeof p;if(_==="string"&&p.length>0)return l(p);if(_==="number"&&isFinite(p))return g.long?c(p):u(p);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(p))};function l(p){if(p=String(p),!(p.length>100)){var g=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(p);if(g){var _=parseFloat(g[1]),b=(g[2]||"ms").toLowerCase();switch(b){case"years":case"year":case"yrs":case"yr":case"y":return _*s;case"weeks":case"week":case"w":return _*a;case"days":case"day":case"d":return _*i;case"hours":case"hour":case"hrs":case"hr":case"h":return _*o;case"minutes":case"minute":case"mins":case"min":case"m":return _*n;case"seconds":case"second":case"secs":case"sec":case"s":return _*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return _;default:return}}}}function u(p){var g=Math.abs(p);return g>=i?Math.round(p/i)+"d":g>=o?Math.round(p/o)+"h":g>=n?Math.round(p/n)+"m":g>=r?Math.round(p/r)+"s":p+"ms"}function c(p){var g=Math.abs(p);return g>=i?d(p,g,i,"day"):g>=o?d(p,g,o,"hour"):g>=n?d(p,g,n,"minute"):g>=r?d(p,g,r,"second"):p+" ms"}function d(p,g,_,b){var E=g>=_*1.5;return Math.round(p/_)+" "+b+(E?"s":"")}}),xC=Ae((e,t)=>{be(),ve(),we();function r(n){i.debug=i,i.default=i,i.coerce=d,i.disable=l,i.enable=s,i.enabled=u,i.humanize=TC(),i.destroy=p,Object.keys(n).forEach(g=>{i[g]=n[g]}),i.names=[],i.skips=[],i.formatters={};function o(g){let _=0;for(let b=0;b{if(V==="%%")return"%";D++;let G=i.formatters[re];if(typeof G=="function"){let X=w[D];V=G.call(C,X),w.splice(D,1),D--}return V}),i.formatArgs.call(C,w),(C.log||i.log).apply(C,w)}return S.namespace=g,S.useColors=i.useColors(),S.color=i.selectColor(g),S.extend=a,S.destroy=i.destroy,Object.defineProperty(S,"enabled",{enumerable:!0,configurable:!1,get:()=>b!==null?b:(E!==i.namespaces&&(E=i.namespaces,v=i.enabled(g)),v),set:w=>{b=w}}),typeof i.init=="function"&&i.init(S),S}function a(g,_){let b=i(this.namespace+(typeof _>"u"?":":_)+g);return b.log=this.log,b}function s(g){i.save(g),i.namespaces=g,i.names=[],i.skips=[];let _,b=(typeof g=="string"?g:"").split(/[\s,]+/),E=b.length;for(_=0;_"-"+_)].join(",");return i.enable(""),g}function u(g){if(g[g.length-1]==="*")return!0;let _,b;for(_=0,b=i.skips.length;_{be(),ve(),we(),e.formatArgs=n,e.save=o,e.load=i,e.useColors=r,e.storage=a(),e.destroy=(()=>{let l=!1;return()=>{l||(l=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function r(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function n(l){if(l[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+l[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;let u="color: "+this.color;l.splice(1,0,u,"color: inherit");let c=0,d=0;l[0].replace(/%[a-zA-Z%]/g,p=>{p!=="%%"&&(c++,p==="%c"&&(d=c))}),l.splice(d,0,u)}e.log=console.debug||console.log||(()=>{});function o(l){try{l?e.storage.setItem("debug",l):e.storage.removeItem("debug")}catch{}}function i(){let l;try{l=e.storage.getItem("debug")}catch{}return!l&&typeof He<"u"&&"env"in He&&(l=He.env.DEBUG),l}function a(){try{return localStorage}catch{}}t.exports=xC()(e);var{formatters:s}=t.exports;s.j=function(l){try{return JSON.stringify(l)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}}}),IC=Ae((e,t)=>{be(),ve(),we();var r=SC(),{EventEmitter:n}=(po(),ze(yi)),o=AC(),i=i0(),a=Qr()("mqtt-packet:parser"),s=class Vf extends n{constructor(){super(),this.parser=this.constructor.parser}static parser(u){return this instanceof Vf?(this.settings=u||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Vf().parser(u)}_resetState(){a("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new o,this.error=null,this._list=r(),this._stateCounter=0}parse(u){for(this.error&&this._resetState(),this._list.append(u),a("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,a("parse: state complete. _stateCounter is now: %d",this._stateCounter),a("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return a("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let u=this._list.readUInt8(0),c=u>>i.CMD_SHIFT;this.packet.cmd=i.types[c];let d=u&15,p=i.requiredHeaderFlags[c];return p!=null&&d!==p?this._emitError(new Error(i.requiredHeaderFlagsErrors[c])):(this.packet.retain=(u&i.RETAIN_MASK)!==0,this.packet.qos=u>>i.QOS_SHIFT&i.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(u&i.DUP_MASK)!==0,a("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let u=this._parseVarByteNum(!0);return u&&(this.packet.length=u.value,this._list.consume(u.bytes)),a("_parseLength %d",u.value),!!u}_parsePayload(){a("_parsePayload: payload %O",this._list);let u=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}u=!0}return a("_parsePayload complete result: %s",u),u}_parseConnect(){a("_parseConnect");let u,c,d,p,g={},_=this.packet,b=this._parseString();if(b===null)return this._emitError(new Error("Cannot parse protocolId"));if(b!=="MQTT"&&b!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(_.protocolId=b,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(_.protocolVersion=this._list.readUInt8(this._pos),_.protocolVersion>=128&&(_.bridgeMode=!0,_.protocolVersion=_.protocolVersion-128),_.protocolVersion!==3&&_.protocolVersion!==4&&_.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));g.username=this._list.readUInt8(this._pos)&i.USERNAME_MASK,g.password=this._list.readUInt8(this._pos)&i.PASSWORD_MASK,g.will=this._list.readUInt8(this._pos)&i.WILL_FLAG_MASK;let E=!!(this._list.readUInt8(this._pos)&i.WILL_RETAIN_MASK),v=(this._list.readUInt8(this._pos)&i.WILL_QOS_MASK)>>i.WILL_QOS_SHIFT;if(g.will)_.will={},_.will.retain=E,_.will.qos=v;else{if(E)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(v)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(_.clean=(this._list.readUInt8(this._pos)&i.CLEAN_SESSION_MASK)!==0,this._pos++,_.keepalive=this._parseNum(),_.keepalive===-1)return this._emitError(new Error("Packet too short"));if(_.protocolVersion===5){let w=this._parseProperties();Object.getOwnPropertyNames(w).length&&(_.properties=w)}let S=this._parseString();if(S===null)return this._emitError(new Error("Packet too short"));if(_.clientId=S,a("_parseConnect: packet.clientId: %s",_.clientId),g.will){if(_.protocolVersion===5){let w=this._parseProperties();Object.getOwnPropertyNames(w).length&&(_.will.properties=w)}if(u=this._parseString(),u===null)return this._emitError(new Error("Cannot parse will topic"));if(_.will.topic=u,a("_parseConnect: packet.will.topic: %s",_.will.topic),c=this._parseBuffer(),c===null)return this._emitError(new Error("Cannot parse will payload"));_.will.payload=c,a("_parseConnect: packet.will.paylaod: %s",_.will.payload)}if(g.username){if(p=this._parseString(),p===null)return this._emitError(new Error("Cannot parse username"));_.username=p,a("_parseConnect: packet.username: %s",_.username)}if(g.password){if(d=this._parseBuffer(),d===null)return this._emitError(new Error("Cannot parse password"));_.password=d}return this.settings=_,a("_parseConnect: complete"),_}_parseConnack(){a("_parseConnack");let u=this.packet;if(this._list.length<1)return null;let c=this._list.readUInt8(this._pos++);if(c>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(u.sessionPresent=!!(c&i.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?u.reasonCode=this._list.readUInt8(this._pos++):u.reasonCode=0;else{if(this._list.length<2)return null;u.returnCode=this._list.readUInt8(this._pos++)}if(u.returnCode===-1||u.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(u.properties=d)}a("_parseConnack: complete")}_parsePublish(){a("_parsePublish");let u=this.packet;if(u.topic=this._parseString(),u.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(u.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(u.properties=c)}u.payload=this._list.slice(this._pos,u.length),a("_parsePublish: payload from buffer list: %o",u.payload)}}_parseSubscribe(){a("_parseSubscribe");let u=this.packet,c,d,p,g,_,b,E;if(u.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(u.properties=v)}if(u.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos=u.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(d=this._parseByte(),this.settings.protocolVersion===5){if(d&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(d&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(p=d&i.SUBSCRIBE_OPTIONS_QOS_MASK,p>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(b=(d>>i.SUBSCRIBE_OPTIONS_NL_SHIFT&i.SUBSCRIBE_OPTIONS_NL_MASK)!==0,_=(d>>i.SUBSCRIBE_OPTIONS_RAP_SHIFT&i.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,g=d>>i.SUBSCRIBE_OPTIONS_RH_SHIFT&i.SUBSCRIBE_OPTIONS_RH_MASK,g>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));E={topic:c,qos:p},this.settings.protocolVersion===5?(E.nl=b,E.rap=_,E.rh=g):this.settings.bridgeMode&&(E.rh=0,E.rap=!0,E.nl=!0),a("_parseSubscribe: push subscription `%s` to subscription",E),u.subscriptions.push(E)}}}_parseSuback(){a("_parseSuback");let u=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(u.properties=c)}if(u.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&c!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(c)}}}_parseUnsubscribe(){a("_parseUnsubscribe");let u=this.packet;if(u.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(u.properties=c)}if(u.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(u.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!i.MQTT5_PUBACK_PUBREC_CODES[u.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!i.MQTT5_PUBREL_PUBCOMP_CODES[u.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}a("_parseConfirmation: packet.reasonCode `%d`",u.reasonCode)}else u.reasonCode=0;if(u.length>3){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(u.properties=c)}}return!0}_parseDisconnect(){let u=this.packet;if(a("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(u.reasonCode=this._parseByte(),i.MQTT5_DISCONNECT_CODES[u.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):u.reasonCode=0;let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(u.properties=c)}return a("_parseDisconnect result: true"),!0}_parseAuth(){a("_parseAuth");let u=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(u.reasonCode=this._parseByte(),!i.MQTT5_AUTH_CODES[u.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let c=this._parseProperties();return Object.getOwnPropertyNames(c).length&&(u.properties=c),a("_parseAuth: result: true"),!0}_parseMessageId(){let u=this.packet;return u.messageId=this._parseNum(),u.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(a("_parseMessageId: packet.messageId %d",u.messageId),!0)}_parseString(u){let c=this._parseNum(),d=c+this._pos;if(c===-1||d>this._list.length||d>this.packet.length)return null;let p=this._list.toString("utf8",this._pos,d);return this._pos+=c,a("_parseString: result: %s",p),p}_parseStringPair(){return a("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let u=this._parseNum(),c=u+this._pos;if(u===-1||c>this._list.length||c>this.packet.length)return null;let d=this._list.slice(this._pos,c);return this._pos+=u,a("_parseBuffer: result: %o",d),d}_parseNum(){if(this._list.length-this._pos<2)return-1;let u=this._list.readUInt16BE(this._pos);return this._pos+=2,a("_parseNum: result: %s",u),u}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let u=this._list.readUInt32BE(this._pos);return this._pos+=4,a("_parse4ByteNum: result: %s",u),u}_parseVarByteNum(u){a("_parseVarByteNum");let c=4,d=0,p=1,g=0,_=!1,b,E=this._pos?this._pos:0;for(;d=d&&this._emitError(new Error("Invalid variable byte integer")),E&&(this._pos+=d),_?u?_={bytes:d,value:g}:_=g:_=!1,a("_parseVarByteNum: result: %o",_),_}_parseByte(){let u;return this._pos{be(),ve(),we();var{Buffer:r}=(mt(),ze(gt)),n=65536,o={},i=r.isBuffer(r.from([1,2]).subarray(0,1));function a(c){let d=r.allocUnsafe(2);return d.writeUInt8(c>>8,0),d.writeUInt8(c&255,1),d}function s(){for(let c=0;c0&&(d=d|128),g.writeUInt8(d,p++);while(c>0&&p<4);return c>0&&(p=0),i?g.subarray(0,p):g.slice(0,p)}function u(c){let d=r.allocUnsafe(4);return d.writeUInt32BE(c,0),d}t.exports={cache:o,generateCache:s,generateNumber:a,genBufVariableByteInt:l,generate4ByteBuffer:u}}),RC=Ae((e,t)=>{be(),ve(),we(),typeof He>"u"||!He.version||He.version.indexOf("v0.")===0||He.version.indexOf("v1.")===0&&He.version.indexOf("v1.8.")!==0?t.exports={nextTick:r}:t.exports=He;function r(n,o,i,a){if(typeof n!="function")throw new TypeError('"callback" argument must be a function');var s=arguments.length,l,u;switch(s){case 0:case 1:return He.nextTick(n);case 2:return He.nextTick(function(){n.call(null,o)});case 3:return He.nextTick(function(){n.call(null,o,i)});case 4:return He.nextTick(function(){n.call(null,o,i,a)});default:for(l=new Array(s-1),u=0;u{be(),ve(),we();var r=i0(),{Buffer:n}=(mt(),ze(gt)),o=n.allocUnsafe(0),i=n.from([0]),a=CC(),s=RC().nextTick,l=Qr()("mqtt-packet:writeToStream"),u=a.cache,c=a.generateNumber,d=a.generateCache,p=a.genBufVariableByteInt,g=a.generate4ByteBuffer,_=pe,b=!0;function E(q,k,W){switch(l("generate called"),k.cork&&(k.cork(),s(v,k)),b&&(b=!1,d()),l("generate: packet.cmd: %s",q.cmd),q.cmd){case"connect":return S(q,k);case"connack":return w(q,k,W);case"publish":return C(q,k,W);case"puback":case"pubrec":case"pubrel":case"pubcomp":return R(q,k,W);case"subscribe":return O(q,k,W);case"suback":return D(q,k,W);case"unsubscribe":return V(q,k,W);case"unsuback":return re(q,k,W);case"pingreq":case"pingresp":return G(q,k);case"disconnect":return X(q,k,W);case"auth":return L(q,k,W);default:return k.destroy(new Error("Unknown command")),!1}}Object.defineProperty(E,"cacheNumbers",{get(){return _===pe},set(q){q?((!u||Object.keys(u).length===0)&&(b=!0),_=pe):(b=!1,_=z)}});function v(q){q.uncork()}function S(q,k,W){let te=q||{},ee=te.protocolId||"MQTT",A=te.protocolVersion||4,T=te.will,M=te.clean,I=te.keepalive||0,B=te.clientId||"",U=te.username,Z=te.password,j=te.properties;M===void 0&&(M=!0);let F=0;if(typeof ee!="string"&&!n.isBuffer(ee))return k.destroy(new Error("Invalid protocolId")),!1;if(F+=ee.length+2,A!==3&&A!==4&&A!==5)return k.destroy(new Error("Invalid protocol version")),!1;if(F+=1,(typeof B=="string"||n.isBuffer(B))&&(B||A>=4)&&(B||M))F+=n.byteLength(B)+2;else{if(A<4)return k.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(M*1===0)return k.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof I!="number"||I<0||I>65535||I%1!==0)return k.destroy(new Error("Invalid keepalive")),!1;F+=2,F+=1;let K,P;if(A===5){if(K=he(k,j),!K)return!1;F+=K.length}if(T){if(typeof T!="object")return k.destroy(new Error("Invalid will")),!1;if(!T.topic||typeof T.topic!="string")return k.destroy(new Error("Invalid will topic")),!1;if(F+=n.byteLength(T.topic)+2,F+=2,T.payload)if(T.payload.length>=0)typeof T.payload=="string"?F+=n.byteLength(T.payload):F+=T.payload.length;else return k.destroy(new Error("Invalid will payload")),!1;if(P={},A===5){if(P=he(k,T.properties),!P)return!1;F+=P.length}}let J=!1;if(U!=null)if(Q(U))J=!0,F+=n.byteLength(U)+2;else return k.destroy(new Error("Invalid username")),!1;if(Z!=null){if(!J)return k.destroy(new Error("Username is required to use password")),!1;if(Q(Z))F+=se(Z)+2;else return k.destroy(new Error("Invalid password")),!1}k.write(r.CONNECT_HEADER),ae(k,F),Y(k,ee),te.bridgeMode&&(A+=128),k.write(A===131?r.VERSION131:A===132?r.VERSION132:A===4?r.VERSION4:A===5?r.VERSION5:r.VERSION3);let le=0;return le|=U!=null?r.USERNAME_MASK:0,le|=Z!=null?r.PASSWORD_MASK:0,le|=T&&T.retain?r.WILL_RETAIN_MASK:0,le|=T&&T.qos?T.qos<0&&_(k,B),j==null||j.write(),l("publish: payload: %o",I),k.write(I)}function R(q,k,W){let te=W?W.protocolVersion:4,ee=q||{},A=ee.cmd||"puback",T=ee.messageId,M=ee.dup&&A==="pubrel"?r.DUP_MASK:0,I=0,B=ee.reasonCode,U=ee.properties,Z=te===5?3:2;if(A==="pubrel"&&(I=1),typeof T!="number")return k.destroy(new Error("Invalid messageId")),!1;let j=null;if(te===5&&typeof U=="object"){if(j=N(k,U,W,Z),!j)return!1;Z+=j.length}return k.write(r.ACKS[A][I][M][0]),Z===3&&(Z+=B!==0?1:-1),ae(k,Z),_(k,T),te===5&&Z!==2&&k.write(n.from([B])),j!==null?j.write():Z===4&&k.write(n.from([0])),!0}function O(q,k,W){l("subscribe: packet: ");let te=W?W.protocolVersion:4,ee=q||{},A=ee.dup?r.DUP_MASK:0,T=ee.messageId,M=ee.subscriptions,I=ee.properties,B=0;if(typeof T!="number")return k.destroy(new Error("Invalid messageId")),!1;B+=2;let U=null;if(te===5){if(U=he(k,I),!U)return!1;B+=U.length}if(typeof M=="object"&&M.length)for(let j=0;j2)return k.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}B+=n.byteLength(F)+2+1}else return k.destroy(new Error("Invalid subscriptions")),!1;l("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),k.write(r.SUBSCRIBE_HEADER[1][A?1:0][0]),ae(k,B),_(k,T),U!==null&&U.write();let Z=!0;for(let j of M){let F=j.topic,K=j.qos,P=+j.nl,J=+j.rap,le=j.rh,me;fe(k,F),me=r.SUBSCRIBE_OPTIONS_QOS[K],te===5&&(me|=P?r.SUBSCRIBE_OPTIONS_NL:0,me|=J?r.SUBSCRIBE_OPTIONS_RAP:0,me|=le?r.SUBSCRIBE_OPTIONS_RH[le]:0),Z=k.write(n.from([me]))}return Z}function D(q,k,W){let te=W?W.protocolVersion:4,ee=q||{},A=ee.messageId,T=ee.granted,M=ee.properties,I=0;if(typeof A!="number")return k.destroy(new Error("Invalid messageId")),!1;if(I+=2,typeof T=="object"&&T.length)for(let U=0;Ur.VARBYTEINT_MAX)return q.destroy(new Error(`Invalid variable byte integer: ${k}`)),!1;let W=$[k];return W||(W=p(k),k<16384&&($[k]=W)),l("writeVarByteInt: writing to stream: %o",W),q.write(W)}function fe(q,k){let W=n.byteLength(k);return _(q,W),l("writeString: %s",k),q.write(k,"utf8")}function de(q,k,W){fe(q,k),fe(q,W)}function pe(q,k){return l("writeNumberCached: number: %d",k),l("writeNumberCached: %o",u[k]),q.write(u[k])}function z(q,k){let W=c(k);return l("writeNumberGenerated: %o",W),q.write(W)}function ge(q,k){let W=g(k);return l("write4ByteNumber: %o",W),q.write(W)}function Y(q,k){typeof k=="string"?fe(q,k):k?(_(q,k.length),q.write(k)):_(q,0)}function he(q,k){if(typeof k!="object"||k.length!=null)return{length:1,write(){ye(q,{},0)}};let W=0;function te(ee,A){let T=r.propertiesTypes[ee],M=0;switch(T){case"byte":{if(typeof A!="boolean")return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=2;break}case"int8":{if(typeof A!="number"||A<0||A>255)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=2;break}case"binary":{if(A&&A===null)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=1+n.byteLength(A)+2;break}case"int16":{if(typeof A!="number"||A<0||A>65535)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=3;break}case"int32":{if(typeof A!="number"||A<0||A>4294967295)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=5;break}case"var":{if(typeof A!="number"||A<0||A>268435455)return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=1+n.byteLength(p(A));break}case"string":{if(typeof A!="string")return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=3+n.byteLength(A.toString());break}case"pair":{if(typeof A!="object")return q.destroy(new Error(`Invalid ${ee}: ${A}`)),!1;M+=Object.getOwnPropertyNames(A).reduce((I,B)=>{let U=A[B];return Array.isArray(U)?I+=U.reduce((Z,j)=>(Z+=3+n.byteLength(B.toString())+2+n.byteLength(j.toString()),Z),0):I+=3+n.byteLength(B.toString())+2+n.byteLength(A[B].toString()),I},0);break}default:return q.destroy(new Error(`Invalid property ${ee}: ${A}`)),!1}return M}if(k)for(let ee in k){let A=0,T=0,M=k[ee];if(Array.isArray(M))for(let I=0;IA;){let M=ee.shift();if(M&&k[M])delete k[M],T=he(q,k);else return!1}return T}function ne(q,k,W){switch(r.propertiesTypes[k]){case"byte":{q.write(n.from([r.properties[k]])),q.write(n.from([+W]));break}case"int8":{q.write(n.from([r.properties[k]])),q.write(n.from([W]));break}case"binary":{q.write(n.from([r.properties[k]])),Y(q,W);break}case"int16":{q.write(n.from([r.properties[k]])),_(q,W);break}case"int32":{q.write(n.from([r.properties[k]])),ge(q,W);break}case"var":{q.write(n.from([r.properties[k]])),ae(q,W);break}case"string":{q.write(n.from([r.properties[k]])),fe(q,W);break}case"pair":{Object.getOwnPropertyNames(W).forEach(te=>{let ee=W[te];Array.isArray(ee)?ee.forEach(A=>{q.write(n.from([r.properties[k]])),de(q,te.toString(),A.toString())}):(q.write(n.from([r.properties[k]])),de(q,te.toString(),ee.toString()))});break}default:return q.destroy(new Error(`Invalid property ${k} value: ${W}`)),!1}}function ye(q,k,W){ae(q,W);for(let te in k)if(Object.prototype.hasOwnProperty.call(k,te)&&k[te]!==null){let ee=k[te];if(Array.isArray(ee))for(let A=0;A{be(),ve(),we();var r=o0(),{EventEmitter:n}=(po(),ze(yi)),{Buffer:o}=(mt(),ze(gt));function i(s,l){let u=new a;return r(s,u,l),u.concat()}var a=class extends n{constructor(){super(),this._array=new Array(20),this._i=0}write(s){return this._array[this._i++]=s,!0}concat(){let s=0,l=new Array(this._array.length),u=this._array,c=0,d;for(d=0;d{be(),ve(),we(),e.parser=IC().parser,e.generate=OC(),e.writeToStream=o0()}),s0=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=class{constructor(){this.nextId=Math.max(1,Math.floor(Math.random()*65535))}allocate(){let r=this.nextId++;return this.nextId===65536&&(this.nextId=1),r}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(r){return!0}deallocate(r){}clear(){}};e.default=t}),MC=Ae((e,t)=>{be(),ve(),we(),t.exports=n;function r(i){return i instanceof Pa?Pa.from(i):new i.constructor(i.buffer.slice(),i.byteOffset,i.length)}function n(i){if(i=i||{},i.circles)return o(i);return i.proto?l:s;function a(u,c){for(var d=Object.keys(u),p=new Array(d.length),g=0;g{be(),ve(),we(),t.exports=MC()()}),PC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.validateTopics=e.validateTopic=void 0;function t(n){let o=n.split("/");for(let i=0;i{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=_i(),r={objectMode:!0},n={clean:!0},o=class{constructor(i){this.options=i||{},this.options=Object.assign(Object.assign({},n),i),this._inflights=new Map}put(i,a){return this._inflights.set(i.messageId,i),a&&a(),this}createStream(){let i=new t.Readable(r),a=[],s=!1,l=0;return this._inflights.forEach((u,c)=>{a.push(u)}),i._read=()=>{!s&&l{if(!s)return s=!0,setTimeout(()=>{i.emit("close")},0),i},i}del(i,a){let s=this._inflights.get(i.messageId);return s?(this._inflights.delete(i.messageId),a(null,s)):a&&a(new Error("missing packet")),this}get(i,a){let s=this._inflights.get(i.messageId);return s?a(null,s):a&&a(new Error("missing packet")),this}close(i){this.options.clean&&(this._inflights=null),i&&i()}};e.default=o}),LC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=[0,16,128,131,135,144,145,151,153],r=(n,o,i)=>{n.log("handlePublish: packet %o",o),i=typeof i<"u"?i:n.noop;let a=o.topic.toString(),s=o.payload,{qos:l}=o,{messageId:u}=o,{options:c}=n;if(n.options.protocolVersion===5){let d;if(o.properties&&(d=o.properties.topicAlias),typeof d<"u")if(a.length===0)if(d>0&&d<=65535){let p=n.topicAliasRecv.getTopicByAlias(d);if(p)a=p,n.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",a,d);else{n.log("handlePublish :: unregistered topic alias. alias: %d",d),n.emit("error",new Error("Received unregistered Topic Alias"));return}}else{n.log("handlePublish :: topic alias out of range. alias: %d",d),n.emit("error",new Error("Received Topic Alias is out of range"));return}else if(n.topicAliasRecv.put(a,d))n.log("handlePublish :: registered topic: %s - alias: %d",a,d);else{n.log("handlePublish :: topic alias out of range. alias: %d",d),n.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(n.log("handlePublish: qos %d",l),l){case 2:{c.customHandleAcks(a,s,o,(d,p)=>{if(typeof d=="number"&&(p=d,d=null),d)return n.emit("error",d);if(t.indexOf(p)===-1)return n.emit("error",new Error("Wrong reason code for pubrec"));p?n._sendPacket({cmd:"pubrec",messageId:u,reasonCode:p},i):n.incomingStore.put(o,()=>{n._sendPacket({cmd:"pubrec",messageId:u},i)})});break}case 1:{c.customHandleAcks(a,s,o,(d,p)=>{if(typeof d=="number"&&(p=d,d=null),d)return n.emit("error",d);if(t.indexOf(p)===-1)return n.emit("error",new Error("Wrong reason code for puback"));p||n.emit("message",a,s,o),n.handleMessage(o,g=>{if(g)return i&&i(g);n._sendPacket({cmd:"puback",messageId:u,reasonCode:p},i)})});break}case 0:n.emit("message",a,s,o),n.handleMessage(o,i);break;default:n.log("handlePublish: unknown QoS. Doing nothing.");break}};e.default=r}),BC=Ae((e,t)=>{t.exports={version:"5.10.3"}}),go=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.MQTTJS_VERSION=e.nextTick=e.applyMixin=e.ErrorWithReasonCode=void 0;var t=class l0 extends Error{constructor(o,i){super(o),this.code=i,Object.setPrototypeOf(this,l0.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};e.ErrorWithReasonCode=t;function r(n,o,i=!1){var a;let s=[o];for(;;){let l=s[0],u=Object.getPrototypeOf(l);if(u!=null&&u.prototype)s.unshift(u);else break}for(let l of s)for(let u of Object.getOwnPropertyNames(l.prototype))(i||u!=="constructor")&&Object.defineProperty(n.prototype,u,(a=Object.getOwnPropertyDescriptor(l.prototype,u))!==null&&a!==void 0?a:Object.create(null))}e.applyMixin=r,e.nextTick=typeof(He==null?void 0:He.nextTick)=="function"?He.nextTick:n=>{setTimeout(n,0)},e.MQTTJS_VERSION=BC().version}),El=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.ReasonCodes=void 0;var t=go();e.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"};var r=(n,o)=>{let{messageId:i}=o,a=o.cmd,s=null,l=n.outgoing[i]?n.outgoing[i].cb:null,u=null;if(!l){n.log("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(n.log("_handleAck :: packet type",a),a){case"pubcomp":case"puback":{let c=o.reasonCode;c&&c>0&&c!==16?(u=new t.ErrorWithReasonCode(`Publish error: ${e.ReasonCodes[c]}`,c),n._removeOutgoingAndStoreMessage(i,()=>{l(u,o)})):n._removeOutgoingAndStoreMessage(i,l);break}case"pubrec":{s={cmd:"pubrel",qos:2,messageId:i};let c=o.reasonCode;c&&c>0&&c!==16?(u=new t.ErrorWithReasonCode(`Publish error: ${e.ReasonCodes[c]}`,c),n._removeOutgoingAndStoreMessage(i,()=>{l(u,o)})):n._sendPacket(s);break}case"suback":{delete n.outgoing[i],n.messageIdProvider.deallocate(i);let c=o.granted;for(let d=0;d{delete n._resubscribeTopics[_]})}}delete n.messageIdToTopic[i],n._invokeStoreProcessingQueue(),l(u,o);break}case"unsuback":{delete n.outgoing[i],n.messageIdProvider.deallocate(i),n._invokeStoreProcessingQueue(),l(null,o);break}default:n.emit("error",new Error("unrecognized packet type"))}n.disconnecting&&Object.keys(n.outgoing).length===0&&n.emit("outgoingEmpty")};e.default=r}),DC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=go(),r=El(),n=(o,i)=>{let{options:a}=o,s=a.protocolVersion,l=s===5?i.reasonCode:i.returnCode;if(s!==5){let u=new t.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${s}`,l);o.emit("error",u);return}o.handleAuth(i,(u,c)=>{if(u){o.emit("error",u);return}if(l===24)o.reconnecting=!1,o._sendPacket(c);else{let d=new t.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[l]}`,l);o.emit("error",d)}})};e.default=n}),UC=Ae(e=>{var g,_,b,E,v,S,w,C,R,O,D,V,re,G,X,L,$,ae,fe,de,pe,z,ge,Y,he,N,qf,ye,se,Q,q,u0,W,te,ee,cn,fn,Kf,la,ua,Je,Yf,$o,F;be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=void 0;var t=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,n=typeof He=="object"&&He?He:{},o=(K,P,J,le)=>{typeof n.emitWarning=="function"?n.emitWarning(K,P,J,le):console.error(`[${J}] ${P}: ${K}`)},i=globalThis.AbortController,a=globalThis.AbortSignal;if(typeof i>"u"){a=class{constructor(){tt(this,"onabort");tt(this,"_onabort",[]);tt(this,"reason");tt(this,"aborted",!1)}addEventListener(J,le){this._onabort.push(le)}},i=class{constructor(){tt(this,"signal",new a);P()}abort(J){var le,me;if(!this.signal.aborted){this.signal.reason=J,this.signal.aborted=!0;for(let y of this.signal._onabort)y(J);(me=(le=this.signal).onabort)==null||me.call(le,J)}}};let K=((g=n.env)==null?void 0:g.LRU_CACHE_IGNORE_AC_WARNING)!=="1",P=()=>{K&&(K=!1,o("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",P))}}var s=K=>!r.has(K),l=K=>K&&K===Math.floor(K)&&K>0&&isFinite(K),u=K=>l(K)?K<=Math.pow(2,8)?Uint8Array:K<=Math.pow(2,16)?Uint16Array:K<=Math.pow(2,32)?Uint32Array:K<=Number.MAX_SAFE_INTEGER?c:null:null,c=class extends Array{constructor(K){super(K),this.fill(0)}},d=(_=class{constructor(P,J){tt(this,"heap");tt(this,"length");if(!ce(_,b))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new J(P),this.length=0}static create(P){let J=u(P);if(!J)return[];Le(_,b,!0);let le=new _(P,J);return Le(_,b,!1),le}push(P){this.heap[this.length++]=P}pop(){return this.heap[--this.length]}},b=new WeakMap,Fe(_,b,!1),_),p=(F=class{constructor(P){Fe(this,N);Fe(this,E);Fe(this,v);Fe(this,S);Fe(this,w);Fe(this,C);tt(this,"ttl");tt(this,"ttlResolution");tt(this,"ttlAutopurge");tt(this,"updateAgeOnGet");tt(this,"updateAgeOnHas");tt(this,"allowStale");tt(this,"noDisposeOnSet");tt(this,"noUpdateTTL");tt(this,"maxEntrySize");tt(this,"sizeCalculation");tt(this,"noDeleteOnFetchRejection");tt(this,"noDeleteOnStaleGet");tt(this,"allowStaleOnFetchAbort");tt(this,"allowStaleOnFetchRejection");tt(this,"ignoreFetchAbort");Fe(this,R);Fe(this,O);Fe(this,D);Fe(this,V);Fe(this,re);Fe(this,G);Fe(this,X);Fe(this,L);Fe(this,$);Fe(this,ae);Fe(this,fe);Fe(this,de);Fe(this,pe);Fe(this,z);Fe(this,ge);Fe(this,Y);Fe(this,he);Fe(this,ye,()=>{});Fe(this,se,()=>{});Fe(this,Q,()=>{});Fe(this,q,()=>!1);Fe(this,W,P=>{});Fe(this,te,(P,J,le)=>{});Fe(this,ee,(P,J,le,me)=>{if(le||me)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:J=0,ttl:le,ttlResolution:me=1,ttlAutopurge:y,updateAgeOnGet:h,updateAgeOnHas:f,allowStale:m,dispose:x,disposeAfter:H,noDisposeOnSet:oe,noUpdateTTL:_e,maxSize:xe=0,maxEntrySize:Re=0,sizeCalculation:Te,fetchMethod:ke,noDeleteOnFetchRejection:Oe,noDeleteOnStaleGet:Ve,allowStaleOnFetchRejection:st,allowStaleOnFetchAbort:Xe,ignoreFetchAbort:ot}=P;if(J!==0&&!l(J))throw new TypeError("max option must be a nonnegative integer");let dt=J?u(J):Array;if(!dt)throw new Error("invalid max value: "+J);if(Le(this,E,J),Le(this,v,xe),this.maxEntrySize=Re||ce(this,v),this.sizeCalculation=Te,this.sizeCalculation){if(!ce(this,v)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(ke!==void 0&&typeof ke!="function")throw new TypeError("fetchMethod must be a function if specified");if(Le(this,C,ke),Le(this,Y,!!ke),Le(this,D,new Map),Le(this,V,new Array(J).fill(void 0)),Le(this,re,new Array(J).fill(void 0)),Le(this,G,new dt(J)),Le(this,X,new dt(J)),Le(this,L,0),Le(this,$,0),Le(this,ae,d.create(J)),Le(this,R,0),Le(this,O,0),typeof x=="function"&&Le(this,S,x),typeof H=="function"?(Le(this,w,H),Le(this,fe,[])):(Le(this,w,void 0),Le(this,fe,void 0)),Le(this,ge,!!ce(this,S)),Le(this,he,!!ce(this,w)),this.noDisposeOnSet=!!oe,this.noUpdateTTL=!!_e,this.noDeleteOnFetchRejection=!!Oe,this.allowStaleOnFetchRejection=!!st,this.allowStaleOnFetchAbort=!!Xe,this.ignoreFetchAbort=!!ot,this.maxEntrySize!==0){if(ce(this,v)!==0&&!l(ce(this,v)))throw new TypeError("maxSize must be a positive integer if specified");if(!l(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Ne(this,N,u0).call(this)}if(this.allowStale=!!m,this.noDeleteOnStaleGet=!!Ve,this.updateAgeOnGet=!!h,this.updateAgeOnHas=!!f,this.ttlResolution=l(me)||me===0?me:1,this.ttlAutopurge=!!y,this.ttl=le||0,this.ttl){if(!l(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Ne(this,N,qf).call(this)}if(ce(this,E)===0&&this.ttl===0&&ce(this,v)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!ce(this,E)&&!ce(this,v)){let at="LRU_CACHE_UNBOUNDED";s(at)&&(r.add(at),o("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",at,F))}}static unsafeExposeInternals(P){return{starts:ce(P,pe),ttls:ce(P,z),sizes:ce(P,de),keyMap:ce(P,D),keyList:ce(P,V),valList:ce(P,re),next:ce(P,G),prev:ce(P,X),get head(){return ce(P,L)},get tail(){return ce(P,$)},free:ce(P,ae),isBackgroundFetch:J=>{var le;return Ne(le=P,N,Je).call(le,J)},backgroundFetch:(J,le,me,y)=>{var h;return Ne(h=P,N,ua).call(h,J,le,me,y)},moveToTail:J=>{var le;return Ne(le=P,N,$o).call(le,J)},indexes:J=>{var le;return Ne(le=P,N,cn).call(le,J)},rindexes:J=>{var le;return Ne(le=P,N,fn).call(le,J)},isStale:J=>{var le;return ce(le=P,q).call(le,J)}}}get max(){return ce(this,E)}get maxSize(){return ce(this,v)}get calculatedSize(){return ce(this,O)}get size(){return ce(this,R)}get fetchMethod(){return ce(this,C)}get dispose(){return ce(this,S)}get disposeAfter(){return ce(this,w)}getRemainingTTL(P){return ce(this,D).has(P)?1/0:0}*entries(){for(let P of Ne(this,N,cn).call(this))ce(this,re)[P]!==void 0&&ce(this,V)[P]!==void 0&&!Ne(this,N,Je).call(this,ce(this,re)[P])&&(yield[ce(this,V)[P],ce(this,re)[P]])}*rentries(){for(let P of Ne(this,N,fn).call(this))ce(this,re)[P]!==void 0&&ce(this,V)[P]!==void 0&&!Ne(this,N,Je).call(this,ce(this,re)[P])&&(yield[ce(this,V)[P],ce(this,re)[P]])}*keys(){for(let P of Ne(this,N,cn).call(this)){let J=ce(this,V)[P];J!==void 0&&!Ne(this,N,Je).call(this,ce(this,re)[P])&&(yield J)}}*rkeys(){for(let P of Ne(this,N,fn).call(this)){let J=ce(this,V)[P];J!==void 0&&!Ne(this,N,Je).call(this,ce(this,re)[P])&&(yield J)}}*values(){for(let P of Ne(this,N,cn).call(this))ce(this,re)[P]!==void 0&&!Ne(this,N,Je).call(this,ce(this,re)[P])&&(yield ce(this,re)[P])}*rvalues(){for(let P of Ne(this,N,fn).call(this))ce(this,re)[P]!==void 0&&!Ne(this,N,Je).call(this,ce(this,re)[P])&&(yield ce(this,re)[P])}[Symbol.iterator](){return this.entries()}find(P,J={}){for(let le of Ne(this,N,cn).call(this)){let me=ce(this,re)[le],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;if(y!==void 0&&P(y,ce(this,V)[le],this))return this.get(ce(this,V)[le],J)}}forEach(P,J=this){for(let le of Ne(this,N,cn).call(this)){let me=ce(this,re)[le],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;y!==void 0&&P.call(J,y,ce(this,V)[le],this)}}rforEach(P,J=this){for(let le of Ne(this,N,fn).call(this)){let me=ce(this,re)[le],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;y!==void 0&&P.call(J,y,ce(this,V)[le],this)}}purgeStale(){let P=!1;for(let J of Ne(this,N,fn).call(this,{allowStale:!0}))ce(this,q).call(this,J)&&(this.delete(ce(this,V)[J]),P=!0);return P}dump(){let P=[];for(let J of Ne(this,N,cn).call(this,{allowStale:!0})){let le=ce(this,V)[J],me=ce(this,re)[J],y=Ne(this,N,Je).call(this,me)?me.__staleWhileFetching:me;if(y===void 0||le===void 0)continue;let h={value:y};if(ce(this,z)&&ce(this,pe)){h.ttl=ce(this,z)[J];let f=t.now()-ce(this,pe)[J];h.start=Math.floor(Date.now()-f)}ce(this,de)&&(h.size=ce(this,de)[J]),P.unshift([le,h])}return P}load(P){this.clear();for(let[J,le]of P){if(le.start){let me=Date.now()-le.start;le.start=t.now()-me}this.set(J,le.value,le)}}set(P,J,le={}){var _e,xe,Re,Te,ke;if(J===void 0)return this.delete(P),this;let{ttl:me=this.ttl,start:y,noDisposeOnSet:h=this.noDisposeOnSet,sizeCalculation:f=this.sizeCalculation,status:m}=le,{noUpdateTTL:x=this.noUpdateTTL}=le,H=ce(this,ee).call(this,P,J,le.size||0,f);if(this.maxEntrySize&&H>this.maxEntrySize)return m&&(m.set="miss",m.maxEntrySizeExceeded=!0),this.delete(P),this;let oe=ce(this,R)===0?void 0:ce(this,D).get(P);if(oe===void 0)oe=ce(this,R)===0?ce(this,$):ce(this,ae).length!==0?ce(this,ae).pop():ce(this,R)===ce(this,E)?Ne(this,N,la).call(this,!1):ce(this,R),ce(this,V)[oe]=P,ce(this,re)[oe]=J,ce(this,D).set(P,oe),ce(this,G)[ce(this,$)]=oe,ce(this,X)[oe]=ce(this,$),Le(this,$,oe),Ss(this,R)._++,ce(this,te).call(this,oe,H,m),m&&(m.set="add"),x=!1;else{Ne(this,N,$o).call(this,oe);let Oe=ce(this,re)[oe];if(J!==Oe){if(ce(this,Y)&&Ne(this,N,Je).call(this,Oe)){Oe.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ve}=Oe;Ve!==void 0&&!h&&(ce(this,ge)&&((_e=ce(this,S))==null||_e.call(this,Ve,P,"set")),ce(this,he)&&((xe=ce(this,fe))==null||xe.push([Ve,P,"set"])))}else h||(ce(this,ge)&&((Re=ce(this,S))==null||Re.call(this,Oe,P,"set")),ce(this,he)&&((Te=ce(this,fe))==null||Te.push([Oe,P,"set"])));if(ce(this,W).call(this,oe),ce(this,te).call(this,oe,H,m),ce(this,re)[oe]=J,m){m.set="replace";let Ve=Oe&&Ne(this,N,Je).call(this,Oe)?Oe.__staleWhileFetching:Oe;Ve!==void 0&&(m.oldValue=Ve)}}else m&&(m.set="update")}if(me!==0&&!ce(this,z)&&Ne(this,N,qf).call(this),ce(this,z)&&(x||ce(this,Q).call(this,oe,me,y),m&&ce(this,se).call(this,m,oe)),!h&&ce(this,he)&&ce(this,fe)){let Oe=ce(this,fe),Ve;for(;Ve=Oe==null?void 0:Oe.shift();)(ke=ce(this,w))==null||ke.call(this,...Ve)}return this}pop(){var P;try{for(;ce(this,R);){let J=ce(this,re)[ce(this,L)];if(Ne(this,N,la).call(this,!0),Ne(this,N,Je).call(this,J)){if(J.__staleWhileFetching)return J.__staleWhileFetching}else if(J!==void 0)return J}}finally{if(ce(this,he)&&ce(this,fe)){let J=ce(this,fe),le;for(;le=J==null?void 0:J.shift();)(P=ce(this,w))==null||P.call(this,...le)}}}has(P,J={}){let{updateAgeOnHas:le=this.updateAgeOnHas,status:me}=J,y=ce(this,D).get(P);if(y!==void 0){let h=ce(this,re)[y];if(Ne(this,N,Je).call(this,h)&&h.__staleWhileFetching===void 0)return!1;if(ce(this,q).call(this,y))me&&(me.has="stale",ce(this,se).call(this,me,y));else return le&&ce(this,ye).call(this,y),me&&(me.has="hit",ce(this,se).call(this,me,y)),!0}else me&&(me.has="miss");return!1}peek(P,J={}){let{allowStale:le=this.allowStale}=J,me=ce(this,D).get(P);if(me!==void 0&&(le||!ce(this,q).call(this,me))){let y=ce(this,re)[me];return Ne(this,N,Je).call(this,y)?y.__staleWhileFetching:y}}async fetch(P,J={}){let{allowStale:le=this.allowStale,updateAgeOnGet:me=this.updateAgeOnGet,noDeleteOnStaleGet:y=this.noDeleteOnStaleGet,ttl:h=this.ttl,noDisposeOnSet:f=this.noDisposeOnSet,size:m=0,sizeCalculation:x=this.sizeCalculation,noUpdateTTL:H=this.noUpdateTTL,noDeleteOnFetchRejection:oe=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:_e=this.allowStaleOnFetchRejection,ignoreFetchAbort:xe=this.ignoreFetchAbort,allowStaleOnFetchAbort:Re=this.allowStaleOnFetchAbort,context:Te,forceRefresh:ke=!1,status:Oe,signal:Ve}=J;if(!ce(this,Y))return Oe&&(Oe.fetch="get"),this.get(P,{allowStale:le,updateAgeOnGet:me,noDeleteOnStaleGet:y,status:Oe});let st={allowStale:le,updateAgeOnGet:me,noDeleteOnStaleGet:y,ttl:h,noDisposeOnSet:f,size:m,sizeCalculation:x,noUpdateTTL:H,noDeleteOnFetchRejection:oe,allowStaleOnFetchRejection:_e,allowStaleOnFetchAbort:Re,ignoreFetchAbort:xe,status:Oe,signal:Ve},Xe=ce(this,D).get(P);if(Xe===void 0){Oe&&(Oe.fetch="miss");let ot=Ne(this,N,ua).call(this,P,Xe,st,Te);return ot.__returned=ot}else{let ot=ce(this,re)[Xe];if(Ne(this,N,Je).call(this,ot)){let _o=le&&ot.__staleWhileFetching!==void 0;return Oe&&(Oe.fetch="inflight",_o&&(Oe.returnedStale=!0)),_o?ot.__staleWhileFetching:ot.__returned=ot}let dt=ce(this,q).call(this,Xe);if(!ke&&!dt)return Oe&&(Oe.fetch="hit"),Ne(this,N,$o).call(this,Xe),me&&ce(this,ye).call(this,Xe),Oe&&ce(this,se).call(this,Oe,Xe),ot;let at=Ne(this,N,ua).call(this,P,Xe,st,Te),Si=at.__staleWhileFetching!==void 0&≤return Oe&&(Oe.fetch=dt?"stale":"refresh",Si&&dt&&(Oe.returnedStale=!0)),Si?at.__staleWhileFetching:at.__returned=at}}get(P,J={}){let{allowStale:le=this.allowStale,updateAgeOnGet:me=this.updateAgeOnGet,noDeleteOnStaleGet:y=this.noDeleteOnStaleGet,status:h}=J,f=ce(this,D).get(P);if(f!==void 0){let m=ce(this,re)[f],x=Ne(this,N,Je).call(this,m);return h&&ce(this,se).call(this,h,f),ce(this,q).call(this,f)?(h&&(h.get="stale"),x?(h&&le&&m.__staleWhileFetching!==void 0&&(h.returnedStale=!0),le?m.__staleWhileFetching:void 0):(y||this.delete(P),h&&le&&(h.returnedStale=!0),le?m:void 0)):(h&&(h.get="hit"),x?m.__staleWhileFetching:(Ne(this,N,$o).call(this,f),me&&ce(this,ye).call(this,f),m))}else h&&(h.get="miss")}delete(P){var le,me,y,h;let J=!1;if(ce(this,R)!==0){let f=ce(this,D).get(P);if(f!==void 0)if(J=!0,ce(this,R)===1)this.clear();else{ce(this,W).call(this,f);let m=ce(this,re)[f];Ne(this,N,Je).call(this,m)?m.__abortController.abort(new Error("deleted")):(ce(this,ge)||ce(this,he))&&(ce(this,ge)&&((le=ce(this,S))==null||le.call(this,m,P,"delete")),ce(this,he)&&((me=ce(this,fe))==null||me.push([m,P,"delete"]))),ce(this,D).delete(P),ce(this,V)[f]=void 0,ce(this,re)[f]=void 0,f===ce(this,$)?Le(this,$,ce(this,X)[f]):f===ce(this,L)?Le(this,L,ce(this,G)[f]):(ce(this,G)[ce(this,X)[f]]=ce(this,G)[f],ce(this,X)[ce(this,G)[f]]=ce(this,X)[f]),Ss(this,R)._--,ce(this,ae).push(f)}}if(ce(this,he)&&((y=ce(this,fe))!=null&&y.length)){let f=ce(this,fe),m;for(;m=f==null?void 0:f.shift();)(h=ce(this,w))==null||h.call(this,...m)}return J}clear(){var P,J,le;for(let me of Ne(this,N,fn).call(this,{allowStale:!0})){let y=ce(this,re)[me];if(Ne(this,N,Je).call(this,y))y.__abortController.abort(new Error("deleted"));else{let h=ce(this,V)[me];ce(this,ge)&&((P=ce(this,S))==null||P.call(this,y,h,"delete")),ce(this,he)&&((J=ce(this,fe))==null||J.push([y,h,"delete"]))}}if(ce(this,D).clear(),ce(this,re).fill(void 0),ce(this,V).fill(void 0),ce(this,z)&&ce(this,pe)&&(ce(this,z).fill(0),ce(this,pe).fill(0)),ce(this,de)&&ce(this,de).fill(0),Le(this,L,0),Le(this,$,0),ce(this,ae).length=0,Le(this,O,0),Le(this,R,0),ce(this,he)&&ce(this,fe)){let me=ce(this,fe),y;for(;y=me==null?void 0:me.shift();)(le=ce(this,w))==null||le.call(this,...y)}}},E=new WeakMap,v=new WeakMap,S=new WeakMap,w=new WeakMap,C=new WeakMap,R=new WeakMap,O=new WeakMap,D=new WeakMap,V=new WeakMap,re=new WeakMap,G=new WeakMap,X=new WeakMap,L=new WeakMap,$=new WeakMap,ae=new WeakMap,fe=new WeakMap,de=new WeakMap,pe=new WeakMap,z=new WeakMap,ge=new WeakMap,Y=new WeakMap,he=new WeakMap,N=new WeakSet,qf=function(){let P=new c(ce(this,E)),J=new c(ce(this,E));Le(this,z,P),Le(this,pe,J),Le(this,Q,(y,h,f=t.now())=>{if(J[y]=h!==0?f:0,P[y]=h,h!==0&&this.ttlAutopurge){let m=setTimeout(()=>{ce(this,q).call(this,y)&&this.delete(ce(this,V)[y])},h+1);m.unref&&m.unref()}}),Le(this,ye,y=>{J[y]=P[y]!==0?t.now():0}),Le(this,se,(y,h)=>{if(P[h]){let f=P[h],m=J[h];y.ttl=f,y.start=m,y.now=le||me();let x=y.now-m;y.remainingTTL=f-x}});let le=0,me=()=>{let y=t.now();if(this.ttlResolution>0){le=y;let h=setTimeout(()=>le=0,this.ttlResolution);h.unref&&h.unref()}return y};this.getRemainingTTL=y=>{let h=ce(this,D).get(y);if(h===void 0)return 0;let f=P[h],m=J[h];if(f===0||m===0)return 1/0;let x=(le||me())-m;return f-x},Le(this,q,y=>P[y]!==0&&J[y]!==0&&(le||me())-J[y]>P[y])},ye=new WeakMap,se=new WeakMap,Q=new WeakMap,q=new WeakMap,u0=function(){let P=new c(ce(this,E));Le(this,O,0),Le(this,de,P),Le(this,W,J=>{Le(this,O,ce(this,O)-P[J]),P[J]=0}),Le(this,ee,(J,le,me,y)=>{if(Ne(this,N,Je).call(this,le))return 0;if(!l(me))if(y){if(typeof y!="function")throw new TypeError("sizeCalculation must be a function");if(me=y(le,J),!l(me))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return me}),Le(this,te,(J,le,me)=>{if(P[J]=le,ce(this,v)){let y=ce(this,v)-P[J];for(;ce(this,O)>y;)Ne(this,N,la).call(this,!0)}Le(this,O,ce(this,O)+P[J]),me&&(me.entrySize=le,me.totalCalculatedSize=ce(this,O))})},W=new WeakMap,te=new WeakMap,ee=new WeakMap,cn=function*({allowStale:P=this.allowStale}={}){if(ce(this,R))for(let J=ce(this,$);!(!Ne(this,N,Kf).call(this,J)||((P||!ce(this,q).call(this,J))&&(yield J),J===ce(this,L)));)J=ce(this,X)[J]},fn=function*({allowStale:P=this.allowStale}={}){if(ce(this,R))for(let J=ce(this,L);!(!Ne(this,N,Kf).call(this,J)||((P||!ce(this,q).call(this,J))&&(yield J),J===ce(this,$)));)J=ce(this,G)[J]},Kf=function(P){return P!==void 0&&ce(this,D).get(ce(this,V)[P])===P},la=function(P){var y,h;let J=ce(this,L),le=ce(this,V)[J],me=ce(this,re)[J];return ce(this,Y)&&Ne(this,N,Je).call(this,me)?me.__abortController.abort(new Error("evicted")):(ce(this,ge)||ce(this,he))&&(ce(this,ge)&&((y=ce(this,S))==null||y.call(this,me,le,"evict")),ce(this,he)&&((h=ce(this,fe))==null||h.push([me,le,"evict"]))),ce(this,W).call(this,J),P&&(ce(this,V)[J]=void 0,ce(this,re)[J]=void 0,ce(this,ae).push(J)),ce(this,R)===1?(Le(this,L,Le(this,$,0)),ce(this,ae).length=0):Le(this,L,ce(this,G)[J]),ce(this,D).delete(le),Ss(this,R)._--,J},ua=function(P,J,le,me){let y=J===void 0?void 0:ce(this,re)[J];if(Ne(this,N,Je).call(this,y))return y;let h=new i,{signal:f}=le;f==null||f.addEventListener("abort",()=>h.abort(f.reason),{signal:h.signal});let m={signal:h.signal,options:le,context:me},x=(Te,ke=!1)=>{let{aborted:Oe}=h.signal,Ve=le.ignoreFetchAbort&&Te!==void 0;if(le.status&&(Oe&&!ke?(le.status.fetchAborted=!0,le.status.fetchError=h.signal.reason,Ve&&(le.status.fetchAbortIgnored=!0)):le.status.fetchResolved=!0),Oe&&!Ve&&!ke)return oe(h.signal.reason);let st=xe;return ce(this,re)[J]===xe&&(Te===void 0?st.__staleWhileFetching?ce(this,re)[J]=st.__staleWhileFetching:this.delete(P):(le.status&&(le.status.fetchUpdated=!0),this.set(P,Te,m.options))),Te},H=Te=>(le.status&&(le.status.fetchRejected=!0,le.status.fetchError=Te),oe(Te)),oe=Te=>{let{aborted:ke}=h.signal,Oe=ke&&le.allowStaleOnFetchAbort,Ve=Oe||le.allowStaleOnFetchRejection,st=Ve||le.noDeleteOnFetchRejection,Xe=xe;if(ce(this,re)[J]===xe&&(!st||Xe.__staleWhileFetching===void 0?this.delete(P):Oe||(ce(this,re)[J]=Xe.__staleWhileFetching)),Ve)return le.status&&Xe.__staleWhileFetching!==void 0&&(le.status.returnedStale=!0),Xe.__staleWhileFetching;if(Xe.__returned===Xe)throw Te},_e=(Te,ke)=>{var Ve;let Oe=(Ve=ce(this,C))==null?void 0:Ve.call(this,P,y,m);Oe&&Oe instanceof Promise&&Oe.then(st=>Te(st===void 0?void 0:st),ke),h.signal.addEventListener("abort",()=>{(!le.ignoreFetchAbort||le.allowStaleOnFetchAbort)&&(Te(void 0),le.allowStaleOnFetchAbort&&(Te=st=>x(st,!0)))})};le.status&&(le.status.fetchDispatched=!0);let xe=new Promise(_e).then(x,H),Re=Object.assign(xe,{__abortController:h,__staleWhileFetching:y,__returned:void 0});return J===void 0?(this.set(P,Re,{...m.options,status:void 0}),J=ce(this,D).get(P)):ce(this,re)[J]=Re,Re},Je=function(P){if(!ce(this,Y))return!1;let J=P;return!!J&&J instanceof Promise&&J.hasOwnProperty("__staleWhileFetching")&&J.__abortController instanceof i},Yf=function(P,J){ce(this,X)[J]=P,ce(this,G)[P]=J},$o=function(P){P!==ce(this,$)&&(P===ce(this,L)?Le(this,L,ce(this,G)[P]):Ne(this,N,Yf).call(this,ce(this,X)[P],ce(this,G)[P]),Ne(this,N,Yf).call(this,ce(this,$),P),Le(this,$,P))},F);e.LRUCache=p}),on=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.ContainerIterator=e.Container=e.Base=void 0;var t=class{constructor(o=0){this.iteratorType=o}equals(o){return this.o===o.o}};e.ContainerIterator=t;var r=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};e.Base=r;var n=class extends r{};e.Container=n}),FC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Base{constructor(o=[]){super(),this.S=[];let i=this;o.forEach(function(a){i.push(a)})}clear(){this.i=0,this.S=[]}push(o){return this.S.push(o),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}},n=r;e.default=n}),$C=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Base{constructor(o=[]){super(),this.j=0,this.q=[];let i=this;o.forEach(function(a){i.push(a)})}clear(){this.q=[],this.i=this.j=0}push(o){let i=this.q.length;if(this.j/i>.5&&this.j+this.i>=i&&i>4096){let a=this.i;for(let s=0;s{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Base{constructor(o=[],i=function(s,l){return s>l?-1:s>1;for(let l=this.i-1>>1;l>=0;--l)this.k(l,s)}m(o){let i=this.C[o];for(;o>0;){let a=o-1>>1,s=this.C[a];if(this.v(s,i)<=0)break;this.C[o]=s,o=a}this.C[o]=i}k(o,i){let a=this.C[o];for(;o0&&(s=l,u=this.C[l]),this.v(u,a)>=0)break;this.C[o]=u,o=s}this.C[o]=a}clear(){this.i=0,this.C.length=0}push(o){this.C.push(o),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let o=this.C[0],i=this.C.pop();return this.i-=1,this.i&&(this.C[0]=i,this.k(0,this.i>>1)),o}top(){return this.C[0]}find(o){return this.C.indexOf(o)>=0}remove(o){let i=this.C.indexOf(o);return i<0?!1:(i===0?this.pop():i===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(i,1,this.C.pop()),this.i-=1,this.m(i),this.k(i,this.i>>1)),!0)}updateItem(o){let i=this.C.indexOf(o);return i<0?!1:(this.m(i),this.k(i,this.i>>1),!0)}toArray(){return[...this.C]}},n=r;e.default=n}),ud=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=class extends t.Container{},n=r;e.default=n}),sn=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.throwIteratorAccessError=t;function t(){throw new RangeError("Iterator access denied!")}}),c0=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.RandomIterator=void 0;var t=on(),r=sn(),n=class extends t.ContainerIterator{constructor(o,i){super(i),this.o=o,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(o){this.container.setElementByPos(this.o,o)}};e.RandomIterator=n}),WC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=n(ud()),r=c0();function n(s){return s&&s.t?s:{default:s}}var o=class f0 extends r.RandomIterator{constructor(l,u,c){super(l,c),this.container=u}copy(){return new f0(this.o,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[],l=!0){if(super(),Array.isArray(s))this.J=l?[...s]:s,this.i=s.length;else{this.J=[];let u=this;s.forEach(function(c){u.pushBack(c)})}}clear(){this.i=0,this.J.length=0}begin(){return new o(0,this)}end(){return new o(this.i,this)}rBegin(){return new o(this.i-1,this,1)}rEnd(){return new o(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J[s]}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J.splice(s,1),this.i-=1,this.i}eraseElementByValue(s){let l=0;for(let u=0;uthis.i-1)throw new RangeError;this.J[s]=l}insert(s,l,u=1){if(s<0||s>this.i)throw new RangeError;return this.J.splice(s,0,...new Array(u).fill(l)),this.i+=u,this.i}find(s){for(let l=0;l{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=o(ud()),r=on(),n=sn();function o(l){return l&&l.t?l:{default:l}}var i=class h0 extends r.ContainerIterator{constructor(u,c,d,p){super(p),this.o=u,this.h=c,this.container=d,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.l}set pointer(u){this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.l=u}copy(){return new h0(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.default{constructor(l=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let u=this;l.forEach(function(c){u.pushBack(c)})}V(l){let{L:u,B:c}=l;u.B=c,c.L=u,l===this.p&&(this.p=c),l===this._&&(this._=u),this.i-=1}G(l,u){let c=u.B,d={l,L:u,B:c};u.B=d,c.L=d,u===this.h&&(this.p=d),c===this.h&&(this._=d),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new i(this.p,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this._,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let u=this.p;for(;l--;)u=u.B;return u.l}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let u=this.p;for(;l--;)u=u.B;return this.V(u),this.i}eraseElementByValue(l){let u=this.p;for(;u!==this.h;)u.l===l&&this.V(u),u=u.B;return this.i}eraseElementByIterator(l){let u=l.o;return u===this.h&&(0,n.throwIteratorAccessError)(),l=l.next(),this.V(u),l}pushBack(l){return this.G(l,this._),this.i}popBack(){if(this.i===0)return;let l=this._.l;return this.V(this._),l}pushFront(l){return this.G(l,this.h),this.i}popFront(){if(this.i===0)return;let l=this.p.l;return this.V(this.p),l}setElementByPos(l,u){if(l<0||l>this.i-1)throw new RangeError;let c=this.p;for(;l--;)c=c.B;c.l=u}insert(l,u,c=1){if(l<0||l>this.i)throw new RangeError;if(c<=0)return this.i;if(l===0)for(;c--;)this.pushFront(u);else if(l===this.i)for(;c--;)this.pushBack(u);else{let d=this.p;for(let g=1;g{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=n(ud()),r=c0();function n(s){return s&&s.t?s:{default:s}}var o=class d0 extends r.RandomIterator{constructor(l,u,c){super(l,c),this.container=u}copy(){return new d0(this.o,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[],l=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let u=(()=>{if(typeof s.length=="number")return s.length;if(typeof s.size=="number")return s.size;if(typeof s.size=="function")return s.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=l,this.P=Math.max(Math.ceil(u/this.F),1);for(let p=0;p>1)-(c>>1),this.D=this.N=this.F-u%this.F>>1;let d=this;s.forEach(function(p){d.pushBack(p)})}T(){let s=[],l=Math.max(this.P>>1,1);for(let u=0;u>1}begin(){return new o(0,this)}end(){return new o(this.i,this)}rBegin(){return new o(this.i-1,this,1)}rEnd(){return new o(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(s){return this.i&&(this.N0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,s}pushFront(s){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=s,this.i}popFront(){if(this.i===0)return;let s=this.A[this.j][this.D];return this.i!==1&&(this.Dthis.i-1)throw new RangeError;let{curNodeBucketIndex:l,curNodePointerIndex:u}=this.O(s);return this.A[l][u]}setElementByPos(s,l){if(s<0||s>this.i-1)throw new RangeError;let{curNodeBucketIndex:u,curNodePointerIndex:c}=this.O(s);this.A[u][c]=l}insert(s,l,u=1){if(s<0||s>this.i)throw new RangeError;if(s===0)for(;u--;)this.pushFront(l);else if(s===this.i)for(;u--;)this.pushBack(l);else{let c=[];for(let d=s;dthis.i-1)throw new RangeError;if(s===0)this.popFront();else if(s===this.i-1)this.popBack();else{let l=[];for(let c=s+1;cs;)this.popBack();return this.i}sort(s){let l=[];for(let u=0;u{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.TreeNodeEnableIndex=e.TreeNode=void 0;var t=class{constructor(n,o){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=n,this.l=o}L(){let n=this;if(n.ee===1&&n.tt.tt===n)n=n.W;else if(n.U)for(n=n.U;n.W;)n=n.W;else{let o=n.tt;for(;o.U===n;)n=o,o=n.tt;n=o}return n}B(){let n=this;if(n.W){for(n=n.W;n.U;)n=n.U;return n}else{let o=n.tt;for(;o.W===n;)n=o,o=n.tt;return n.W!==o?o:n}}te(){let n=this.tt,o=this.W,i=o.U;return n.tt===this?n.tt=o:n.U===this?n.U=o:n.W=o,o.tt=n,o.U=this,this.tt=o,this.W=i,i&&(i.tt=this),o}se(){let n=this.tt,o=this.U,i=o.W;return n.tt===this?n.tt=o:n.U===this?n.U=o:n.W=o,o.tt=n,o.W=this,this.tt=o,this.U=i,i&&(i.tt=this),o}};e.TreeNode=t;var r=class extends t{constructor(){super(...arguments),this.rt=1}te(){let n=super.te();return this.ie(),n.ie(),n}se(){let n=super.se();return this.ie(),n.ie(),n}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}};e.TreeNodeEnableIndex=r}),p0=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=qC(),r=on(),n=sn(),o=class extends r.Container{constructor(a=function(l,u){return lu?1:0},s=!1){super(),this.Y=void 0,this.v=a,s?(this.re=t.TreeNodeEnableIndex,this.M=function(l,u,c){let d=this.ne(l,u,c);if(d){let p=d.tt;for(;p!==this.h;)p.rt+=1,p=p.tt;let g=this.he(d);if(g){let{parentNode:_,grandParent:b,curNode:E}=g;_.ie(),b.ie(),E.ie()}}return this.i},this.V=function(l){let u=this.fe(l);for(;u!==this.h;)u.rt-=1,u=u.tt}):(this.re=t.TreeNode,this.M=function(l,u,c){let d=this.ne(l,u,c);return d&&this.he(d),this.i},this.V=this.fe),this.h=new this.re}X(a,s){let l=this.h;for(;a;){let u=this.v(a.u,s);if(u<0)a=a.W;else if(u>0)l=a,a=a.U;else return a}return l}Z(a,s){let l=this.h;for(;a;)this.v(a.u,s)<=0?a=a.W:(l=a,a=a.U);return l}$(a,s){let l=this.h;for(;a;){let u=this.v(a.u,s);if(u<0)l=a,a=a.W;else if(u>0)a=a.U;else return a}return l}rr(a,s){let l=this.h;for(;a;)this.v(a.u,s)<0?(l=a,a=a.W):a=a.U;return l}ue(a){for(;;){let s=a.tt;if(s===this.h)return;if(a.ee===1){a.ee=0;return}if(a===s.U){let l=s.W;if(l.ee===1)l.ee=0,s.ee=1,s===this.Y?this.Y=s.te():s.te();else if(l.W&&l.W.ee===1){l.ee=s.ee,s.ee=0,l.W.ee=0,s===this.Y?this.Y=s.te():s.te();return}else l.U&&l.U.ee===1?(l.ee=1,l.U.ee=0,l.se()):(l.ee=1,a=s)}else{let l=s.U;if(l.ee===1)l.ee=0,s.ee=1,s===this.Y?this.Y=s.se():s.se();else if(l.U&&l.U.ee===1){l.ee=s.ee,s.ee=0,l.U.ee=0,s===this.Y?this.Y=s.se():s.se();return}else l.W&&l.W.ee===1?(l.ee=1,l.W.ee=0,l.te()):(l.ee=1,a=s)}}}fe(a){if(this.i===1)return this.clear(),this.h;let s=a;for(;s.U||s.W;){if(s.W)for(s=s.W;s.U;)s=s.U;else s=s.U;[a.u,s.u]=[s.u,a.u],[a.l,s.l]=[s.l,a.l],a=s}this.h.U===s?this.h.U=s.tt:this.h.W===s&&(this.h.W=s.tt),this.ue(s);let l=s.tt;return s===l.U?l.U=void 0:l.W=void 0,this.i-=1,this.Y.ee=0,l}oe(a,s){return a===void 0?!1:this.oe(a.U,s)||s(a)?!0:this.oe(a.W,s)}he(a){for(;;){let s=a.tt;if(s.ee===0)return;let l=s.tt;if(s===l.U){let u=l.W;if(u&&u.ee===1){if(u.ee=s.ee=0,l===this.Y)return;l.ee=1,a=l;continue}else if(a===s.W){if(a.ee=0,a.U&&(a.U.tt=s),a.W&&(a.W.tt=l),s.W=a.U,l.U=a.W,a.U=s,a.W=l,l===this.Y)this.Y=a,this.h.tt=a;else{let c=l.tt;c.U===l?c.U=a:c.W=a}return a.tt=l.tt,s.tt=a,l.tt=a,l.ee=1,{parentNode:s,grandParent:l,curNode:a}}else s.ee=0,l===this.Y?this.Y=l.se():l.se(),l.ee=1}else{let u=l.U;if(u&&u.ee===1){if(u.ee=s.ee=0,l===this.Y)return;l.ee=1,a=l;continue}else if(a===s.U){if(a.ee=0,a.U&&(a.U.tt=l),a.W&&(a.W.tt=s),l.W=a.U,s.U=a.W,a.U=l,a.W=s,l===this.Y)this.Y=a,this.h.tt=a;else{let c=l.tt;c.U===l?c.U=a:c.W=a}return a.tt=l.tt,s.tt=a,l.tt=a,l.ee=1,{parentNode:s,grandParent:l,curNode:a}}else s.ee=0,l===this.Y?this.Y=l.te():l.te(),l.ee=1}return}}ne(a,s,l){if(this.Y===void 0){this.i+=1,this.Y=new this.re(a,s),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,this.h.W=this.Y;return}let u,c=this.h.U,d=this.v(c.u,a);if(d===0){c.l=s;return}else if(d>0)c.U=new this.re(a,s),c.U.tt=c,u=c.U,this.h.U=u;else{let p=this.h.W,g=this.v(p.u,a);if(g===0){p.l=s;return}else if(g<0)p.W=new this.re(a,s),p.W.tt=p,u=p.W,this.h.W=u;else{if(l!==void 0){let _=l.o;if(_!==this.h){let b=this.v(_.u,a);if(b===0){_.l=s;return}else if(b>0){let E=_.L(),v=this.v(E.u,a);if(v===0){E.l=s;return}else v<0&&(u=new this.re(a,s),E.W===void 0?(E.W=u,u.tt=E):(_.U=u,u.tt=_))}}}if(u===void 0)for(u=this.Y;;){let _=this.v(u.u,a);if(_>0){if(u.U===void 0){u.U=new this.re(a,s),u.U.tt=u,u=u.U;break}u=u.U}else if(_<0){if(u.W===void 0){u.W=new this.re(a,s),u.W.tt=u,u=u.W;break}u=u.W}else{u.l=s;return}}}}return this.i+=1,u}I(a,s){for(;a;){let l=this.v(a.u,s);if(l<0)a=a.W;else if(l>0)a=a.U;else return a}return a||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(a,s){let l=a.o;if(l===this.h&&(0,n.throwIteratorAccessError)(),this.i===1)return l.u=s,!0;if(l===this.h.U)return this.v(l.B().u,s)>0?(l.u=s,!0):!1;if(l===this.h.W)return this.v(l.L().u,s)<0?(l.u=s,!0):!1;let u=l.L().u;if(this.v(u,s)>=0)return!1;let c=l.B().u;return this.v(c,s)<=0?!1:(l.u=s,!0)}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let s=0,l=this;return this.oe(this.Y,function(u){return a===s?(l.V(u),!0):(s+=1,!1)}),this.i}eraseElementByKey(a){if(this.i===0)return!1;let s=this.I(this.Y,a);return s===this.h?!1:(this.V(s),!0)}eraseElementByIterator(a){let s=a.o;s===this.h&&(0,n.throwIteratorAccessError)();let l=s.W===void 0;return a.iteratorType===0?l&&a.next():(!l||s.U===void 0)&&a.next(),this.V(s),a}forEach(a){let s=0;for(let l of this)a(l,s++,this)}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let s,l=0;for(let u of this){if(l===a){s=u;break}l+=1}return s}getHeight(){if(this.i===0)return 0;let a=function(s){return s?Math.max(a(s.U),a(s.W))+1:0};return a(this.Y)}},i=o;e.default=i}),g0=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=on(),r=sn(),n=class extends t.ContainerIterator{constructor(i,a,s){super(s),this.o=i,this.h=a,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let i=this.o,a=this.h.tt;if(i===this.h)return a?a.rt-1:0;let s=0;for(i.U&&(s+=i.U.rt);i!==a;){let l=i.tt;i===l.W&&(s+=1,l.U&&(s+=l.U.rt)),i=l}return s}},o=n;e.default=o}),KC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=o(p0()),r=o(g0()),n=sn();function o(l){return l&&l.t?l:{default:l}}var i=class m0 extends r.default{constructor(u,c,d,p){super(u,c,p),this.container=d}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.u}copy(){return new m0(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.default{constructor(l=[],u,c){super(u,c);let d=this;l.forEach(function(p){d.insert(p)})}*K(l){l!==void 0&&(yield*this.K(l.U),yield l.u,yield*this.K(l.W))}begin(){return new i(this.h.U||this.h,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this.h.W||this.h,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(l,u){return this.M(l,void 0,u)}find(l){let u=this.I(this.Y,l);return new i(u,this.h,this)}lowerBound(l){let u=this.X(this.Y,l);return new i(u,this.h,this)}upperBound(l){let u=this.Z(this.Y,l);return new i(u,this.h,this)}reverseLowerBound(l){let u=this.$(this.Y,l);return new i(u,this.h,this)}reverseUpperBound(l){let u=this.rr(this.Y,l);return new i(u,this.h,this)}union(l){let u=this;return l.forEach(function(c){u.insert(c)}),this.i}[Symbol.iterator](){return this.K(this.Y)}},s=a;e.default=s}),YC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=o(p0()),r=o(g0()),n=sn();function o(l){return l&&l.t?l:{default:l}}var i=class y0 extends r.default{constructor(u,c,d,p){super(u,c,p),this.container=d}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let u=this;return new Proxy([],{get(c,d){if(d==="0")return u.o.u;if(d==="1")return u.o.l},set(c,d,p){if(d!=="1")throw new TypeError("props must be 1");return u.o.l=p,!0}})}copy(){return new y0(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.default{constructor(l=[],u,c){super(u,c);let d=this;l.forEach(function(p){d.setElement(p[0],p[1])})}*K(l){l!==void 0&&(yield*this.K(l.U),yield[l.u,l.l],yield*this.K(l.W))}begin(){return new i(this.h.U||this.h,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this.h.W||this.h,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){if(this.i===0)return;let l=this.h.U;return[l.u,l.l]}back(){if(this.i===0)return;let l=this.h.W;return[l.u,l.l]}lowerBound(l){let u=this.X(this.Y,l);return new i(u,this.h,this)}upperBound(l){let u=this.Z(this.Y,l);return new i(u,this.h,this)}reverseLowerBound(l){let u=this.$(this.Y,l);return new i(u,this.h,this)}reverseUpperBound(l){let u=this.rr(this.Y,l);return new i(u,this.h,this)}setElement(l,u,c){return this.M(l,u,c)}find(l){let u=this.I(this.Y,l);return new i(u,this.h,this)}getElementByKey(l){return this.I(this.Y,l).l}union(l){let u=this;return l.forEach(function(c){u.setElement(c[0],c[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}},s=a;e.default=s}),_0=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=t;function t(r){let n=typeof r;return n==="object"&&r!==null||n==="function"}}),b0=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.HashContainerIterator=e.HashContainer=void 0;var t=on(),r=o(_0()),n=sn();function o(s){return s&&s.t?s:{default:s}}var i=class extends t.ContainerIterator{constructor(s,l,u){super(u),this.o=s,this.h=l,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L,this})}};e.HashContainerIterator=i;var a=class extends t.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(s){let{L:l,B:u}=s;l.B=u,u.L=l,s===this.p&&(this.p=u),s===this._&&(this._=l),this.i-=1}M(s,l,u){u===void 0&&(u=(0,r.default)(s));let c;if(u){let d=s[this.HASH_TAG];if(d!==void 0)return this.H[d].l=l,this.i;Object.defineProperty(s,this.HASH_TAG,{value:this.H.length,configurable:!0}),c={u:s,l,L:this._,B:this.h},this.H.push(c)}else{let d=this.g[s];if(d)return d.l=l,this.i;c={u:s,l,L:this._,B:this.h},this.g[s]=c}return this.i===0?(this.p=c,this.h.B=c):this._.B=c,this._=c,this.h.L=c,++this.i}I(s,l){if(l===void 0&&(l=(0,r.default)(s)),l){let u=s[this.HASH_TAG];return u===void 0?this.h:this.H[u]}else return this.g[s]||this.h}clear(){let s=this.HASH_TAG;this.H.forEach(function(l){delete l.u[s]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(s,l){let u;if(l===void 0&&(l=(0,r.default)(s)),l){let c=s[this.HASH_TAG];if(c===void 0)return!1;delete s[this.HASH_TAG],u=this.H[c],delete this.H[c]}else{if(u=this.g[s],u===void 0)return!1;delete this.g[s]}return this.V(u),!0}eraseElementByIterator(s){let l=s.o;return l===this.h&&(0,n.throwIteratorAccessError)(),this.V(l),s.next()}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let l=this.p;for(;s--;)l=l.B;return this.V(l),this.i}};e.HashContainer=a}),zC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=b0(),r=sn(),n=class w0 extends t.HashContainerIterator{constructor(s,l,u,c){super(s,l,c),this.container=u}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new w0(this.o,this.h,this.container,this.iteratorType)}},o=class extends t.HashContainer{constructor(a=[]){super();let s=this;a.forEach(function(l){s.insert(l)})}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(a,s){return this.M(a,void 0,s)}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let s=this.p;for(;a--;)s=s.B;return s.u}find(a,s){let l=this.I(a,s);return new n(l,this.h,this)}forEach(a){let s=0,l=this.p;for(;l!==this.h;)a(l.u,s++,this),l=l.B}[Symbol.iterator](){return(function*(){let a=this.p;for(;a!==this.h;)yield a.u,a=a.B}).bind(this)()}},i=o;e.default=i}),GC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=b0(),r=o(_0()),n=sn();function o(l){return l&&l.t?l:{default:l}}var i=class v0 extends t.HashContainerIterator{constructor(u,c,d,p){super(u,c,p),this.container=d}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let u=this;return new Proxy([],{get(c,d){if(d==="0")return u.o.u;if(d==="1")return u.o.l},set(c,d,p){if(d!=="1")throw new TypeError("props must be 1");return u.o.l=p,!0}})}copy(){return new v0(this.o,this.h,this.container,this.iteratorType)}},a=class extends t.HashContainer{constructor(l=[]){super();let u=this;l.forEach(function(c){u.setElement(c[0],c[1])})}begin(){return new i(this.p,this.h,this)}end(){return new i(this.h,this.h,this)}rBegin(){return new i(this._,this.h,this,1)}rEnd(){return new i(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(l,u,c){return this.M(l,u,c)}getElementByKey(l,u){if(u===void 0&&(u=(0,r.default)(l)),u){let d=l[this.HASH_TAG];return d!==void 0?this.H[d].l:void 0}let c=this.g[l];return c?c.l:void 0}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let u=this.p;for(;l--;)u=u.B;return[u.u,u.l]}find(l,u){let c=this.I(l,u);return new i(c,this.h,this)}forEach(l){let u=0,c=this.p;for(;c!==this.h;)l([c.u,c.l],u++,this),c=c.B}[Symbol.iterator](){return(function*(){let l=this.p;for(;l!==this.h;)yield[l.u,l.l],l=l.B}).bind(this)()}},s=a;e.default=s}),QC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"t",{value:!0}),Object.defineProperty(e,"Deque",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"HashMap",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"HashSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"LinkList",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"OrderedMap",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"OrderedSet",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"PriorityQueue",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"Stack",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"Vector",{enumerable:!0,get:function(){return o.default}});var t=d(FC()),r=d($C()),n=d(jC()),o=d(WC()),i=d(HC()),a=d(VC()),s=d(KC()),l=d(YC()),u=d(zC()),c=d(GC());function d(p){return p&&p.t?p:{default:p}}}),XC=Ae((e,t)=>{be(),ve(),we();var r=QC().OrderedSet,n=Qr()("number-allocator:trace"),o=Qr()("number-allocator:error");function i(s,l){this.low=s,this.high=l}i.prototype.equals=function(s){return this.low===s.low&&this.high===s.high},i.prototype.compare=function(s){return this.lowu.compare(c)),n("Create"),this.clear()}a.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low},a.prototype.alloc=function(){if(this.ss.size()===0)return n("alloc():empty"),null;let s=this.ss.begin(),l=s.pointer.low,u=s.pointer.high,c=l;return c+1<=u?this.ss.updateKeyByIterator(s,new i(l+1,u)):this.ss.eraseElementByPos(0),n("alloc():"+c),c},a.prototype.use=function(s){let l=new i(s,s),u=this.ss.lowerBound(l);if(!u.equals(this.ss.end())){let c=u.pointer.low,d=u.pointer.high;return u.pointer.equals(l)?(this.ss.eraseElementByIterator(u),n("use():"+s),!0):c>s?!1:c===s?(this.ss.updateKeyByIterator(u,new i(c+1,d)),n("use():"+s),!0):d===s?(this.ss.updateKeyByIterator(u,new i(c,d-1)),n("use():"+s),!0):(this.ss.updateKeyByIterator(u,new i(s+1,d)),this.ss.insert(new i(c,s-1)),n("use():"+s),!0)}return n("use():failed"),!1},a.prototype.free=function(s){if(sthis.max){o("free():"+s+" is out of range");return}let l=new i(s,s),u=this.ss.upperBound(l);if(u.equals(this.ss.end())){if(u.equals(this.ss.begin())){this.ss.insert(l);return}u.pre();let c=u.pointer.high;u.pointer.high+1===s?this.ss.updateKeyByIterator(u,new i(c,s)):this.ss.insert(l)}else if(u.equals(this.ss.begin()))if(s+1===u.pointer.low){let c=u.pointer.high;this.ss.updateKeyByIterator(u,new i(s,c))}else this.ss.insert(l);else{let c=u.pointer.low,d=u.pointer.high;u.pre();let p=u.pointer.low;u.pointer.high+1===s?s+1===c?(this.ss.eraseElementByIterator(u),this.ss.updateKeyByIterator(u,new i(p,d))):this.ss.updateKeyByIterator(u,new i(p,s)):s+1===c?(this.ss.eraseElementByIterator(u.next()),this.ss.insert(new i(s,d))):this.ss.insert(l)}n("free():"+s)},a.prototype.clear=function(){n("clear()"),this.ss.clear(),this.ss.insert(new i(this.min,this.max))},a.prototype.intervalCount=function(){return this.ss.size()},a.prototype.dump=function(){console.log("length:"+this.ss.size());for(let s of this.ss)console.log(s)},t.exports=a}),E0=Ae((e,t)=>{be(),ve(),we();var r=XC();t.exports.NumberAllocator=r}),JC=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=UC(),r=E0(),n=class{constructor(o){o>0&&(this.aliasToTopic=new t.LRUCache({max:o}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,o),this.max=o,this.length=0)}put(o,i){if(i===0||i>this.max)return!1;let a=this.aliasToTopic.get(i);return a&&delete this.topicToAlias[a],this.aliasToTopic.set(i,o),this.topicToAlias[o]=i,this.numberAllocator.use(i),this.length=this.aliasToTopic.size,!0}getTopicByAlias(o){return this.aliasToTopic.get(o)}getAliasByTopic(o){let i=this.topicToAlias[o];return typeof i<"u"&&this.aliasToTopic.get(i),i}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}};e.default=n}),ZC=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(e,"__esModule",{value:!0});var r=El(),n=t(JC()),o=go(),i=(a,s)=>{a.log("_handleConnack");let{options:l}=a,u=l.protocolVersion===5?s.reasonCode:s.returnCode;if(clearTimeout(a.connackTimer),delete a.topicAliasSend,s.properties){if(s.properties.topicAliasMaximum){if(s.properties.topicAliasMaximum>65535){a.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}s.properties.topicAliasMaximum>0&&(a.topicAliasSend=new n.default(s.properties.topicAliasMaximum))}s.properties.serverKeepAlive&&l.keepalive&&(l.keepalive=s.properties.serverKeepAlive),s.properties.maximumPacketSize&&(l.properties||(l.properties={}),l.properties.maximumPacketSize=s.properties.maximumPacketSize)}if(u===0)a.reconnecting=!1,a._onConnect(s);else if(u>0){let c=new o.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[u]}`,u);a.emit("error",c),a.options.reconnectOnConnackError&&a._cleanUp(!0)}};e.default=i}),eR=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=(r,n,o)=>{r.log("handling pubrel packet");let i=typeof o<"u"?o:r.noop,{messageId:a}=n,s={cmd:"pubcomp",messageId:a};r.incomingStore.get(n,(l,u)=>{l?r._sendPacket(s,i):(r.emit("message",u.topic,u.payload,u),r.handleMessage(u,c=>{if(c)return i(c);r.incomingStore.del(u,r.noop),r._sendPacket(s,i)}))})};e.default=t}),tR=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(e,"__esModule",{value:!0});var r=t(LC()),n=t(DC()),o=t(ZC()),i=t(El()),a=t(eR()),s=(l,u,c)=>{let{options:d}=l;if(d.protocolVersion===5&&d.properties&&d.properties.maximumPacketSize&&d.properties.maximumPacketSize{be(),ve(),we();var t=e&&e.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(e,"__esModule",{value:!0}),e.TypedEventEmitter=void 0;var r=t((po(),ze(yi))),n=go(),o=class{};e.TypedEventEmitter=o,(0,n.applyMixin)(o,r.default)}),Sl=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.isReactNativeBrowser=e.isWebWorker=void 0;var t=()=>{var i;return typeof window<"u"?typeof navigator<"u"&&((i=navigator.userAgent)===null||i===void 0?void 0:i.toLowerCase().indexOf(" electron/"))>-1&&He!=null&&He.versions?!Object.prototype.hasOwnProperty.call(He.versions,"electron"):typeof window.document<"u":!1},r=()=>{var i,a;return!!(typeof self=="object"&&!((a=(i=self==null?void 0:self.constructor)===null||i===void 0?void 0:i.name)===null||a===void 0)&&a.includes("WorkerGlobalScope"))},n=()=>typeof navigator<"u"&&navigator.product==="ReactNative",o=t()||r()||n();e.isWebWorker=r(),e.isReactNativeBrowser=n(),e.default=o}),nR=Ae((e,t)=>{be(),ve(),we(),function(r,n){typeof e=="object"&&typeof t<"u"?n(e):typeof define=="function"&&define.amd?define(["exports"],n):(r=typeof globalThis<"u"?globalThis:r||self,n(r.fastUniqueNumbers={}))}(e,function(r){var n=function(g){return function(_){var b=g(_);return _.add(b),b}},o=function(g){return function(_,b){return g.set(_,b),b}},i=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,a=536870912,s=a*2,l=function(g,_){return function(b){var E=_.get(b),v=E===void 0?b.size:Ei)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;b.has(v);)v=Math.floor(Math.random()*i);return g(b,v)}},u=new WeakMap,c=o(u),d=l(c,u),p=n(d);r.addUniqueNumber=p,r.generateUniqueNumber=d})}),iR=Ae((e,t)=>{be(),ve(),we(),function(r,n){typeof e=="object"&&typeof t<"u"?n(e,nR()):typeof define=="function"&&define.amd?define(["exports","fast-unique-numbers"],n):(r=typeof globalThis<"u"?globalThis:r||self,n(r.workerTimersBroker={},r.fastUniqueNumbers))}(e,function(r,n){var o=function(s){return s.method!==void 0&&s.method==="call"},i=function(s){return s.error===null&&typeof s.id=="number"},a=function(s){var l=new Map([[0,function(){}]]),u=new Map([[0,function(){}]]),c=new Map,d=new Worker(s);d.addEventListener("message",function(E){var v=E.data;if(o(v)){var S=v.params,w=S.timerId,C=S.timerType;if(C==="interval"){var R=l.get(w);if(typeof R=="number"){var O=c.get(R);if(O===void 0||O.timerId!==w||O.timerType!==C)throw new Error("The timer is in an undefined state.")}else if(typeof R<"u")R();else throw new Error("The timer is in an undefined state.")}else if(C==="timeout"){var D=u.get(w);if(typeof D=="number"){var V=c.get(D);if(V===void 0||V.timerId!==w||V.timerType!==C)throw new Error("The timer is in an undefined state.")}else if(typeof D<"u")D(),u.delete(w);else throw new Error("The timer is in an undefined state.")}}else if(i(v)){var re=v.id,G=c.get(re);if(G===void 0)throw new Error("The timer is in an undefined state.");var X=G.timerId,L=G.timerType;c.delete(re),L==="interval"?l.delete(X):u.delete(X)}else{var $=v.error.message;throw new Error($)}});var p=function(E){var v=n.generateUniqueNumber(c);c.set(v,{timerId:E,timerType:"interval"}),l.set(E,v),d.postMessage({id:v,method:"clear",params:{timerId:E,timerType:"interval"}})},g=function(E){var v=n.generateUniqueNumber(c);c.set(v,{timerId:E,timerType:"timeout"}),u.set(E,v),d.postMessage({id:v,method:"clear",params:{timerId:E,timerType:"timeout"}})},_=function(E){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=n.generateUniqueNumber(l);return l.set(S,function(){E(),typeof l.get(S)=="function"&&d.postMessage({id:null,method:"set",params:{delay:v,now:performance.now(),timerId:S,timerType:"interval"}})}),d.postMessage({id:null,method:"set",params:{delay:v,now:performance.now(),timerId:S,timerType:"interval"}}),S},b=function(E){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=n.generateUniqueNumber(u);return u.set(S,E),d.postMessage({id:null,method:"set",params:{delay:v,now:performance.now(),timerId:S,timerType:"timeout"}}),S};return{clearInterval:p,clearTimeout:g,setInterval:_,setTimeout:b}};r.load=a})}),oR=Ae((e,t)=>{be(),ve(),we(),function(r,n){typeof e=="object"&&typeof t<"u"?n(e,iR()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],n):(r=typeof globalThis<"u"?globalThis:r||self,n(r.workerTimers={},r.workerTimersBroker))}(e,function(r,n){var o=function(d,p){var g=null;return function(){if(g!==null)return g;var _=new Blob([p],{type:"application/javascript; charset=utf-8"}),b=URL.createObjectURL(_);return g=d(b),setTimeout(function(){return URL.revokeObjectURL(b)}),g}},i=`(()=>{var e={472:(e,t,r)=>{var o,i;void 0===(i="function"==typeof(o=function(){"use strict";var e=new Map,t=new Map,r=function(t){var r=e.get(t);if(void 0===r)throw new Error('There is no interval scheduled with the given id "'.concat(t,'".'));clearTimeout(r),e.delete(t)},o=function(e){var r=t.get(e);if(void 0===r)throw new Error('There is no timeout scheduled with the given id "'.concat(e,'".'));clearTimeout(r),t.delete(e)},i=function(e,t){var r,o=performance.now();return{expected:o+(r=e-Math.max(0,o-t)),remainingDelay:r}},n=function e(t,r,o,i){var n=performance.now();n>o?postMessage({id:null,method:"call",params:{timerId:r,timerType:i}}):t.set(r,setTimeout(e,o-n,t,r,o,i))},a=function(t,r,o){var a=i(t,o),s=a.expected,d=a.remainingDelay;e.set(r,setTimeout(n,d,e,r,s,"interval"))},s=function(e,r,o){var a=i(e,o),s=a.expected,d=a.remainingDelay;t.set(r,setTimeout(n,d,t,r,s,"timeout"))};addEventListener("message",(function(e){var t=e.data;try{if("clear"===t.method){var i=t.id,n=t.params,d=n.timerId,c=n.timerType;if("interval"===c)r(d),postMessage({error:null,id:i});else{if("timeout"!==c)throw new Error('The given type "'.concat(c,'" is not supported'));o(d),postMessage({error:null,id:i})}}else{if("set"!==t.method)throw new Error('The given method "'.concat(t.method,'" is not supported'));var u=t.params,l=u.delay,p=u.now,m=u.timerId,v=u.timerType;if("interval"===v)a(l,m,p);else{if("timeout"!==v)throw new Error('The given type "'.concat(v,'" is not supported'));s(l,m,p)}}}catch(e){postMessage({error:{message:e.message},id:t.id,result:null})}}))})?o.call(t,r,t,e):o)||(e.exports=i)}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`,a=o(n.load,i),s=function(d){return a().clearInterval(d)},l=function(d){return a().clearTimeout(d)},u=function(){var d;return(d=a()).setInterval.apply(d,arguments)},c=function(){var d;return(d=a()).setTimeout.apply(d,arguments)};r.clearInterval=s,r.clearTimeout=l,r.setInterval=u,r.setTimeout=c})}),sR=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(u,c,d,p){p===void 0&&(p=d);var g=Object.getOwnPropertyDescriptor(c,d);(!g||("get"in g?!c.__esModule:g.writable||g.configurable))&&(g={enumerable:!0,get:function(){return c[d]}}),Object.defineProperty(u,p,g)}:function(u,c,d,p){p===void 0&&(p=d),u[p]=c[d]}),r=e&&e.__setModuleDefault||(Object.create?function(u,c){Object.defineProperty(u,"default",{enumerable:!0,value:c})}:function(u,c){u.default=c}),n=e&&e.__importStar||function(u){if(u&&u.__esModule)return u;var c={};if(u!=null)for(var d in u)d!=="default"&&Object.prototype.hasOwnProperty.call(u,d)&&t(c,u,d);return r(c,u),c};Object.defineProperty(e,"__esModule",{value:!0});var o=n(Sl()),i=oR(),a={set:i.setInterval,clear:i.clearInterval},s={set:(u,c)=>setInterval(u,c),clear:u=>clearInterval(u)},l=u=>{switch(u){case"native":return s;case"worker":return a;case"auto":default:return o.default&&!o.isWebWorker&&!o.isReactNativeBrowser?a:s}};e.default=l}),S0=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(e,"__esModule",{value:!0});var r=t(sR()),n=class{get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}constructor(o,i){this.destroyed=!1,this.client=o,this.timer=typeof i=="object"&&"set"in i&&"clear"in i?i:(0,r.default)(i),this.setKeepalive(o.options.keepalive)}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(o){if(o*=1e3,isNaN(o)||o<=0||o>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${o}`);this._keepalive=o,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${o}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let o=Math.ceil(this._keepalive*1.5);this._keepaliveTimeoutTimestamp=Date.now()+o,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}};e.default=n}),zf=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(R,O,D,V){V===void 0&&(V=D);var re=Object.getOwnPropertyDescriptor(O,D);(!re||("get"in re?!O.__esModule:re.writable||re.configurable))&&(re={enumerable:!0,get:function(){return O[D]}}),Object.defineProperty(R,V,re)}:function(R,O,D,V){V===void 0&&(V=D),R[V]=O[D]}),r=e&&e.__setModuleDefault||(Object.create?function(R,O){Object.defineProperty(R,"default",{enumerable:!0,value:O})}:function(R,O){R.default=O}),n=e&&e.__importStar||function(R){if(R&&R.__esModule)return R;var O={};if(R!=null)for(var D in R)D!=="default"&&Object.prototype.hasOwnProperty.call(R,D)&&t(O,R,D);return r(O,R),O},o=e&&e.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};Object.defineProperty(e,"__esModule",{value:!0});var i=o(GI()),a=o(kC()),s=o(s0()),l=_i(),u=o(NC()),c=n(PC()),d=o(Qr()),p=o(a0()),g=o(tR()),_=go(),b=rR(),E=o(S0()),v=n(Sl()),S=globalThis.setImmediate||((...R)=>{let O=R.shift();(0,_.nextTick)(()=>{O(...R)})}),w={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:30*1e3,clean:!0,resubscribe:!0,writeCache:!0,timerVariant:"auto"},C=class Gf extends b.TypedEventEmitter{static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}constructor(O,D){super(),this.options=D||{};for(let V in w)typeof this.options[V]>"u"?this.options[V]=w[V]:this.options[V]=D[V];this.log=this.options.log||(0,d.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",Gf.VERSION),v.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",v.default?"browser":"node"),this.log("MqttClient :: options.protocol",D.protocol),this.log("MqttClient :: options.protocolVersion",D.protocolVersion),this.log("MqttClient :: options.username",D.username),this.log("MqttClient :: options.keepalive",D.keepalive),this.log("MqttClient :: options.reconnectPeriod",D.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",D.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",D.properties?D.properties.topicAliasMaximum:void 0),this.options.clientId=typeof D.clientId=="string"?D.clientId:Gf.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=D.protocolVersion===5&&D.customHandleAcks?D.customHandleAcks:(...V)=>{V[3](null,0)},this.options.writeCache||(a.default.writeToStream.cacheNumbers=!1),this.streamBuilder=O,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new s.default:this.options.messageIdProvider,this.outgoingStore=D.outgoingStore||new p.default,this.incomingStore=D.incomingStore||new p.default,this.queueQoSZero=D.queueQoSZero===void 0?!0:D.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,D.properties&&D.properties.topicAliasMaximum>0&&(D.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new i.default(D.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:V}=this,re=()=>{let G=V.shift();this.log("deliver :: entry %o",G);let X=null;if(!G){this._resubscribe();return}X=G.packet,this.log("deliver :: call _sendPacket for %o",X);let L=!0;X.messageId&&X.messageId!==0&&(this.messageIdProvider.register(X.messageId)||(L=!1)),L?this._sendPacket(X,$=>{G.cb&&G.cb($),re()}):(this.log("messageId: %d has already used. The message is skipped and removed.",X.messageId),re())};this.log("connect :: sending queued packets"),re()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}handleAuth(O,D){D()}handleMessage(O,D){D()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var O;let D=new l.Writable,V=a.default.parser(this.options),re=null,G=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new p.default,this.outgoingStore=this.options.outgoingStore||new p.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),V.on("packet",fe=>{this.log("parser :: on packet push to packets array."),G.push(fe)});let X=()=>{this.log("work :: getting next packet in queue");let fe=G.shift();if(fe)this.log("work :: packet pulled from queue"),(0,g.default)(this,fe,L);else{this.log("work :: no packets in queue");let de=re;re=null,this.log("work :: done flag is %s",!!de),de&&de()}},L=()=>{if(G.length)(0,_.nextTick)(X);else{let fe=re;re=null,fe()}};D._write=(fe,de,pe)=>{re=pe,this.log("writable stream :: parsing buffer"),V.parse(fe),X()};let $=fe=>{this.log("streamErrorHandler :: error",fe.message),fe.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",fe)):this.noop(fe)};this.log("connect :: pipe stream to writable stream"),this.stream.pipe(D),this.stream.on("error",$),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let ae={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(ae.will=Object.assign(Object.assign({},this.options.will),{payload:(O=this.options.will)===null||O===void 0?void 0:O.payload})),this.topicAliasRecv&&(ae.properties||(ae.properties={}),this.topicAliasRecv&&(ae.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(ae),V.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let fe=Object.assign({cmd:"auth",reasonCode:0},this.options.authPacket);this._writePacket(fe)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(O,D,V,re){this.log("publish :: message `%s` to topic `%s`",D,O);let{options:G}=this;typeof V=="function"&&(re=V,V=null),V=V||{},V=Object.assign(Object.assign({},{qos:0,retain:!1,dup:!1}),V);let{qos:X,retain:L,dup:$,properties:ae,cbStorePut:fe}=V;if(this._checkDisconnecting(re))return this;let de=()=>{let pe=0;if((X===1||X===2)&&(pe=this._nextId(),pe===null))return this.log("No messageId left"),!1;let z={cmd:"publish",topic:O,payload:D,qos:X,retain:L,messageId:pe,dup:$};switch(G.protocolVersion===5&&(z.properties=ae),this.log("publish :: qos",X),X){case 1:case 2:this.outgoing[z.messageId]={volatile:!1,cb:re||this.noop},this.log("MqttClient:publish: packet cmd: %s",z.cmd),this._sendPacket(z,void 0,fe);break;default:this.log("MqttClient:publish: packet cmd: %s",z.cmd),this._sendPacket(z,re,fe);break}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!de())&&this._storeProcessingQueue.push({invoke:de,cbStorePut:V.cbStorePut,callback:re}),this}publishAsync(O,D,V){return new Promise((re,G)=>{this.publish(O,D,V,(X,L)=>{X?G(X):re(L)})})}subscribe(O,D,V){let re=this.options.protocolVersion;typeof D=="function"&&(V=D),V=V||this.noop;let G=!1,X=[];typeof O=="string"?(O=[O],X=O):Array.isArray(O)?X=O:typeof O=="object"&&(G=O.resubscribe,delete O.resubscribe,X=Object.keys(O));let L=c.validateTopics(X);if(L!==null)return S(V,new Error(`Invalid topic ${L}`)),this;if(this._checkDisconnecting(V))return this.log("subscribe: discconecting true"),this;let $={qos:0};re===5&&($.nl=!1,$.rap=!1,$.rh=0),D=Object.assign(Object.assign({},$),D);let ae=D.properties,fe=[],de=(z,ge)=>{if(ge=ge||D,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,z)||this._resubscribeTopics[z].qos{this.log("subscribe: array topic %s",z),de(z)}):Object.keys(O).forEach(z=>{this.log("subscribe: object topic %s, %o",z,O[z]),de(z,O[z])}),!fe.length)return V(null,[]),this;let pe=()=>{let z=this._nextId();if(z===null)return this.log("No messageId left"),!1;let ge={cmd:"subscribe",subscriptions:fe,messageId:z};if(ae&&(ge.properties=ae),this.options.resubscribe){this.log("subscribe :: resubscribe true");let Y=[];fe.forEach(he=>{if(this.options.reconnectPeriod>0){let N={qos:he.qos};re===5&&(N.nl=he.nl||!1,N.rap=he.rap||!1,N.rh=he.rh||0,N.properties=he.properties),this._resubscribeTopics[he.topic]=N,Y.push(he.topic)}}),this.messageIdToTopic[ge.messageId]=Y}return this.outgoing[ge.messageId]={volatile:!0,cb(Y,he){if(!Y){let{granted:N}=he;for(let ne=0;ne0||!pe())&&this._storeProcessingQueue.push({invoke:pe,callback:V}),this}subscribeAsync(O,D){return new Promise((V,re)=>{this.subscribe(O,D,(G,X)=>{G?re(G):V(X)})})}unsubscribe(O,D,V){typeof O=="string"&&(O=[O]),typeof D=="function"&&(V=D),V=V||this.noop;let re=c.validateTopics(O);if(re!==null)return S(V,new Error(`Invalid topic ${re}`)),this;if(this._checkDisconnecting(V))return this;let G=()=>{let X=this._nextId();if(X===null)return this.log("No messageId left"),!1;let L={cmd:"unsubscribe",messageId:X,unsubscriptions:[]};return typeof O=="string"?L.unsubscriptions=[O]:Array.isArray(O)&&(L.unsubscriptions=O),this.options.resubscribe&&L.unsubscriptions.forEach($=>{delete this._resubscribeTopics[$]}),typeof D=="object"&&D.properties&&(L.properties=D.properties),this.outgoing[L.messageId]={volatile:!0,cb:V},this.log("unsubscribe: call _sendPacket"),this._sendPacket(L),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!G())&&this._storeProcessingQueue.push({invoke:G,callback:V}),this}unsubscribeAsync(O,D){return new Promise((V,re)=>{this.unsubscribe(O,D,(G,X)=>{G?re(G):V(X)})})}end(O,D,V){this.log("end :: (%s)",this.options.clientId),(O==null||typeof O!="boolean")&&(V=V||D,D=O,O=!1),typeof D!="object"&&(V=V||D,D=null),this.log("end :: cb? %s",!!V),(!V||typeof V!="function")&&(V=this.noop);let re=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(X=>{this.outgoingStore.close(L=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),V){let $=X||L;this.log("end :: closeStores: invoking callback with args"),V($)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},G=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,O),this._cleanUp(O,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,_.nextTick)(re)},D)};return this.disconnecting?(V(),this):(this._clearReconnect(),this.disconnecting=!0,!O&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,G,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),G()),this)}endAsync(O,D){return new Promise((V,re)=>{this.end(O,D,G=>{G?re(G):V()})})}removeOutgoingMessage(O){if(this.outgoing[O]){let{cb:D}=this.outgoing[O];this._removeOutgoingAndStoreMessage(O,()=>{D(new Error("Message removed"))})}return this}reconnect(O){this.log("client reconnect");let D=()=>{O?(this.options.incomingStore=O.incomingStore,this.options.outgoingStore=O.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new p.default,this.outgoingStore=this.options.outgoingStore||new p.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=D:D(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(O=>{this.outgoing[O].volatile&&typeof this.outgoing[O].cb=="function"&&(this.outgoing[O].cb(new Error("Connection closed")),delete this.outgoing[O])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(O=>{typeof this.outgoing[O].cb=="function"&&(this.outgoing[O].cb(new Error("Connection closed")),delete this.outgoing[O])}))}_removeTopicAliasAndRecoverTopicName(O){let D;O.properties&&(D=O.properties.topicAlias);let V=O.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",D,V),V.length===0){if(typeof D>"u")return new Error("Unregistered Topic Alias");if(V=this.topicAliasSend.getTopicByAlias(D),typeof V>"u")return new Error("Unregistered Topic Alias");O.topic=V}D&&delete O.properties.topicAlias}_checkDisconnecting(O){return this.disconnecting&&(O&&O!==this.noop?O(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(O,D,V={}){if(D&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",D)),this.log("_cleanUp :: forced? %s",O),O)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let re=Object.assign({cmd:"disconnect"},V);this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(re,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),S(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),D&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",D),D())}_storeAndSend(O,D,V){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",O.cmd);let re=O,G;if(re.cmd==="publish"&&(re=(0,u.default)(O),G=this._removeTopicAliasAndRecoverTopicName(re),G))return D&&D(G);this.outgoingStore.put(re,X=>{if(X)return D&&D(X);V(),this._writePacket(O,D)})}_applyTopicAlias(O){if(this.options.protocolVersion===5&&O.cmd==="publish"){let D;O.properties&&(D=O.properties.topicAlias);let V=O.topic.toString();if(this.topicAliasSend)if(D){if(V.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",V,D),!this.topicAliasSend.put(V,D)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",V,D),new Error("Sending Topic Alias out of range")}else V.length!==0&&(this.options.autoAssignTopicAlias?(D=this.topicAliasSend.getAliasByTopic(V),D?(O.topic="",O.properties=Object.assign(Object.assign({},O.properties),{topicAlias:D}),this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",V,D)):(D=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(V,D),O.properties=Object.assign(Object.assign({},O.properties),{topicAlias:D}),this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",V,D))):this.options.autoUseTopicAlias&&(D=this.topicAliasSend.getAliasByTopic(V),D&&(O.topic="",O.properties=Object.assign(Object.assign({},O.properties),{topicAlias:D}),this.log("applyTopicAlias :: auto use topic: %s - alias: %d",V,D))));else if(D)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",V,D),new Error("Sending Topic Alias out of range")}}_noop(O){this.log("noop ::",O)}_writePacket(O,D){this.log("_writePacket :: packet: %O",O),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",O),this.log("_writePacket :: writing to stream");let V=a.default.writeToStream(O,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",V),!V&&D&&D!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",D)):D&&(this.log("_writePacket :: invoking cb"),D())}_sendPacket(O,D,V,re){this.log("_sendPacket :: (%s) :: start",this.options.clientId),V=V||this.noop,D=D||this.noop;let G=this._applyTopicAlias(O);if(G){D(G);return}if(!this.connected){if(O.cmd==="auth"){this._writePacket(O,D);return}this.log("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(O,D,V);return}if(re){this._writePacket(O,D);return}switch(O.cmd){case"publish":break;case"pubrel":this._storeAndSend(O,D,V);return;default:this._writePacket(O,D);return}switch(O.qos){case 2:case 1:this._storeAndSend(O,D,V);break;case 0:default:this._writePacket(O,D);break}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}_storePacket(O,D,V){this.log("_storePacket :: packet: %o",O),this.log("_storePacket :: cb? %s",!!D),V=V||this.noop;let re=O;if(re.cmd==="publish"){re=(0,u.default)(O);let X=this._removeTopicAliasAndRecoverTopicName(re);if(X)return D&&D(X)}let G=re.qos||0;G===0&&this.queueQoSZero||re.cmd!=="publish"?this.queue.push({packet:re,cb:D}):G>0?(D=this.outgoing[re.messageId]?this.outgoing[re.messageId].cb:null,this.outgoingStore.put(re,X=>{if(X)return D&&D(X);V()})):D&&D(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new E.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(O=!1){this.keepaliveManager&&this.options.keepalive&&(O||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let O=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&O.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let D=0;D{let V=this.outgoingStore.createStream(),re=()=>{V.destroy(),V=null,this._flushStoreProcessingQueue(),G()},G=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",re),V.on("error",L=>{G(),this._flushStoreProcessingQueue(),this.removeListener("close",re),this.emit("error",L)});let X=()=>{if(!V)return;let L=V.read(1),$;if(!L){V.once("readable",X);return}if(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[L.messageId]){X();return}!this.disconnecting&&!this.reconnectTimer?($=this.outgoing[L.messageId]?this.outgoing[L.messageId].cb:null,this.outgoing[L.messageId]={volatile:!1,cb(ae,fe){$&&$(ae,fe),X()}},this._packetIdsDuringStoreProcessing[L.messageId]=!0,this.messageIdProvider.register(L.messageId)?this._sendPacket(L,void 0,void 0,!0):this.log("messageId: %d has already used.",L.messageId)):V.destroy&&V.destroy()};V.on("end",()=>{let L=!0;for(let $ in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[$]){L=!1;break}this.removeListener("close",re),L?(G(),this._invokeAllStoreProcessingQueue(),this.emit("connect",O)):D()}),X()};D()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let O=this._storeProcessingQueue[0];if(O&&O.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let O of this._storeProcessingQueue)O.cbStorePut&&O.cbStorePut(new Error("Connection closed")),O.callback&&O.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(O,D){delete this.outgoing[O],this.outgoingStore.del({messageId:O},(V,re)=>{D(V,re),this.messageIdProvider.deallocate(O),this._invokeStoreProcessingQueue()})}};C.VERSION=_.MQTTJS_VERSION,e.default=C}),aR=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=E0(),r=class{constructor(){this.numberAllocator=new t.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(n){return this.numberAllocator.use(n)}deallocate(n){this.numberAllocator.free(n)}clear(){this.numberAllocator.clear()}};e.default=r});function Un(e){throw new RangeError(T0[e])}function hg(e,t){let r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]);let o=function(i,a){let s=[],l=i.length;for(;l--;)s[l]=a(i[l]);return s}((e=e.replace(A0,".")).split("."),t).join(".");return n+o}function dg(e){let t=[],r=0,n=e.length;for(;r=55296&&o<=56319&&r{be(),ve(),we(),pg=/^xn--/,gg=/[^\0-\x7E]/,A0=/[\x2E\u3002\uFF0E\uFF61]/g,T0={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},rr=Math.floor,Ls=String.fromCharCode,yu=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},_u=function(e,t,r){let n=0;for(e=r?rr(e/700):e>>1,e+=rr(e/t);e>455;n+=36)e=rr(e/35);return rr(n+36*e/(e+38))},bu=function(e){let t=[],r=e.length,n=0,o=128,i=72,a=e.lastIndexOf("-");a<0&&(a=0);for(let l=0;l=128&&Un("not-basic"),t.push(e.charCodeAt(l));for(let l=a>0?a+1:0;l=r&&Un("invalid-input");let g=(s=e.charCodeAt(l++))-48<10?s-22:s-65<26?s-65:s-97<26?s-97:36;(g>=36||g>rr((2147483647-n)/d))&&Un("overflow"),n+=g*d;let _=p<=i?1:p>=i+26?26:p-i;if(g<_)break;let b=36-_;d>rr(2147483647/b)&&Un("overflow"),d*=b}let c=t.length+1;i=_u(n-u,c,u==0),rr(n/c)>2147483647-o&&Un("overflow"),o+=rr(n/c),n%=c,t.splice(n++,0,o)}var s;return String.fromCodePoint(...t)},wu=function(e){let t=[],r=(e=dg(e)).length,n=128,o=0,i=72;for(let l of e)l<128&&t.push(Ls(l));let a=t.length,s=a;for(a&&t.push("-");s=n&&crr((2147483647-o)/u)&&Un("overflow"),o+=(l-n)*u,n=l;for(let c of e)if(c2147483647&&Un("overflow"),c==n){let d=o;for(let p=36;;p+=36){let g=p<=i?1:p>=i+26?26:p-i;if(dString.fromCodePoint(...e)},decode:bu,encode:wu,toASCII:function(e){return hg(e,function(t){return gg.test(t)?"xn--"+wu(t):t})},toUnicode:function(e){return hg(e,function(t){return pg.test(t)?bu(t.slice(4).toLowerCase()):t})}},hn.decode,hn.encode,hn.toASCII,hn.toUnicode,hn.ucs2,hn.version});function uR(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var mg,Ii,yg,gr,cR=pt(()=>{be(),ve(),we(),mg=function(e,t,r,n){t=t||"&",r=r||"=";var o={};if(typeof e!="string"||e.length===0)return o;var i=/\+/g;e=e.split(t);var a=1e3;n&&typeof n.maxKeys=="number"&&(a=n.maxKeys);var s=e.length;a>0&&s>a&&(s=a);for(var l=0;l=0?(u=g.substr(0,_),c=g.substr(_+1)):(u=g,c=""),d=decodeURIComponent(u),p=decodeURIComponent(c),uR(o,d)?Array.isArray(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o},Ii=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},yg=function(e,t,r,n){return t=t||"&",r=r||"=",e===null&&(e=void 0),typeof e=="object"?Object.keys(e).map(function(o){var i=encodeURIComponent(Ii(o))+r;return Array.isArray(e[o])?e[o].map(function(a){return i+encodeURIComponent(Ii(a))}).join(t):i+encodeURIComponent(Ii(e[o]))}).join(t):n?encodeURIComponent(Ii(n))+r+encodeURIComponent(Ii(e)):""},gr={},gr.decode=gr.parse=mg,gr.encode=gr.stringify=yg,gr.decode,gr.encode,gr.parse,gr.stringify});function Qf(){throw new Error("setTimeout has not been defined")}function Xf(){throw new Error("clearTimeout has not been defined")}function x0(e){if(Lr===setTimeout)return setTimeout(e,0);if((Lr===Qf||!Lr)&&setTimeout)return Lr=setTimeout,setTimeout(e,0);try{return Lr(e,0)}catch{try{return Lr.call(null,e,0)}catch{return Lr.call(this||ri,e,0)}}}function fR(){ni&&Qn&&(ni=!1,Qn.length?br=Qn.concat(br):Zo=-1,br.length&&I0())}function I0(){if(!ni){var e=x0(fR);ni=!0;for(var t=br.length;t;){for(Qn=br,br=[];++Zo{be(),ve(),we(),ri=typeof globalThis<"u"?globalThis:typeof self<"u"?self:oi,it=bg={},function(){try{Lr=typeof setTimeout=="function"?setTimeout:Qf}catch{Lr=Qf}try{Br=typeof clearTimeout=="function"?clearTimeout:Xf}catch{Br=Xf}}(),br=[],ni=!1,Zo=-1,it.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r1)for(var v=1;v{be(),ve(),we(),ca={},Jf=!1,Wn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:oi,Ze=dR(),Ze.platform="browser",Ze.addListener,Ze.argv,Ze.binding,Ze.browser,Ze.chdir,Ze.cwd,Ze.emit,Ze.env,Ze.listeners,Ze.nextTick,Ze.off,Ze.on,Ze.once,Ze.prependListener,Ze.prependOnceListener,Ze.removeAllListeners,Ze.removeListener,Ze.title,Ze.umask,Ze.version,Ze.versions});function pR(){if(Zf)return fa;Zf=!0;var e=Ze;function t(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}function r(i,a){for(var s="",l=0,u=-1,c=0,d,p=0;p<=i.length;++p){if(p2){var g=s.lastIndexOf("/");if(g!==s.length-1){g===-1?(s="",l=0):(s=s.slice(0,g),l=s.length-1-s.lastIndexOf("/")),u=p,c=0;continue}}else if(s.length===2||s.length===1){s="",l=0,u=p,c=0;continue}}a&&(s.length>0?s+="/..":s="..",l=2)}else s.length>0?s+="/"+i.slice(u+1,p):s=i.slice(u+1,p),l=p-u-1;u=p,c=0}else d===46&&c!==-1?++c:c=-1}return s}function n(i,a){var s=a.dir||a.root,l=a.base||(a.name||"")+(a.ext||"");return s?s===a.root?s+l:s+i+l:l}var o={resolve:function(){for(var i="",a=!1,s,l=arguments.length-1;l>=-1&&!a;l--){var u;l>=0?u=arguments[l]:(s===void 0&&(s=e.cwd()),u=s),t(u),u.length!==0&&(i=u+"/"+i,a=u.charCodeAt(0)===47)}return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(i){if(t(i),i.length===0)return".";var a=i.charCodeAt(0)===47,s=i.charCodeAt(i.length-1)===47;return i=r(i,!a),i.length===0&&!a&&(i="."),i.length>0&&s&&(i+="/"),a?"/"+i:i},isAbsolute:function(i){return t(i),i.length>0&&i.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var i,a=0;a0&&(i===void 0?i=s:i+="/"+s)}return i===void 0?".":o.normalize(i)},relative:function(i,a){if(t(i),t(a),i===a||(i=o.resolve(i),a=o.resolve(a),i===a))return"";for(var s=1;sg){if(a.charCodeAt(c+b)===47)return a.slice(c+b+1);if(b===0)return a.slice(c+b)}else u>g&&(i.charCodeAt(s+b)===47?_=b:b===0&&(_=0));break}var E=i.charCodeAt(s+b),v=a.charCodeAt(c+b);if(E!==v)break;E===47&&(_=b)}var S="";for(b=s+_+1;b<=l;++b)(b===l||i.charCodeAt(b)===47)&&(S.length===0?S+="..":S+="/..");return S.length>0?S+a.slice(c+_):(c+=_,a.charCodeAt(c)===47&&++c,a.slice(c))},_makeLong:function(i){return i},dirname:function(i){if(t(i),i.length===0)return".";for(var a=i.charCodeAt(0),s=a===47,l=-1,u=!0,c=i.length-1;c>=1;--c)if(a=i.charCodeAt(c),a===47){if(!u){l=c;break}}else u=!1;return l===-1?s?"/":".":s&&l===1?"//":i.slice(0,l)},basename:function(i,a){if(a!==void 0&&typeof a!="string")throw new TypeError('"ext" argument must be a string');t(i);var s=0,l=-1,u=!0,c;if(a!==void 0&&a.length>0&&a.length<=i.length){if(a.length===i.length&&a===i)return"";var d=a.length-1,p=-1;for(c=i.length-1;c>=0;--c){var g=i.charCodeAt(c);if(g===47){if(!u){s=c+1;break}}else p===-1&&(u=!1,p=c+1),d>=0&&(g===a.charCodeAt(d)?--d===-1&&(l=c):(d=-1,l=p))}return s===l?l=p:l===-1&&(l=i.length),i.slice(s,l)}else{for(c=i.length-1;c>=0;--c)if(i.charCodeAt(c)===47){if(!u){s=c+1;break}}else l===-1&&(u=!1,l=c+1);return l===-1?"":i.slice(s,l)}},extname:function(i){t(i);for(var a=-1,s=0,l=-1,u=!0,c=0,d=i.length-1;d>=0;--d){var p=i.charCodeAt(d);if(p===47){if(!u){s=d+1;break}continue}l===-1&&(u=!1,l=d+1),p===46?a===-1?a=d:c!==1&&(c=1):a!==-1&&(c=-1)}return a===-1||l===-1||c===0||c===1&&a===l-1&&a===s+1?"":i.slice(a,l)},format:function(i){if(i===null||typeof i!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof i);return n("/",i)},parse:function(i){t(i);var a={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return a;var s=i.charCodeAt(0),l=s===47,u;l?(a.root="/",u=1):u=0;for(var c=-1,d=0,p=-1,g=!0,_=i.length-1,b=0;_>=u;--_){if(s=i.charCodeAt(_),s===47){if(!g){d=_+1;break}continue}p===-1&&(g=!1,p=_+1),s===46?c===-1?c=_:b!==1&&(b=1):c!==-1&&(b=-1)}return c===-1||p===-1||b===0||b===1&&c===p-1&&c===d+1?p!==-1&&(d===0&&l?a.base=a.name=i.slice(1,p):a.base=a.name=i.slice(d,p)):(d===0&&l?(a.name=i.slice(1,c),a.base=i.slice(1,p)):(a.name=i.slice(d,c),a.base=i.slice(d,p)),a.ext=i.slice(c,p)),d>0?a.dir=i.slice(0,d-1):l&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};return o.posix=o,fa=o,fa}var fa,Zf,eh,gR=pt(()=>{be(),ve(),we(),C0(),fa={},Zf=!1,eh=pR()}),R0={};gi(R0,{URL:()=>Y0,Url:()=>W0,default:()=>qe,fileURLToPath:()=>O0,format:()=>H0,parse:()=>K0,pathToFileURL:()=>k0,resolve:()=>V0,resolveObject:()=>q0});function zt(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function Co(e,t,r){if(e&&ir.isObject(e)&&e instanceof zt)return e;var n=new zt;return n.parse(e,t,r),n}function mR(){if(th)return ha;th=!0;var e=rt;function t(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}function r(i,a){for(var s="",l=0,u=-1,c=0,d,p=0;p<=i.length;++p){if(p2){var g=s.lastIndexOf("/");if(g!==s.length-1){g===-1?(s="",l=0):(s=s.slice(0,g),l=s.length-1-s.lastIndexOf("/")),u=p,c=0;continue}}else if(s.length===2||s.length===1){s="",l=0,u=p,c=0;continue}}a&&(s.length>0?s+="/..":s="..",l=2)}else s.length>0?s+="/"+i.slice(u+1,p):s=i.slice(u+1,p),l=p-u-1;u=p,c=0}else d===46&&c!==-1?++c:c=-1}return s}function n(i,a){var s=a.dir||a.root,l=a.base||(a.name||"")+(a.ext||"");return s?s===a.root?s+l:s+i+l:l}var o={resolve:function(){for(var i="",a=!1,s,l=arguments.length-1;l>=-1&&!a;l--){var u;l>=0?u=arguments[l]:(s===void 0&&(s=e.cwd()),u=s),t(u),u.length!==0&&(i=u+"/"+i,a=u.charCodeAt(0)===47)}return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(i){if(t(i),i.length===0)return".";var a=i.charCodeAt(0)===47,s=i.charCodeAt(i.length-1)===47;return i=r(i,!a),i.length===0&&!a&&(i="."),i.length>0&&s&&(i+="/"),a?"/"+i:i},isAbsolute:function(i){return t(i),i.length>0&&i.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var i,a=0;a0&&(i===void 0?i=s:i+="/"+s)}return i===void 0?".":o.normalize(i)},relative:function(i,a){if(t(i),t(a),i===a||(i=o.resolve(i),a=o.resolve(a),i===a))return"";for(var s=1;sg){if(a.charCodeAt(c+b)===47)return a.slice(c+b+1);if(b===0)return a.slice(c+b)}else u>g&&(i.charCodeAt(s+b)===47?_=b:b===0&&(_=0));break}var E=i.charCodeAt(s+b),v=a.charCodeAt(c+b);if(E!==v)break;E===47&&(_=b)}var S="";for(b=s+_+1;b<=l;++b)(b===l||i.charCodeAt(b)===47)&&(S.length===0?S+="..":S+="/..");return S.length>0?S+a.slice(c+_):(c+=_,a.charCodeAt(c)===47&&++c,a.slice(c))},_makeLong:function(i){return i},dirname:function(i){if(t(i),i.length===0)return".";for(var a=i.charCodeAt(0),s=a===47,l=-1,u=!0,c=i.length-1;c>=1;--c)if(a=i.charCodeAt(c),a===47){if(!u){l=c;break}}else u=!1;return l===-1?s?"/":".":s&&l===1?"//":i.slice(0,l)},basename:function(i,a){if(a!==void 0&&typeof a!="string")throw new TypeError('"ext" argument must be a string');t(i);var s=0,l=-1,u=!0,c;if(a!==void 0&&a.length>0&&a.length<=i.length){if(a.length===i.length&&a===i)return"";var d=a.length-1,p=-1;for(c=i.length-1;c>=0;--c){var g=i.charCodeAt(c);if(g===47){if(!u){s=c+1;break}}else p===-1&&(u=!1,p=c+1),d>=0&&(g===a.charCodeAt(d)?--d===-1&&(l=c):(d=-1,l=p))}return s===l?l=p:l===-1&&(l=i.length),i.slice(s,l)}else{for(c=i.length-1;c>=0;--c)if(i.charCodeAt(c)===47){if(!u){s=c+1;break}}else l===-1&&(u=!1,l=c+1);return l===-1?"":i.slice(s,l)}},extname:function(i){t(i);for(var a=-1,s=0,l=-1,u=!0,c=0,d=i.length-1;d>=0;--d){var p=i.charCodeAt(d);if(p===47){if(!u){s=d+1;break}continue}l===-1&&(u=!1,l=d+1),p===46?a===-1?a=d:c!==1&&(c=1):a!==-1&&(c=-1)}return a===-1||l===-1||c===0||c===1&&a===l-1&&a===s+1?"":i.slice(a,l)},format:function(i){if(i===null||typeof i!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof i);return n("/",i)},parse:function(i){t(i);var a={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return a;var s=i.charCodeAt(0),l=s===47,u;l?(a.root="/",u=1):u=0;for(var c=-1,d=0,p=-1,g=!0,_=i.length-1,b=0;_>=u;--_){if(s=i.charCodeAt(_),s===47){if(!g){d=_+1;break}continue}p===-1&&(g=!1,p=_+1),s===46?c===-1?c=_:b!==1&&(b=1):c!==-1&&(b=-1)}return c===-1||p===-1||b===0||b===1&&c===p-1&&c===d+1?p!==-1&&(d===0&&l?a.base=a.name=i.slice(1,p):a.base=a.name=i.slice(d,p)):(d===0&&l?(a.name=i.slice(1,c),a.base=i.slice(1,p)):(a.name=i.slice(d,c),a.base=i.slice(d,p)),a.ext=i.slice(c,p)),d>0?a.dir=i.slice(0,d-1):l&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};return o.posix=o,ha=o,ha}function yR(e){if(typeof e=="string")e=new URL(e);else if(!(e instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(e.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return Da?_R(e):bR(e)}function _R(e){let t=e.hostname,r=e.pathname;for(let n=0;nL0||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function bR(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=e.pathname;for(let r=0;rX0||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function ER(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=e.pathname;for(let r=0;r{be(),ve(),we(),lR(),cR(),hR(),gR(),C0(),qe={},wg=hn,ir={isString:function(e){return typeof e=="string"},isObject:function(e){return typeof e=="object"&&e!==null},isNull:function(e){return e===null},isNullOrUndefined:function(e){return e==null}},qe.parse=Co,qe.resolve=function(e,t){return Co(e,!1,!0).resolve(t)},qe.resolveObject=function(e,t){return e?Co(e,!1,!0).resolveObject(t):t},qe.format=function(e){return ir.isString(e)&&(e=Co(e)),e instanceof zt?e.format():zt.prototype.format.call(e)},qe.Url=zt,vg=/^([a-z0-9.+-]+:)/i,Eg=/:[0-9]*$/,Sg=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Ag=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` -`," "]),Bs=["'"].concat(Ag),vu=["%","/","?",";","#"].concat(Bs),Eu=["/","?","#"],Su=/^[+a-z0-9A-Z_-]{0,63}$/,Tg=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,xg={javascript:!0,"javascript:":!0},Ds={javascript:!0,"javascript:":!0},Fn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Us=gr,zt.prototype.parse=function(e,t,r){if(!ir.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),o=n!==-1&&n127?C+="x":C+=w[R];if(!C.match(Su)){var D=v.slice(0,_),V=v.slice(_+1),re=w.match(Tg);re&&(D.push(re[1]),V.unshift(re[2])),V.length&&(a="/"+V.join(".")+a),this.hostname=D.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),E||(this.hostname=wg.toASCII(this.hostname));var G=this.port?":"+this.port:"",X=this.hostname||"";this.host=X+G,this.href+=this.host,E&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),a[0]!=="/"&&(a="/"+a))}if(!xg[u])for(_=0,S=Bs.length;_0)&&r.host.split("@"))&&(r.auth=re.shift(),r.host=r.hostname=re.shift())),r.search=e.search,r.query=e.query,ir.isNull(r.pathname)&&ir.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!w.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var R=w.slice(-1)[0],O=(r.host||e.host||w.length>1)&&(R==="."||R==="..")||R==="",D=0,V=w.length;V>=0;V--)(R=w[V])==="."?w.splice(V,1):R===".."?(w.splice(V,1),D++):D&&(w.splice(V,1),D--);if(!v&&!S)for(;D--;D)w.unshift("..");!v||w[0]===""||w[0]&&w[0].charAt(0)==="/"||w.unshift(""),O&&w.join("/").substr(-1)!=="/"&&w.push("");var re,G=w[0]===""||w[0]&&w[0].charAt(0)==="/";return C&&(r.hostname=r.host=G?"":w.length?w.shift():"",(re=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=re.shift(),r.host=r.hostname=re.shift())),(v=v||r.host&&w.length)&&!G&&w.unshift(""),w.length?r.pathname=w.join("/"):(r.pathname=null,r.path=null),ir.isNull(r.pathname)&&ir.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},zt.prototype.parseHost=function(){var e=this.host,t=Eg.exec(e);t&&((t=t[0])!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},qe.Url,qe.format,qe.resolve,qe.resolveObject,ha={},th=!1,rh=mR(),Ig=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,qe.URL=typeof URL<"u"?URL:null,qe.pathToFileURL=wR,qe.fileURLToPath=yR,qe.Url,qe.format,qe.resolve,qe.resolveObject,qe.URL,M0=92,N0=47,P0=97,L0=122,Da=Ig==="win32",B0=/\//g,D0=/%/g,U0=/\\/g,F0=/\n/g,$0=/\r/g,j0=/\t/g,Cg=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,qe.URL=typeof URL<"u"?URL:null,qe.pathToFileURL=k0,qe.fileURLToPath=O0,W0=qe.Url,H0=qe.format,V0=qe.resolve,q0=qe.resolveObject,K0=qe.parse,Y0=qe.URL,z0=92,G0=47,Q0=97,X0=122,Ua=Cg==="win32",J0=/\//g,Z0=/%/g,ew=/\\/g,tw=/\n/g,rw=/\r/g,nw=/\t/g}),AR=Ae((e,t)=>{be(),ve(),we(),t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),cd=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0}),e.BufferedDuplex=e.writev=void 0;var t=_i(),r=(mt(),ze(gt));function n(i,a){let s=new Array(i.length);for(let l=0;l{this.destroyed||this.push(l)})}_read(i){this.proxy.read(i)}_write(i,a,s){this.isSocketOpen?this.writeToProxy(i,a,s):this.writeQueue.push({chunk:i,encoding:a,cb:s})}_final(i){this.writeQueue=[],this.proxy.end(i)}_destroy(i,a){this.writeQueue=[],this.proxy.destroy(),a(i)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(i,a,s){this.proxy.write(i,a)===!1?this.proxy.once("drain",s):s()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:i,encoding:a,cb:s}=this.writeQueue.shift();this.writeToProxy(i,a,s)}}};e.BufferedDuplex=o}),Fs=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(v){return v&&v.__esModule?v:{default:v}};Object.defineProperty(e,"__esModule",{value:!0}),e.streamBuilder=e.browserStreamBuilder=void 0;var r=(mt(),ze(gt)),n=t(AR()),o=t(Qr()),i=_i(),a=t(Sl()),s=cd(),l=(0,o.default)("mqttjs:ws"),u=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function c(v,S){let w=`${v.protocol}://${v.hostname}:${v.port}${v.path}`;return typeof v.transformWsUrl=="function"&&(w=v.transformWsUrl(w,v,S)),w}function d(v){let S=v;return v.port||(v.protocol==="wss"?S.port=443:S.port=80),v.path||(S.path="/"),v.wsOptions||(S.wsOptions={}),!a.default&&!v.forceNativeWebSocket&&v.protocol==="wss"&&u.forEach(w=>{Object.prototype.hasOwnProperty.call(v,w)&&!Object.prototype.hasOwnProperty.call(v.wsOptions,w)&&(S.wsOptions[w]=v[w])}),S}function p(v){let S=d(v);if(S.hostname||(S.hostname=S.host),!S.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let w=new URL(document.URL);S.hostname=w.hostname,S.port||(S.port=Number(w.port))}return S.objectMode===void 0&&(S.objectMode=!(S.binary===!0||S.binary===void 0)),S}function g(v,S,w){l("createWebSocket"),l(`protocol: ${w.protocolId} ${w.protocolVersion}`);let C=w.protocolId==="MQIsdp"&&w.protocolVersion===3?"mqttv3.1":"mqtt";l(`creating new Websocket for url: ${S} and protocol: ${C}`);let R;return w.createWebsocket?R=w.createWebsocket(S,[C],w):R=new n.default(S,[C],w.wsOptions),R}function _(v,S){let w=S.protocolId==="MQIsdp"&&S.protocolVersion===3?"mqttv3.1":"mqtt",C=c(S,v),R;return S.createWebsocket?R=S.createWebsocket(C,[w],S):R=new WebSocket(C,[w]),R.binaryType="arraybuffer",R}var b=(v,S)=>{l("streamBuilder");let w=d(S);w.hostname=w.hostname||w.host||"localhost";let C=c(w,v),R=g(v,C,w),O=n.default.createWebSocketStream(R,w.wsOptions);return O.url=C,R.on("close",()=>{O.destroy()}),O};e.streamBuilder=b;var E=(v,S)=>{l("browserStreamBuilder");let w,C=p(S).browserBufferSize||1024*512,R=S.browserBufferTimeout||1e3,O=!S.objectMode,D=_(v,S),V=G(S,fe,de);S.objectMode||(V._writev=s.writev.bind(V)),V.on("close",()=>{D.close()});let re=typeof D.addEventListener<"u";D.readyState===D.OPEN?(w=V,w.socket=D):(w=new s.BufferedDuplex(S,V,D),re?D.addEventListener("open",X):D.onopen=X),re?(D.addEventListener("close",L),D.addEventListener("error",$),D.addEventListener("message",ae)):(D.onclose=L,D.onerror=$,D.onmessage=ae);function G(pe,z,ge){let Y=new i.Transform({objectMode:pe.objectMode});return Y._write=z,Y._flush=ge,Y}function X(){l("WebSocket onOpen"),w instanceof s.BufferedDuplex&&w.socketReady()}function L(pe){l("WebSocket onClose",pe),w.end(),w.destroy()}function $(pe){l("WebSocket onError",pe);let z=new Error("WebSocket error");z.event=pe,w.destroy(z)}async function ae(pe){let{data:z}=pe;z instanceof ArrayBuffer?z=r.Buffer.from(z):z instanceof Blob?z=r.Buffer.from(await new Response(z).arrayBuffer()):z=r.Buffer.from(z,"utf8"),V&&!V.destroyed&&V.push(z)}function fe(pe,z,ge){if(D.bufferedAmount>C){setTimeout(fe,R,pe,z,ge);return}O&&typeof pe=="string"&&(pe=r.Buffer.from(pe,"utf8"));try{D.send(pe)}catch(Y){return ge(Y)}ge()}function de(pe){D.close(),pe()}return w};e.browserStreamBuilder=E}),fd={};gi(fd,{Server:()=>et,Socket:()=>et,Stream:()=>et,_createServerHandle:()=>et,_normalizeArgs:()=>et,_setSimultaneousAccepts:()=>et,connect:()=>et,createConnection:()=>et,createServer:()=>et,default:()=>iw,isIP:()=>et,isIPv4:()=>et,isIPv6:()=>et});function et(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}var iw,ow=pt(()=>{be(),ve(),we(),iw={_createServerHandle:et,_normalizeArgs:et,_setSimultaneousAccepts:et,connect:et,createConnection:et,createServer:et,isIP:et,isIPv4:et,isIPv6:et,Server:et,Socket:et,Stream:et}}),Rg=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(e,"__esModule",{value:!0});var r=t((ow(),ze(fd))),n=t(Qr()),o=(0,n.default)("mqttjs:tcp"),i=(a,s)=>{s.port=s.port||1883,s.hostname=s.hostname||s.host||"localhost";let{port:l,path:u}=s,c=s.hostname;return o("port %d and host %s",l,c),r.default.createConnection({port:l,host:c,path:u})};e.default=i}),sw={};gi(sw,{default:()=>aw});var aw,TR=pt(()=>{be(),ve(),we(),aw={}}),Og=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(e,"__esModule",{value:!0});var r=t((TR(),ze(sw))),n=t((ow(),ze(fd))),o=t(Qr()),i=(0,o.default)("mqttjs:tls"),a=(s,l)=>{l.port=l.port||8883,l.host=l.hostname||l.host||"localhost",n.default.isIP(l.host)===0&&(l.servername=l.host),l.rejectUnauthorized=l.rejectUnauthorized!==!1,delete l.path,i("port %d host %s rejectUnauthorized %b",l.port,l.host,l.rejectUnauthorized);let u=r.default.connect(l);u.on("secureConnect",()=>{l.rejectUnauthorized&&!u.authorized?u.emit("error",new Error("TLS not authorized")):u.removeListener("error",c)});function c(d){l.rejectUnauthorized&&s.emit("error",d),u.end()}return u.on("error",c),u};e.default=a}),kg=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=(mt(),ze(gt)),r=_i(),n=cd(),o,i,a;function s(){let p=new r.Transform;return p._write=(g,_,b)=>{o.send({data:g.buffer,success(){b()},fail(E){b(new Error(E))}})},p._flush=g=>{o.close({success(){g()}})},p}function l(p){p.hostname||(p.hostname="localhost"),p.path||(p.path="/"),p.wsOptions||(p.wsOptions={})}function u(p,g){let _=p.protocol==="wxs"?"wss":"ws",b=`${_}://${p.hostname}${p.path}`;return p.port&&p.port!==80&&p.port!==443&&(b=`${_}://${p.hostname}:${p.port}${p.path}`),typeof p.transformWsUrl=="function"&&(b=p.transformWsUrl(b,p,g)),b}function c(){o.onOpen(()=>{a.socketReady()}),o.onMessage(p=>{let{data:g}=p;g instanceof ArrayBuffer?g=t.Buffer.from(g):g=t.Buffer.from(g,"utf8"),i.push(g)}),o.onClose(()=>{a.emit("close"),a.end(),a.destroy()}),o.onError(p=>{let g=new Error(p.errMsg);a.destroy(g)})}var d=(p,g)=>{if(g.hostname=g.hostname||g.host,!g.hostname)throw new Error("Could not determine host. Specify host manually.");let _=g.protocolId==="MQIsdp"&&g.protocolVersion===3?"mqttv3.1":"mqtt";l(g);let b=u(g,p);o=wx.connectSocket({url:b,protocols:[_]}),i=s(),a=new n.BufferedDuplex(g,i,o),a._destroy=(v,S)=>{o.close({success(){S&&S(v)}})};let E=a.destroy;return a.destroy=(v,S)=>(a.destroy=E,setTimeout(()=>{o.close({fail(){a._destroy(v,S)}})},0),a),c(),a};e.default=d}),Mg=Ae(e=>{be(),ve(),we(),Object.defineProperty(e,"__esModule",{value:!0});var t=(mt(),ze(gt)),r=_i(),n=cd(),o,i,a,s=!1;function l(){let g=new r.Transform;return g._write=(_,b,E)=>{o.sendSocketMessage({data:_.buffer,success(){E()},fail(){E(new Error)}})},g._flush=_=>{o.closeSocket({success(){_()}})},g}function u(g){g.hostname||(g.hostname="localhost"),g.path||(g.path="/"),g.wsOptions||(g.wsOptions={})}function c(g,_){let b=g.protocol==="alis"?"wss":"ws",E=`${b}://${g.hostname}${g.path}`;return g.port&&g.port!==80&&g.port!==443&&(E=`${b}://${g.hostname}:${g.port}${g.path}`),typeof g.transformWsUrl=="function"&&(E=g.transformWsUrl(E,g,_)),E}function d(){s||(s=!0,o.onSocketOpen(()=>{a.socketReady()}),o.onSocketMessage(g=>{if(typeof g.data=="string"){let _=t.Buffer.from(g.data,"base64");i.push(_)}else{let _=new FileReader;_.addEventListener("load",()=>{let b=_.result;b instanceof ArrayBuffer?b=t.Buffer.from(b):b=t.Buffer.from(b,"utf8"),i.push(b)}),_.readAsArrayBuffer(g.data)}}),o.onSocketClose(()=>{a.end(),a.destroy()}),o.onSocketError(g=>{a.destroy(g)}))}var p=(g,_)=>{if(_.hostname=_.hostname||_.host,!_.hostname)throw new Error("Could not determine host. Specify host manually.");let b=_.protocolId==="MQIsdp"&&_.protocolVersion===3?"mqttv3.1":"mqtt";u(_);let E=c(_,g);return o=_.my,o.connectSocket({url:E,protocols:b}),i=l(),a=new n.BufferedDuplex(_,i,o),d(),a};e.default=p}),xR=Ae(e=>{be(),ve(),we();var t=e&&e.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.connectAsync=void 0;var r=t(Qr()),n=t((SR(),ze(R0))),o=t(zf()),i=t(Sl());typeof(He==null?void 0:He.nextTick)!="function"&&(He.nextTick=setImmediate);var a=(0,r.default)("mqttjs"),s=null;function l(d){let p;d.auth&&(p=d.auth.match(/^(.+):(.+)$/),p?(d.username=p[1],d.password=p[2]):d.username=d.auth)}function u(d,p){var g,_,b,E;if(a("connecting to an MQTT broker..."),typeof d=="object"&&!p&&(p=d,d=""),p=p||{},d&&typeof d=="string"){let w=n.default.parse(d,!0),C={};if(w.port!=null&&(C.port=Number(w.port)),C.host=w.hostname,C.query=w.query,C.auth=w.auth,C.protocol=w.protocol,C.path=w.path,C.protocol=(g=C.protocol)===null||g===void 0?void 0:g.replace(/:$/,""),p=Object.assign(Object.assign({},C),p),!p.protocol)throw new Error("Missing protocol")}if(p.unixSocket=p.unixSocket||((_=p.protocol)===null||_===void 0?void 0:_.includes("+unix")),p.unixSocket?p.protocol=p.protocol.replace("+unix",""):!(!((b=p.protocol)===null||b===void 0)&&b.startsWith("ws"))&&!(!((E=p.protocol)===null||E===void 0)&&E.startsWith("wx"))&&delete p.path,l(p),p.query&&typeof p.query.clientId=="string"&&(p.clientId=p.query.clientId),p.cert&&p.key)if(p.protocol){if(["mqtts","wss","wxs","alis"].indexOf(p.protocol)===-1)switch(p.protocol){case"mqtt":p.protocol="mqtts";break;case"ws":p.protocol="wss";break;case"wx":p.protocol="wxs";break;case"ali":p.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${p.protocol}"!`)}}else throw new Error("Missing secure protocol key");if(s||(s={},!i.default&&!p.forceNativeWebSocket?(s.ws=Fs().streamBuilder,s.wss=Fs().streamBuilder,s.mqtt=Rg().default,s.tcp=Rg().default,s.ssl=Og().default,s.tls=s.ssl,s.mqtts=Og().default):(s.ws=Fs().browserStreamBuilder,s.wss=Fs().browserStreamBuilder,s.wx=kg().default,s.wxs=kg().default,s.ali=Mg().default,s.alis=Mg().default)),!s[p.protocol]){let w=["mqtts","wss"].indexOf(p.protocol)!==-1;p.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((C,R)=>w&&R%2===0?!1:typeof s[C]=="function")[0]}if(p.clean===!1&&!p.clientId)throw new Error("Missing clientId for unclean clients");p.protocol&&(p.defaultProtocol=p.protocol);function v(w){return p.servers&&((!w._reconnectCount||w._reconnectCount===p.servers.length)&&(w._reconnectCount=0),p.host=p.servers[w._reconnectCount].host,p.port=p.servers[w._reconnectCount].port,p.protocol=p.servers[w._reconnectCount].protocol?p.servers[w._reconnectCount].protocol:p.defaultProtocol,p.hostname=p.host,w._reconnectCount++),a("calling streambuilder for",p.protocol),s[p.protocol](w,p)}let S=new o.default(v,p);return S.on("error",()=>{}),S}function c(d,p,g=!0){return new Promise((_,b)=>{let E=u(d,p),v={connect:w=>{S(),_(E)},end:()=>{S(),_(E)},error:w=>{S(),E.end(),b(w)}};g===!1&&(v.close=()=>{v.error(new Error("Couldn't connect to server"))});function S(){Object.keys(v).forEach(w=>{E.off(w,v[w])})}Object.keys(v).forEach(w=>{E.on(w,v[w])})})}e.connectAsync=c,e.default=u}),Ng=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(g,_,b,E){E===void 0&&(E=b);var v=Object.getOwnPropertyDescriptor(_,b);(!v||("get"in v?!_.__esModule:v.writable||v.configurable))&&(v={enumerable:!0,get:function(){return _[b]}}),Object.defineProperty(g,E,v)}:function(g,_,b,E){E===void 0&&(E=b),g[E]=_[b]}),r=e&&e.__setModuleDefault||(Object.create?function(g,_){Object.defineProperty(g,"default",{enumerable:!0,value:_})}:function(g,_){g.default=_}),n=e&&e.__importStar||function(g){if(g&&g.__esModule)return g;var _={};if(g!=null)for(var b in g)b!=="default"&&Object.prototype.hasOwnProperty.call(g,b)&&t(_,g,b);return r(_,g),_},o=e&&e.__exportStar||function(g,_){for(var b in g)b!=="default"&&!Object.prototype.hasOwnProperty.call(_,b)&&t(_,g,b)},i=e&&e.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.ReasonCodes=e.KeepaliveManager=e.UniqueMessageIdProvider=e.DefaultMessageIdProvider=e.Store=e.MqttClient=e.connectAsync=e.connect=e.Client=void 0;var a=i(zf());e.MqttClient=a.default;var s=i(s0());e.DefaultMessageIdProvider=s.default;var l=i(aR());e.UniqueMessageIdProvider=l.default;var u=i(a0());e.Store=u.default;var c=n(xR());e.connect=c.default,Object.defineProperty(e,"connectAsync",{enumerable:!0,get:function(){return c.connectAsync}});var d=i(S0());e.KeepaliveManager=d.default,e.Client=a.default,o(zf(),e),o(go(),e);var p=El();Object.defineProperty(e,"ReasonCodes",{enumerable:!0,get:function(){return p.ReasonCodes}})}),IR=Ae(e=>{be(),ve(),we();var t=e&&e.__createBinding||(Object.create?function(a,s,l,u){u===void 0&&(u=l);var c=Object.getOwnPropertyDescriptor(s,l);(!c||("get"in c?!s.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return s[l]}}),Object.defineProperty(a,u,c)}:function(a,s,l,u){u===void 0&&(u=l),a[u]=s[l]}),r=e&&e.__setModuleDefault||(Object.create?function(a,s){Object.defineProperty(a,"default",{enumerable:!0,value:s})}:function(a,s){a.default=s}),n=e&&e.__importStar||function(a){if(a&&a.__esModule)return a;var s={};if(a!=null)for(var l in a)l!=="default"&&Object.prototype.hasOwnProperty.call(a,l)&&t(s,a,l);return r(s,a),s},o=e&&e.__exportStar||function(a,s){for(var l in a)l!=="default"&&!Object.prototype.hasOwnProperty.call(s,l)&&t(s,a,l)};Object.defineProperty(e,"__esModule",{value:!0});var i=n(Ng());e.default=i,o(Ng(),e)});const vL=IR();/*! Bundled license information: - -@jspm/core/nodelibs/browser/buffer.js: - (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) -*/var Ro={},Oo={exports:{}},da={exports:{}},Au={exports:{}},Tu={},ko={},Pg;function CR(){if(Pg)return ko;Pg=1,ko.byteLength=s,ko.toByteArray=u,ko.fromByteArray=p;for(var e=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,i=n.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var b=g.indexOf("=");b===-1&&(b=_);var E=b===_?0:4-b%4;return[b,E]}function s(g){var _=a(g),b=_[0],E=_[1];return(b+E)*3/4-E}function l(g,_,b){return(_+b)*3/4-b}function u(g){var _,b=a(g),E=b[0],v=b[1],S=new r(l(g,E,v)),w=0,C=v>0?E-4:E,R;for(R=0;R>16&255,S[w++]=_>>8&255,S[w++]=_&255;return v===2&&(_=t[g.charCodeAt(R)]<<2|t[g.charCodeAt(R+1)]>>4,S[w++]=_&255),v===1&&(_=t[g.charCodeAt(R)]<<10|t[g.charCodeAt(R+1)]<<4|t[g.charCodeAt(R+2)]>>2,S[w++]=_>>8&255,S[w++]=_&255),S}function c(g){return e[g>>18&63]+e[g>>12&63]+e[g>>6&63]+e[g&63]}function d(g,_,b){for(var E,v=[],S=_;SC?C:w+S));return E===1?(_=g[b-1],v.push(e[_>>2]+e[_<<4&63]+"==")):E===2&&(_=(g[b-2]<<8)+g[b-1],v.push(e[_>>10]+e[_>>4&63]+e[_<<2&63]+"=")),v.join("")}return ko}var $s={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */var Lg;function RR(){return Lg||(Lg=1,$s.read=function(e,t,r,n,o){var i,a,s=o*8-n-1,l=(1<>1,c=-7,d=r?o-1:0,p=r?-1:1,g=e[t+d];for(d+=p,i=g&(1<<-c)-1,g>>=-c,c+=s;c>0;i=i*256+e[t+d],d+=p,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=n;c>0;a=a*256+e[t+d],d+=p,c-=8);if(i===0)i=1-u;else{if(i===l)return a?NaN:(g?-1:1)*(1/0);a=a+Math.pow(2,n),i=i-u}return(g?-1:1)*a*Math.pow(2,i-n)},$s.write=function(e,t,r,n,o,i){var a,s,l,u=i*8-o-1,c=(1<>1,p=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:i-1,_=n?1:-1,b=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+d>=1?t+=p/l:t+=p*Math.pow(2,1-d),t*l>=2&&(a++,l/=2),a+d>=c?(s=0,a=c):a+d>=1?(s=(t*l-1)*Math.pow(2,o),a=a+d):(s=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[r+g]=s&255,g+=_,s/=256,o-=8);for(a=a<0;e[r+g]=a&255,g+=_,a/=256,u-=8);e[r+g-_]|=b*128}),$s}/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */var Bg;function Kt(){return Bg||(Bg=1,function(e){const t=CR(),r=RR(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=s,e.SlowBuffer=S,e.INSPECT_MAX_BYTES=50;const o=2147483647;e.kMaxLength=o,s.TYPED_ARRAY_SUPPORT=i(),!s.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{const h=new Uint8Array(1),f={foo:function(){return 42}};return Object.setPrototypeOf(f,Uint8Array.prototype),Object.setPrototypeOf(h,f),h.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function a(h){if(h>o)throw new RangeError('The value "'+h+'" is invalid for option "size"');const f=new Uint8Array(h);return Object.setPrototypeOf(f,s.prototype),f}function s(h,f,m){if(typeof h=="number"){if(typeof f=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return d(h)}return l(h,f,m)}s.poolSize=8192;function l(h,f,m){if(typeof h=="string")return p(h,f);if(ArrayBuffer.isView(h))return _(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(P(h,ArrayBuffer)||h&&P(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(P(h,SharedArrayBuffer)||h&&P(h.buffer,SharedArrayBuffer)))return b(h,f,m);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const x=h.valueOf&&h.valueOf();if(x!=null&&x!==h)return s.from(x,f,m);const H=E(h);if(H)return H;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return s.from(h[Symbol.toPrimitive]("string"),f,m);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}s.from=function(h,f,m){return l(h,f,m)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function u(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function c(h,f,m){return u(h),h<=0?a(h):f!==void 0?typeof m=="string"?a(h).fill(f,m):a(h).fill(f):a(h)}s.alloc=function(h,f,m){return c(h,f,m)};function d(h){return u(h),a(h<0?0:v(h)|0)}s.allocUnsafe=function(h){return d(h)},s.allocUnsafeSlow=function(h){return d(h)};function p(h,f){if((typeof f!="string"||f==="")&&(f="utf8"),!s.isEncoding(f))throw new TypeError("Unknown encoding: "+f);const m=w(h,f)|0;let x=a(m);const H=x.write(h,f);return H!==m&&(x=x.slice(0,H)),x}function g(h){const f=h.length<0?0:v(h.length)|0,m=a(f);for(let x=0;x=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return h|0}function S(h){return+h!=h&&(h=0),s.alloc(+h)}s.isBuffer=function(f){return f!=null&&f._isBuffer===!0&&f!==s.prototype},s.compare=function(f,m){if(P(f,Uint8Array)&&(f=s.from(f,f.offset,f.byteLength)),P(m,Uint8Array)&&(m=s.from(m,m.offset,m.byteLength)),!s.isBuffer(f)||!s.isBuffer(m))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(f===m)return 0;let x=f.length,H=m.length;for(let oe=0,_e=Math.min(x,H);oe<_e;++oe)if(f[oe]!==m[oe]){x=f[oe],H=m[oe];break}return xH.length?(s.isBuffer(_e)||(_e=s.from(_e)),_e.copy(H,oe)):Uint8Array.prototype.set.call(H,_e,oe);else if(s.isBuffer(_e))_e.copy(H,oe);else throw new TypeError('"list" argument must be an Array of Buffers');oe+=_e.length}return H};function w(h,f){if(s.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||P(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);const m=h.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&m===0)return 0;let H=!1;for(;;)switch(f){case"ascii":case"latin1":case"binary":return m;case"utf8":case"utf-8":return U(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m*2;case"hex":return m>>>1;case"base64":return F(h).length;default:if(H)return x?-1:U(h).length;f=(""+f).toLowerCase(),H=!0}}s.byteLength=w;function C(h,f,m){let x=!1;if((f===void 0||f<0)&&(f=0),f>this.length||((m===void 0||m>this.length)&&(m=this.length),m<=0)||(m>>>=0,f>>>=0,m<=f))return"";for(h||(h="utf8");;)switch(h){case"hex":return ge(this,f,m);case"utf8":case"utf-8":return ae(this,f,m);case"ascii":return pe(this,f,m);case"latin1":case"binary":return z(this,f,m);case"base64":return $(this,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,f,m);default:if(x)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),x=!0}}s.prototype._isBuffer=!0;function R(h,f,m){const x=h[f];h[f]=h[m],h[m]=x}s.prototype.swap16=function(){const f=this.length;if(f%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let m=0;mm&&(f+=" ... "),""},n&&(s.prototype[n]=s.prototype.inspect),s.prototype.compare=function(f,m,x,H,oe){if(P(f,Uint8Array)&&(f=s.from(f,f.offset,f.byteLength)),!s.isBuffer(f))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof f);if(m===void 0&&(m=0),x===void 0&&(x=f?f.length:0),H===void 0&&(H=0),oe===void 0&&(oe=this.length),m<0||x>f.length||H<0||oe>this.length)throw new RangeError("out of range index");if(H>=oe&&m>=x)return 0;if(H>=oe)return-1;if(m>=x)return 1;if(m>>>=0,x>>>=0,H>>>=0,oe>>>=0,this===f)return 0;let _e=oe-H,xe=x-m;const Re=Math.min(_e,xe),Te=this.slice(H,oe),ke=f.slice(m,x);for(let Oe=0;Oe2147483647?m=2147483647:m<-2147483648&&(m=-2147483648),m=+m,J(m)&&(m=H?0:h.length-1),m<0&&(m=h.length+m),m>=h.length){if(H)return-1;m=h.length-1}else if(m<0)if(H)m=0;else return-1;if(typeof f=="string"&&(f=s.from(f,x)),s.isBuffer(f))return f.length===0?-1:D(h,f,m,x,H);if(typeof f=="number")return f=f&255,typeof Uint8Array.prototype.indexOf=="function"?H?Uint8Array.prototype.indexOf.call(h,f,m):Uint8Array.prototype.lastIndexOf.call(h,f,m):D(h,[f],m,x,H);throw new TypeError("val must be string, number or Buffer")}function D(h,f,m,x,H){let oe=1,_e=h.length,xe=f.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(h.length<2||f.length<2)return-1;oe=2,_e/=2,xe/=2,m/=2}function Re(ke,Oe){return oe===1?ke[Oe]:ke.readUInt16BE(Oe*oe)}let Te;if(H){let ke=-1;for(Te=m;Te<_e;Te++)if(Re(h,Te)===Re(f,ke===-1?0:Te-ke)){if(ke===-1&&(ke=Te),Te-ke+1===xe)return ke*oe}else ke!==-1&&(Te-=Te-ke),ke=-1}else for(m+xe>_e&&(m=_e-xe),Te=m;Te>=0;Te--){let ke=!0;for(let Oe=0;OeH&&(x=H)):x=H;const oe=f.length;x>oe/2&&(x=oe/2);let _e;for(_e=0;_e>>0,isFinite(x)?(x=x>>>0,H===void 0&&(H="utf8")):(H=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const oe=this.length-m;if((x===void 0||x>oe)&&(x=oe),f.length>0&&(x<0||m<0)||m>this.length)throw new RangeError("Attempt to write outside buffer bounds");H||(H="utf8");let _e=!1;for(;;)switch(H){case"hex":return V(this,f,m,x);case"utf8":case"utf-8":return re(this,f,m,x);case"ascii":case"latin1":case"binary":return G(this,f,m,x);case"base64":return X(this,f,m,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,f,m,x);default:if(_e)throw new TypeError("Unknown encoding: "+H);H=(""+H).toLowerCase(),_e=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function $(h,f,m){return f===0&&m===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(f,m))}function ae(h,f,m){m=Math.min(h.length,m);const x=[];let H=f;for(;H239?4:oe>223?3:oe>191?2:1;if(H+xe<=m){let Re,Te,ke,Oe;switch(xe){case 1:oe<128&&(_e=oe);break;case 2:Re=h[H+1],(Re&192)===128&&(Oe=(oe&31)<<6|Re&63,Oe>127&&(_e=Oe));break;case 3:Re=h[H+1],Te=h[H+2],(Re&192)===128&&(Te&192)===128&&(Oe=(oe&15)<<12|(Re&63)<<6|Te&63,Oe>2047&&(Oe<55296||Oe>57343)&&(_e=Oe));break;case 4:Re=h[H+1],Te=h[H+2],ke=h[H+3],(Re&192)===128&&(Te&192)===128&&(ke&192)===128&&(Oe=(oe&15)<<18|(Re&63)<<12|(Te&63)<<6|ke&63,Oe>65535&&Oe<1114112&&(_e=Oe))}}_e===null?(_e=65533,xe=1):_e>65535&&(_e-=65536,x.push(_e>>>10&1023|55296),_e=56320|_e&1023),x.push(_e),H+=xe}return de(x)}const fe=4096;function de(h){const f=h.length;if(f<=fe)return String.fromCharCode.apply(String,h);let m="",x=0;for(;xx)&&(m=x);let H="";for(let oe=f;oex&&(f=x),m<0?(m+=x,m<0&&(m=0)):m>x&&(m=x),mm)throw new RangeError("Trying to access beyond buffer length")}s.prototype.readUintLE=s.prototype.readUIntLE=function(f,m,x){f=f>>>0,m=m>>>0,x||he(f,m,this.length);let H=this[f],oe=1,_e=0;for(;++_e>>0,m=m>>>0,x||he(f,m,this.length);let H=this[f+--m],oe=1;for(;m>0&&(oe*=256);)H+=this[f+--m]*oe;return H},s.prototype.readUint8=s.prototype.readUInt8=function(f,m){return f=f>>>0,m||he(f,1,this.length),this[f]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(f,m){return f=f>>>0,m||he(f,2,this.length),this[f]|this[f+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(f,m){return f=f>>>0,m||he(f,2,this.length),this[f]<<8|this[f+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(f,m){return f=f>>>0,m||he(f,4,this.length),(this[f]|this[f+1]<<8|this[f+2]<<16)+this[f+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(f,m){return f=f>>>0,m||he(f,4,this.length),this[f]*16777216+(this[f+1]<<16|this[f+2]<<8|this[f+3])},s.prototype.readBigUInt64LE=me(function(f){f=f>>>0,T(f,"offset");const m=this[f],x=this[f+7];(m===void 0||x===void 0)&&M(f,this.length-8);const H=m+this[++f]*2**8+this[++f]*2**16+this[++f]*2**24,oe=this[++f]+this[++f]*2**8+this[++f]*2**16+x*2**24;return BigInt(H)+(BigInt(oe)<>>0,T(f,"offset");const m=this[f],x=this[f+7];(m===void 0||x===void 0)&&M(f,this.length-8);const H=m*2**24+this[++f]*2**16+this[++f]*2**8+this[++f],oe=this[++f]*2**24+this[++f]*2**16+this[++f]*2**8+x;return(BigInt(H)<>>0,m=m>>>0,x||he(f,m,this.length);let H=this[f],oe=1,_e=0;for(;++_e=oe&&(H-=Math.pow(2,8*m)),H},s.prototype.readIntBE=function(f,m,x){f=f>>>0,m=m>>>0,x||he(f,m,this.length);let H=m,oe=1,_e=this[f+--H];for(;H>0&&(oe*=256);)_e+=this[f+--H]*oe;return oe*=128,_e>=oe&&(_e-=Math.pow(2,8*m)),_e},s.prototype.readInt8=function(f,m){return f=f>>>0,m||he(f,1,this.length),this[f]&128?(255-this[f]+1)*-1:this[f]},s.prototype.readInt16LE=function(f,m){f=f>>>0,m||he(f,2,this.length);const x=this[f]|this[f+1]<<8;return x&32768?x|4294901760:x},s.prototype.readInt16BE=function(f,m){f=f>>>0,m||he(f,2,this.length);const x=this[f+1]|this[f]<<8;return x&32768?x|4294901760:x},s.prototype.readInt32LE=function(f,m){return f=f>>>0,m||he(f,4,this.length),this[f]|this[f+1]<<8|this[f+2]<<16|this[f+3]<<24},s.prototype.readInt32BE=function(f,m){return f=f>>>0,m||he(f,4,this.length),this[f]<<24|this[f+1]<<16|this[f+2]<<8|this[f+3]},s.prototype.readBigInt64LE=me(function(f){f=f>>>0,T(f,"offset");const m=this[f],x=this[f+7];(m===void 0||x===void 0)&&M(f,this.length-8);const H=this[f+4]+this[f+5]*2**8+this[f+6]*2**16+(x<<24);return(BigInt(H)<>>0,T(f,"offset");const m=this[f],x=this[f+7];(m===void 0||x===void 0)&&M(f,this.length-8);const H=(m<<24)+this[++f]*2**16+this[++f]*2**8+this[++f];return(BigInt(H)<>>0,m||he(f,4,this.length),r.read(this,f,!0,23,4)},s.prototype.readFloatBE=function(f,m){return f=f>>>0,m||he(f,4,this.length),r.read(this,f,!1,23,4)},s.prototype.readDoubleLE=function(f,m){return f=f>>>0,m||he(f,8,this.length),r.read(this,f,!0,52,8)},s.prototype.readDoubleBE=function(f,m){return f=f>>>0,m||he(f,8,this.length),r.read(this,f,!1,52,8)};function N(h,f,m,x,H,oe){if(!s.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(f>H||fh.length)throw new RangeError("Index out of range")}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(f,m,x,H){if(f=+f,m=m>>>0,x=x>>>0,!H){const xe=Math.pow(2,8*x)-1;N(this,f,m,x,xe,0)}let oe=1,_e=0;for(this[m]=f&255;++_e>>0,x=x>>>0,!H){const xe=Math.pow(2,8*x)-1;N(this,f,m,x,xe,0)}let oe=x-1,_e=1;for(this[m+oe]=f&255;--oe>=0&&(_e*=256);)this[m+oe]=f/_e&255;return m+x},s.prototype.writeUint8=s.prototype.writeUInt8=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,1,255,0),this[m]=f&255,m+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,2,65535,0),this[m]=f&255,this[m+1]=f>>>8,m+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,2,65535,0),this[m]=f>>>8,this[m+1]=f&255,m+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,4,4294967295,0),this[m+3]=f>>>24,this[m+2]=f>>>16,this[m+1]=f>>>8,this[m]=f&255,m+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,4,4294967295,0),this[m]=f>>>24,this[m+1]=f>>>16,this[m+2]=f>>>8,this[m+3]=f&255,m+4};function ne(h,f,m,x,H){A(f,x,H,h,m,7);let oe=Number(f&BigInt(4294967295));h[m++]=oe,oe=oe>>8,h[m++]=oe,oe=oe>>8,h[m++]=oe,oe=oe>>8,h[m++]=oe;let _e=Number(f>>BigInt(32)&BigInt(4294967295));return h[m++]=_e,_e=_e>>8,h[m++]=_e,_e=_e>>8,h[m++]=_e,_e=_e>>8,h[m++]=_e,m}function ye(h,f,m,x,H){A(f,x,H,h,m,7);let oe=Number(f&BigInt(4294967295));h[m+7]=oe,oe=oe>>8,h[m+6]=oe,oe=oe>>8,h[m+5]=oe,oe=oe>>8,h[m+4]=oe;let _e=Number(f>>BigInt(32)&BigInt(4294967295));return h[m+3]=_e,_e=_e>>8,h[m+2]=_e,_e=_e>>8,h[m+1]=_e,_e=_e>>8,h[m]=_e,m+8}s.prototype.writeBigUInt64LE=me(function(f,m=0){return ne(this,f,m,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeBigUInt64BE=me(function(f,m=0){return ye(this,f,m,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeIntLE=function(f,m,x,H){if(f=+f,m=m>>>0,!H){const Re=Math.pow(2,8*x-1);N(this,f,m,x,Re-1,-Re)}let oe=0,_e=1,xe=0;for(this[m]=f&255;++oe>0)-xe&255;return m+x},s.prototype.writeIntBE=function(f,m,x,H){if(f=+f,m=m>>>0,!H){const Re=Math.pow(2,8*x-1);N(this,f,m,x,Re-1,-Re)}let oe=x-1,_e=1,xe=0;for(this[m+oe]=f&255;--oe>=0&&(_e*=256);)f<0&&xe===0&&this[m+oe+1]!==0&&(xe=1),this[m+oe]=(f/_e>>0)-xe&255;return m+x},s.prototype.writeInt8=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,1,127,-128),f<0&&(f=255+f+1),this[m]=f&255,m+1},s.prototype.writeInt16LE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,2,32767,-32768),this[m]=f&255,this[m+1]=f>>>8,m+2},s.prototype.writeInt16BE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,2,32767,-32768),this[m]=f>>>8,this[m+1]=f&255,m+2},s.prototype.writeInt32LE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,4,2147483647,-2147483648),this[m]=f&255,this[m+1]=f>>>8,this[m+2]=f>>>16,this[m+3]=f>>>24,m+4},s.prototype.writeInt32BE=function(f,m,x){return f=+f,m=m>>>0,x||N(this,f,m,4,2147483647,-2147483648),f<0&&(f=4294967295+f+1),this[m]=f>>>24,this[m+1]=f>>>16,this[m+2]=f>>>8,this[m+3]=f&255,m+4},s.prototype.writeBigInt64LE=me(function(f,m=0){return ne(this,f,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeBigInt64BE=me(function(f,m=0){return ye(this,f,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function se(h,f,m,x,H,oe){if(m+x>h.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("Index out of range")}function Q(h,f,m,x,H){return f=+f,m=m>>>0,H||se(h,f,m,4),r.write(h,f,m,x,23,4),m+4}s.prototype.writeFloatLE=function(f,m,x){return Q(this,f,m,!0,x)},s.prototype.writeFloatBE=function(f,m,x){return Q(this,f,m,!1,x)};function q(h,f,m,x,H){return f=+f,m=m>>>0,H||se(h,f,m,8),r.write(h,f,m,x,52,8),m+8}s.prototype.writeDoubleLE=function(f,m,x){return q(this,f,m,!0,x)},s.prototype.writeDoubleBE=function(f,m,x){return q(this,f,m,!1,x)},s.prototype.copy=function(f,m,x,H){if(!s.isBuffer(f))throw new TypeError("argument should be a Buffer");if(x||(x=0),!H&&H!==0&&(H=this.length),m>=f.length&&(m=f.length),m||(m=0),H>0&&H=this.length)throw new RangeError("Index out of range");if(H<0)throw new RangeError("sourceEnd out of bounds");H>this.length&&(H=this.length),f.length-m>>0,x=x===void 0?this.length:x>>>0,f||(f=0);let oe;if(typeof f=="number")for(oe=m;oe2**32?H=te(String(m)):typeof m=="bigint"&&(H=String(m),(m>BigInt(2)**BigInt(32)||m<-(BigInt(2)**BigInt(32)))&&(H=te(H)),H+="n"),x+=` It must be ${f}. Received ${H}`,x},RangeError);function te(h){let f="",m=h.length;const x=h[0]==="-"?1:0;for(;m>=x+4;m-=3)f=`_${h.slice(m-3,m)}${f}`;return`${h.slice(0,m)}${f}`}function ee(h,f,m){T(f,"offset"),(h[f]===void 0||h[f+m]===void 0)&&M(f,h.length-(m+1))}function A(h,f,m,x,H,oe){if(h>m||h= 0${_e} and < 2${_e} ** ${(oe+1)*8}${_e}`:xe=`>= -(2${_e} ** ${(oe+1)*8-1}${_e}) and < 2 ** ${(oe+1)*8-1}${_e}`,new k.ERR_OUT_OF_RANGE("value",xe,h)}ee(x,H,oe)}function T(h,f){if(typeof h!="number")throw new k.ERR_INVALID_ARG_TYPE(f,"number",h)}function M(h,f,m){throw Math.floor(h)!==h?(T(h,m),new k.ERR_OUT_OF_RANGE("offset","an integer",h)):f<0?new k.ERR_BUFFER_OUT_OF_BOUNDS:new k.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${f}`,h)}const I=/[^+/0-9A-Za-z-_]/g;function B(h){if(h=h.split("=")[0],h=h.trim().replace(I,""),h.length<2)return"";for(;h.length%4!==0;)h=h+"=";return h}function U(h,f){f=f||1/0;let m;const x=h.length;let H=null;const oe=[];for(let _e=0;_e55295&&m<57344){if(!H){if(m>56319){(f-=3)>-1&&oe.push(239,191,189);continue}else if(_e+1===x){(f-=3)>-1&&oe.push(239,191,189);continue}H=m;continue}if(m<56320){(f-=3)>-1&&oe.push(239,191,189),H=m;continue}m=(H-55296<<10|m-56320)+65536}else H&&(f-=3)>-1&&oe.push(239,191,189);if(H=null,m<128){if((f-=1)<0)break;oe.push(m)}else if(m<2048){if((f-=2)<0)break;oe.push(m>>6|192,m&63|128)}else if(m<65536){if((f-=3)<0)break;oe.push(m>>12|224,m>>6&63|128,m&63|128)}else if(m<1114112){if((f-=4)<0)break;oe.push(m>>18|240,m>>12&63|128,m>>6&63|128,m&63|128)}else throw new Error("Invalid code point")}return oe}function Z(h){const f=[];for(let m=0;m>8,H=m%256,oe.push(H),oe.push(x);return oe}function F(h){return t.toByteArray(B(h))}function K(h,f,m,x){let H;for(H=0;H=f.length||H>=h.length);++H)f[H+m]=h[H];return H}function P(h,f){return h instanceof f||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===f.name}function J(h){return h!==h}const le=function(){const h="0123456789abcdef",f=new Array(256);for(let m=0;m<16;++m){const x=m*16;for(let H=0;H<16;++H)f[x+H]=h[m]+h[H]}return f}();function me(h){return typeof BigInt>"u"?y:h}function y(){throw new Error("BigInt not supported")}}(Tu)),Tu}var xu,Dg;function nt(){if(Dg)return xu;Dg=1;class e extends Error{constructor(r){if(!Array.isArray(r))throw new TypeError(`Expected input to be an Array, got ${typeof r}`);let n="";for(let o=0;o=w+4;S-=3)v=`_${E.slice(S-3,S)}${v}`;return`${E.slice(0,S)}${v}`}function d(E,v,S){if(typeof v=="function")return u(v.length<=S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${v.length}).`),v(...S);const w=(v.match(/%[dfijoOs]/g)||[]).length;return u(w===S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${w}).`),S.length===0?v:e(v,...S)}function p(E,v,S){S||(S=Error);class w extends S{constructor(...R){super(d(E,v,R))}toString(){return`${this.name} [${E}]: ${this.message}`}}Object.defineProperties(w.prototype,{name:{value:S.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${E}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),w.prototype.code=E,w.prototype[o]=!0,l[E]=w}function g(E){const v=s+E.name;return Object.defineProperty(E,"name",{value:v}),E}function _(E,v){if(E&&v&&E!==v){if(Array.isArray(v.errors))return v.errors.push(E),v;const S=new n([v,E],v.message);return S.code=v.code,S}return E||v}class b extends Error{constructor(v="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new l.ERR_INVALID_ARG_TYPE("options","Object",S);super(v,S),this.code="ABORT_ERR",this.name="AbortError"}}return p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",(E,v,S)=>{u(typeof E=="string","'name' must be a string"),Array.isArray(v)||(v=[v]);let w="The ";E.endsWith(" argument")?w+=`${E} `:w+=`"${E}" ${E.includes(".")?"property":"argument"} `,w+="must be ";const C=[],R=[],O=[];for(const V of v)u(typeof V=="string","All expected entries have to be of type string"),i.includes(V)?C.push(V.toLowerCase()):a.test(V)?R.push(V):(u(V!=="object",'The value "object" should be written as "Object"'),O.push(V));if(R.length>0){const V=C.indexOf("object");V!==-1&&(C.splice(C,V,1),R.push("Object"))}if(C.length>0){switch(C.length){case 1:w+=`of type ${C[0]}`;break;case 2:w+=`one of type ${C[0]} or ${C[1]}`;break;default:{const V=C.pop();w+=`one of type ${C.join(", ")}, or ${V}`}}(R.length>0||O.length>0)&&(w+=" or ")}if(R.length>0){switch(R.length){case 1:w+=`an instance of ${R[0]}`;break;case 2:w+=`an instance of ${R[0]} or ${R[1]}`;break;default:{const V=R.pop();w+=`an instance of ${R.join(", ")}, or ${V}`}}O.length>0&&(w+=" or ")}switch(O.length){case 0:break;case 1:O[0].toLowerCase()!==O[0]&&(w+="an "),w+=`${O[0]}`;break;case 2:w+=`one of ${O[0]} or ${O[1]}`;break;default:{const V=O.pop();w+=`one of ${O.join(", ")}, or ${V}`}}if(S==null)w+=`. Received ${S}`;else if(typeof S=="function"&&S.name)w+=`. Received function ${S.name}`;else if(typeof S=="object"){var D;if((D=S.constructor)!==null&&D!==void 0&&D.name)w+=`. Received an instance of ${S.constructor.name}`;else{const V=t(S,{depth:-1});w+=`. Received ${V}`}}else{let V=t(S,{colors:!1});V.length>25&&(V=`${V.slice(0,25)}...`),w+=`. Received type ${typeof S} (${V})`}return w},TypeError),p("ERR_INVALID_ARG_VALUE",(E,v,S="is invalid")=>{let w=t(v);return w.length>128&&(w=w.slice(0,128)+"..."),`The ${E.includes(".")?"property":"argument"} '${E}' ${S}. Received ${w}`},TypeError),p("ERR_INVALID_RETURN_VALUE",(E,v,S)=>{var w;const C=S!=null&&(w=S.constructor)!==null&&w!==void 0&&w.name?`instance of ${S.constructor.name}`:`type ${typeof S}`;return`Expected ${E} to be returned from the "${v}" function but got ${C}.`},TypeError),p("ERR_MISSING_ARGS",(...E)=>{u(E.length>0,"At least one arg needs to be specified");let v;const S=E.length;switch(E=(Array.isArray(E)?E:[E]).map(w=>`"${w}"`).join(" or "),S){case 1:v+=`The ${E[0]} argument`;break;case 2:v+=`The ${E[0]} and ${E[1]} arguments`;break;default:{const w=E.pop();v+=`The ${E.join(", ")}, and ${w} arguments`}break}return`${v} must be specified`},TypeError),p("ERR_OUT_OF_RANGE",(E,v,S)=>{u(v,'Missing "range" argument');let w;if(Number.isInteger(S)&&Math.abs(S)>2**32)w=c(String(S));else if(typeof S=="bigint"){w=String(S);const C=BigInt(2)**BigInt(32);(S>C||S<-C)&&(w=c(w)),w+="n"}else w=t(S);return`The value of "${E}" is out of range. It must be ${v}. Received ${w}`},RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),Ru={AbortError:b,aggregateTwoErrors:g(_),hideStackFrames:g,codes:l},Ru}var Mo={exports:{}},$g;function ss(){if($g)return Mo.exports;$g=1;const{AbortController:e,AbortSignal:t}=typeof self<"u"?self:typeof window<"u"?window:void 0;return Mo.exports=e,Mo.exports.AbortSignal=t,Mo.exports.default=e,Mo.exports}var js={exports:{}},jg;function mo(){if(jg)return js.exports;jg=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(R,O,D){return Function.prototype.apply.call(R,O,D)},r;e&&typeof e.ownKeys=="function"?r=e.ownKeys:Object.getOwnPropertySymbols?r=function(R){return Object.getOwnPropertyNames(R).concat(Object.getOwnPropertySymbols(R))}:r=function(R){return Object.getOwnPropertyNames(R)};function n(C){console&&console.warn&&console.warn(C)}var o=Number.isNaN||function(R){return R!==R};function i(){i.init.call(this)}js.exports=i,js.exports.once=v,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function s(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(C){if(typeof C!="number"||C<0||o(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");a=C}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(R){if(typeof R!="number"||R<0||o(R))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+R+".");return this._maxListeners=R,this};function l(C){return C._maxListeners===void 0?i.defaultMaxListeners:C._maxListeners}i.prototype.getMaxListeners=function(){return l(this)},i.prototype.emit=function(R){for(var O=[],D=1;D0&&(G=O[0]),G instanceof Error)throw G;var X=new Error("Unhandled error."+(G?" ("+G.message+")":""));throw X.context=G,X}var L=re[R];if(L===void 0)return!1;if(typeof L=="function")t(L,this,O);else for(var $=L.length,ae=_(L,$),D=0;D<$;++D)t(ae[D],this,O);return!0};function u(C,R,O,D){var V,re,G;if(s(O),re=C._events,re===void 0?(re=C._events=Object.create(null),C._eventsCount=0):(re.newListener!==void 0&&(C.emit("newListener",R,O.listener?O.listener:O),re=C._events),G=re[R]),G===void 0)G=re[R]=O,++C._eventsCount;else if(typeof G=="function"?G=re[R]=D?[O,G]:[G,O]:D?G.unshift(O):G.push(O),V=l(C),V>0&&G.length>V&&!G.warned){G.warned=!0;var X=new Error("Possible EventEmitter memory leak detected. "+G.length+" "+String(R)+" listeners added. Use emitter.setMaxListeners() to increase limit");X.name="MaxListenersExceededWarning",X.emitter=C,X.type=R,X.count=G.length,n(X)}return C}i.prototype.addListener=function(R,O){return u(this,R,O,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(R,O){return u(this,R,O,!0)};function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(C,R,O){var D={fired:!1,wrapFn:void 0,target:C,type:R,listener:O},V=c.bind(D);return V.listener=O,D.wrapFn=V,V}i.prototype.once=function(R,O){return s(O),this.on(R,d(this,R,O)),this},i.prototype.prependOnceListener=function(R,O){return s(O),this.prependListener(R,d(this,R,O)),this},i.prototype.removeListener=function(R,O){var D,V,re,G,X;if(s(O),V=this._events,V===void 0)return this;if(D=V[R],D===void 0)return this;if(D===O||D.listener===O)--this._eventsCount===0?this._events=Object.create(null):(delete V[R],V.removeListener&&this.emit("removeListener",R,D.listener||O));else if(typeof D!="function"){for(re=-1,G=D.length-1;G>=0;G--)if(D[G]===O||D[G].listener===O){X=D[G].listener,re=G;break}if(re<0)return this;re===0?D.shift():b(D,re),D.length===1&&(V[R]=D[0]),V.removeListener!==void 0&&this.emit("removeListener",R,X||O)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(R){var O,D,V;if(D=this._events,D===void 0)return this;if(D.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):D[R]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete D[R]),this;if(arguments.length===0){var re=Object.keys(D),G;for(V=0;V=0;V--)this.removeListener(R,O[V]);return this};function p(C,R,O){var D=C._events;if(D===void 0)return[];var V=D[R];return V===void 0?[]:typeof V=="function"?O?[V.listener||V]:[V]:O?E(V):_(V,V.length)}i.prototype.listeners=function(R){return p(this,R,!0)},i.prototype.rawListeners=function(R){return p(this,R,!1)},i.listenerCount=function(C,R){return typeof C.listenerCount=="function"?C.listenerCount(R):g.call(C,R)},i.prototype.listenerCount=g;function g(C){var R=this._events;if(R!==void 0){var O=R[C];if(typeof O=="function")return 1;if(O!==void 0)return O.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function _(C,R){for(var O=new Array(R),D=0;D{if(b!==void 0&&(b===null||typeof b!="object"||!("aborted"in b)))throw new o(E,"AbortSignal",b)},_=(b,E)=>{if(typeof b!="function")throw new o(E,"Function",b)};e.exports={AggregateError:a,kEmptyObject:Object.freeze({}),once(b){let E=!1;return function(...v){E||(E=!0,b.apply(this,v))}},createDeferredPromise:function(){let b,E;return{promise:new Promise((S,w)=>{b=S,E=w}),resolve:b,reject:E}},promisify(b){return new Promise((E,v)=>{b((S,...w)=>S?v(S):E(...w))})},debuglog(){return function(){}},format:r,inspect:n,types:{isAsyncFunction(b){return b instanceof c},isArrayBufferView(b){return ArrayBuffer.isView(b)}},isBlob:p,deprecate(b,E){return b},addAbortListener:mo().addAbortListener||function(E,v){if(E===void 0)throw new o("signal","AbortSignal",E);g(E,"signal"),_(v,"listener");let S;return E.aborted?queueMicrotask(()=>v()):(E.addEventListener("abort",v,{__proto__:null,once:!0,[i]:!0}),S=()=>{E.removeEventListener("abort",v)}),{__proto__:null,[s](){var w;(w=S)===null||w===void 0||w()}}},AbortSignalAny:l.any||function(E){if(E.length===1)return E[0];const v=new u,S=()=>v.abort();return E.forEach(w=>{g(w,"signals"),w.addEventListener("abort",S,{once:!0})}),v.signal.addEventListener("abort",()=>{E.forEach(w=>w.removeEventListener("abort",S))},{once:!0}),v.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}(Iu)),Iu.exports}var Ws={},Ou,Hg;function bs(){if(Hg)return Ou;Hg=1;const{ArrayIsArray:e,ArrayPrototypeIncludes:t,ArrayPrototypeJoin:r,ArrayPrototypeMap:n,NumberIsInteger:o,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:s,NumberParseInt:l,ObjectPrototypeHasOwnProperty:u,RegExpPrototypeExec:c,String:d,StringPrototypeToUpperCase:p,StringPrototypeTrim:g}=nt(),{hideStackFrames:_,codes:{ERR_SOCKET_BAD_PORT:b,ERR_INVALID_ARG_TYPE:E,ERR_INVALID_ARG_VALUE:v,ERR_OUT_OF_RANGE:S,ERR_UNKNOWN_SIGNAL:w}}=Ot(),{normalizeEncoding:C}=Lt(),{isAsyncFunction:R,isArrayBufferView:O}=Lt().types,D={};function V(j){return j===(j|0)}function re(j){return j===j>>>0}const G=/^[0-7]+$/,X="must be a 32-bit unsigned integer or an octal string";function L(j,F,K){if(typeof j>"u"&&(j=K),typeof j=="string"){if(c(G,j)===null)throw new v(F,j,X);j=l(j,8)}return fe(j,F),j}const $=_((j,F,K=s,P=a)=>{if(typeof j!="number")throw new E(F,"number",j);if(!o(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),ae=_((j,F,K=-2147483648,P=2147483647)=>{if(typeof j!="number")throw new E(F,"number",j);if(!o(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),fe=_((j,F,K=!1)=>{if(typeof j!="number")throw new E(F,"number",j);if(!o(j))throw new S(F,"an integer",j);const P=K?1:0,J=4294967295;if(jJ)throw new S(F,`>= ${P} && <= ${J}`,j)});function de(j,F){if(typeof j!="string")throw new E(F,"string",j)}function pe(j,F,K=void 0,P){if(typeof j!="number")throw new E(F,"number",j);if(K!=null&&jP||(K!=null||P!=null)&&i(j))throw new S(F,`${K!=null?`>= ${K}`:""}${K!=null&&P!=null?" && ":""}${P!=null?`<= ${P}`:""}`,j)}const z=_((j,F,K)=>{if(!t(K,j)){const J="must be one of: "+r(n(K,le=>typeof le=="string"?`'${le}'`:d(le)),", ");throw new v(F,j,J)}});function ge(j,F){if(typeof j!="boolean")throw new E(F,"boolean",j)}function Y(j,F,K){return j==null||!u(j,F)?K:j[F]}const he=_((j,F,K=null)=>{const P=Y(K,"allowArray",!1),J=Y(K,"allowFunction",!1);if(!Y(K,"nullable",!1)&&j===null||!P&&e(j)||typeof j!="object"&&(!J||typeof j!="function"))throw new E(F,"Object",j)}),N=_((j,F)=>{if(j!=null&&typeof j!="object"&&typeof j!="function")throw new E(F,"a dictionary",j)}),ne=_((j,F,K=0)=>{if(!e(j))throw new E(F,"Array",j);if(j.length{if(!O(j))throw new E(F,["Buffer","TypedArray","DataView"],j)});function W(j,F){const K=C(F),P=j.length;if(K==="hex"&&P%2!==0)throw new v("encoding",F,`is invalid for data of length ${P}`)}function te(j,F="Port",K=!0){if(typeof j!="number"&&typeof j!="string"||typeof j=="string"&&g(j).length===0||+j!==+j>>>0||j>65535||j===0&&!K)throw new b(F,j,K);return j|0}const ee=_((j,F)=>{if(j!==void 0&&(j===null||typeof j!="object"||!("aborted"in j)))throw new E(F,"AbortSignal",j)}),A=_((j,F)=>{if(typeof j!="function")throw new E(F,"Function",j)}),T=_((j,F)=>{if(typeof j!="function"||R(j))throw new E(F,"Function",j)}),M=_((j,F)=>{if(j!==void 0)throw new E(F,"undefined",j)});function I(j,F,K){if(!t(K,j))throw new E(F,`('${r(K,"|")}')`,j)}const B=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function U(j,F){if(typeof j>"u"||!c(B,j))throw new v(F,j,'must be an array or string of format "; rel=preload; as=style"')}function Z(j){if(typeof j=="string")return U(j,"hints"),j;if(e(j)){const F=j.length;let K="";if(F===0)return K;for(let P=0;P; rel=preload; as=style"')}return Ou={isInt32:V,isUint32:re,parseFileMode:L,validateArray:ne,validateStringArray:ye,validateBooleanArray:se,validateAbortSignalArray:Q,validateBoolean:ge,validateBuffer:k,validateDictionary:N,validateEncoding:W,validateFunction:A,validateInt32:ae,validateInteger:$,validateNumber:pe,validateObject:he,validateOneOf:z,validatePlainFunction:T,validatePort:te,validateSignalName:q,validateString:de,validateUint32:fe,validateUndefined:M,validateUnion:I,validateAbortSignal:ee,validateLinkHeaderValue:Z},Ou}var Hs={exports:{}},ku={exports:{}},Vg;function bi(){if(Vg)return ku.exports;Vg=1;var e=ku.exports={},t,r;function n(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?t=setTimeout:t=n}catch{t=n}try{typeof clearTimeout=="function"?r=clearTimeout:r=o}catch{r=o}})();function i(b){if(t===setTimeout)return setTimeout(b,0);if((t===n||!t)&&setTimeout)return t=setTimeout,setTimeout(b,0);try{return t(b,0)}catch{try{return t.call(null,b,0)}catch{return t.call(this,b,0)}}}function a(b){if(r===clearTimeout)return clearTimeout(b);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(b);try{return r(b)}catch{try{return r.call(null,b)}catch{return r.call(this,b)}}}var s=[],l=!1,u,c=-1;function d(){!l||!u||(l=!1,u.length?s=u.concat(s):c=-1,s.length&&p())}function p(){if(!l){var b=i(d);l=!0;for(var E=s.length;E;){for(u=s,s=[];++c1)for(var v=1;v{};function fe(z,ge,Y){var he,N;if(arguments.length===2?(Y=ge,ge=i):ge==null?ge=i:u(ge,"options"),l(Y,"callback"),s(ge.signal,"options.signal"),Y=a(Y),v(z)||O(z))return de(z,ge,Y);if(!re(z))throw new n("stream",["ReadableStream","WritableStream","Stream"],z);const ne=(he=ge.readable)!==null&&he!==void 0?he:E(z),ye=(N=ge.writable)!==null&&N!==void 0?N:R(z),se=z._writableState,Q=z._readableState,q=()=>{z.writable||te()};let k=G(z)&&E(z)===ne&&R(z)===ye,W=D(z,!1);const te=()=>{W=!0,z.destroyed&&(k=!1),!(k&&(!z.readable||ne))&&(!ne||ee)&&Y.call(z)};let ee=S(z,!1);const A=()=>{ee=!0,z.destroyed&&(k=!1),!(k&&(!z.writable||ye))&&(!ye||W)&&Y.call(z)},T=j=>{Y.call(z,j)};let M=_(z);const I=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);if(ne&&!ee&&E(z,!0)&&!S(z,!1))return Y.call(z,new o);if(ye&&!W&&!D(z,!1))return Y.call(z,new o);Y.call(z)},B=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);Y.call(z)},U=()=>{z.req.on("finish",te)};$(z)?(z.on("complete",te),k||z.on("abort",I),z.req?U():z.on("request",U)):ye&&!se&&(z.on("end",q),z.on("close",q)),!k&&typeof z.aborted=="boolean"&&z.on("aborted",I),z.on("end",A),z.on("finish",te),ge.error!==!1&&z.on("error",T),z.on("close",I),M?e.nextTick(I):se!=null&&se.errorEmitted||Q!=null&&Q.errorEmitted?k||e.nextTick(B):(!ne&&(!k||b(z))&&(W||C(z)===!1)||!ye&&(!k||C(z))&&(ee||b(z)===!1)||Q&&z.req&&z.aborted)&&e.nextTick(B);const Z=()=>{Y=ae,z.removeListener("aborted",I),z.removeListener("complete",te),z.removeListener("abort",I),z.removeListener("request",U),z.req&&z.req.removeListener("finish",te),z.removeListener("end",q),z.removeListener("close",q),z.removeListener("finish",te),z.removeListener("end",A),z.removeListener("error",T),z.removeListener("close",I)};if(ge.signal&&!M){const j=()=>{const F=Y;Z(),F.call(z,new t(void 0,{cause:ge.signal.reason}))};if(ge.signal.aborted)e.nextTick(j);else{L=L||Lt().addAbortListener;const F=L(ge.signal,j),K=Y;Y=a((...P)=>{F[g](),K.apply(z,P)})}}return Z}function de(z,ge,Y){let he=!1,N=ae;if(ge.signal)if(N=()=>{he=!0,Y.call(z,new t(void 0,{cause:ge.signal.reason}))},ge.signal.aborted)e.nextTick(N);else{L=L||Lt().addAbortListener;const ye=L(ge.signal,N),se=Y;Y=a((...Q)=>{ye[g](),se.apply(z,Q)})}const ne=(...ye)=>{he||e.nextTick(()=>Y.apply(z,ye))};return p(z[X].promise,ne,ne),ae}function pe(z,ge){var Y;let he=!1;return ge===null&&(ge=i),(Y=ge)!==null&&Y!==void 0&&Y.cleanup&&(c(ge.cleanup,"cleanup"),he=ge.cleanup),new d((N,ne)=>{const ye=fe(z,ge,se=>{he&&ye(),se?ne(se):N()})})}return Hs.exports=fe,Hs.exports.finished=pe,Hs.exports}var Nu,Yg;function yo(){if(Yg)return Nu;Yg=1;const e=bi(),{aggregateTwoErrors:t,codes:{ERR_MULTIPLE_CALLBACK:r},AbortError:n}=Ot(),{Symbol:o}=nt(),{kIsDestroyed:i,isDestroyed:a,isFinished:s,isServerRequest:l}=an(),u=o("kDestroy"),c=o("kConstruct");function d(G,X,L){G&&(G.stack,X&&!X.errored&&(X.errored=G),L&&!L.errored&&(L.errored=G))}function p(G,X){const L=this._readableState,$=this._writableState,ae=$||L;return $!=null&&$.destroyed||L!=null&&L.destroyed?(typeof X=="function"&&X(),this):(d(G,$,L),$&&($.destroyed=!0),L&&(L.destroyed=!0),ae.constructed?g(this,G,X):this.once(u,function(fe){g(this,t(fe,G),X)}),this)}function g(G,X,L){let $=!1;function ae(fe){if($)return;$=!0;const de=G._readableState,pe=G._writableState;d(fe,pe,de),pe&&(pe.closed=!0),de&&(de.closed=!0),typeof L=="function"&&L(fe),fe?e.nextTick(_,G,fe):e.nextTick(b,G)}try{G._destroy(X||null,ae)}catch(fe){ae(fe)}}function _(G,X){E(G,X),b(G)}function b(G){const X=G._readableState,L=G._writableState;L&&(L.closeEmitted=!0),X&&(X.closeEmitted=!0),(L!=null&&L.emitClose||X!=null&&X.emitClose)&&G.emit("close")}function E(G,X){const L=G._readableState,$=G._writableState;$!=null&&$.errorEmitted||L!=null&&L.errorEmitted||($&&($.errorEmitted=!0),L&&(L.errorEmitted=!0),G.emit("error",X))}function v(){const G=this._readableState,X=this._writableState;G&&(G.constructed=!0,G.closed=!1,G.closeEmitted=!1,G.destroyed=!1,G.errored=null,G.errorEmitted=!1,G.reading=!1,G.ended=G.readable===!1,G.endEmitted=G.readable===!1),X&&(X.constructed=!0,X.destroyed=!1,X.closed=!1,X.closeEmitted=!1,X.errored=null,X.errorEmitted=!1,X.finalCalled=!1,X.prefinished=!1,X.ended=X.writable===!1,X.ending=X.writable===!1,X.finished=X.writable===!1)}function S(G,X,L){const $=G._readableState,ae=G._writableState;if(ae!=null&&ae.destroyed||$!=null&&$.destroyed)return this;$!=null&&$.autoDestroy||ae!=null&&ae.autoDestroy?G.destroy(X):X&&(X.stack,ae&&!ae.errored&&(ae.errored=X),$&&!$.errored&&($.errored=X),L?e.nextTick(E,G,X):E(G,X))}function w(G,X){if(typeof G._construct!="function")return;const L=G._readableState,$=G._writableState;L&&(L.constructed=!1),$&&($.constructed=!1),G.once(c,X),!(G.listenerCount(c)>1)&&e.nextTick(C,G)}function C(G){let X=!1;function L($){if(X){S(G,$??new r);return}X=!0;const ae=G._readableState,fe=G._writableState,de=fe||ae;ae&&(ae.constructed=!0),fe&&(fe.constructed=!0),de.destroyed?G.emit(u,$):$?S(G,$,!0):e.nextTick(R,G)}try{G._construct($=>{e.nextTick(L,$)})}catch($){e.nextTick(L,$)}}function R(G){G.emit(c)}function O(G){return(G==null?void 0:G.setHeader)&&typeof G.abort=="function"}function D(G){G.emit("close")}function V(G,X){G.emit("error",X),e.nextTick(D,G)}function re(G,X){!G||a(G)||(!X&&!s(G)&&(X=new n),l(G)?(G.socket=null,G.destroy(X)):O(G)?G.abort():O(G.req)?G.req.abort():typeof G.destroy=="function"?G.destroy(X):typeof G.close=="function"?G.close():X?e.nextTick(V,G,X):e.nextTick(D,G),G.destroyed||(G[i]=!0))}return Nu={construct:w,destroyer:re,destroy:p,undestroy:v,errorOrDestroy:S},Nu}var Pu,zg;function hd(){if(zg)return Pu;zg=1;const{ArrayIsArray:e,ObjectSetPrototypeOf:t}=nt(),{EventEmitter:r}=mo();function n(i){r.call(this,i)}t(n.prototype,r.prototype),t(n,r),n.prototype.pipe=function(i,a){const s=this;function l(b){i.writable&&i.write(b)===!1&&s.pause&&s.pause()}s.on("data",l);function u(){s.readable&&s.resume&&s.resume()}i.on("drain",u),!i._isStdio&&(!a||a.end!==!1)&&(s.on("end",d),s.on("close",p));let c=!1;function d(){c||(c=!0,i.end())}function p(){c||(c=!0,typeof i.destroy=="function"&&i.destroy())}function g(b){_(),r.listenerCount(this,"error")===0&&this.emit("error",b)}o(s,"error",g),o(i,"error",g);function _(){s.removeListener("data",l),i.removeListener("drain",u),s.removeListener("end",d),s.removeListener("close",p),s.removeListener("error",g),i.removeListener("error",g),s.removeListener("end",_),s.removeListener("close",_),i.removeListener("close",_)}return s.on("end",_),s.on("close",_),i.on("close",_),i.emit("pipe",s),i};function o(i,a,s){if(typeof i.prependListener=="function")return i.prependListener(a,s);!i._events||!i._events[a]?i.on(a,s):e(i._events[a])?i._events[a].unshift(s):i._events[a]=[s,i._events[a]]}return Pu={Stream:n,prependListener:o},Pu}var Lu={exports:{}},Gg;function Al(){return Gg||(Gg=1,function(e){const{SymbolDispose:t}=nt(),{AbortError:r,codes:n}=Ot(),{isNodeStream:o,isWebStream:i,kControllerErrorFunction:a}=an(),s=Rn(),{ERR_INVALID_ARG_TYPE:l}=n;let u;const c=(d,p)=>{if(typeof d!="object"||!("aborted"in d))throw new l(p,"AbortSignal",d)};e.exports.addAbortSignal=function(p,g){if(c(p,"signal"),!o(g)&&!i(g))throw new l("stream",["ReadableStream","WritableStream","Stream"],g);return e.exports.addAbortSignalNoValidate(p,g)},e.exports.addAbortSignalNoValidate=function(d,p){if(typeof d!="object"||!("aborted"in d))return p;const g=o(p)?()=>{p.destroy(new r(void 0,{cause:d.reason}))}:()=>{p[a](new r(void 0,{cause:d.reason}))};if(d.aborted)g();else{u=u||Lt().addAbortListener;const _=u(d,g);s(p,_[t])}return p}}(Lu)),Lu.exports}var Bu,Qg;function OR(){if(Qg)return Bu;Qg=1;const{StringPrototypeSlice:e,SymbolIterator:t,TypedArrayPrototypeSet:r,Uint8Array:n}=nt(),{Buffer:o}=Kt(),{inspect:i}=Lt();return Bu=class{constructor(){this.head=null,this.tail=null,this.length=0}push(s){const l={data:s,next:null};this.length>0?this.tail.next=l:this.head=l,this.tail=l,++this.length}unshift(s){const l={data:s,next:this.head};this.length===0&&(this.tail=l),this.head=l,++this.length}shift(){if(this.length===0)return;const s=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,s}clear(){this.head=this.tail=null,this.length=0}join(s){if(this.length===0)return"";let l=this.head,u=""+l.data;for(;(l=l.next)!==null;)u+=s+l.data;return u}concat(s){if(this.length===0)return o.alloc(0);const l=o.allocUnsafe(s>>>0);let u=this.head,c=0;for(;u;)r(l,u.data,c),c+=u.data.length,u=u.next;return l}consume(s,l){const u=this.head.data;if(sd.length)l+=d,s-=d.length;else{s===d.length?(l+=d,++c,u.next?this.head=u.next:this.head=this.tail=null):(l+=e(d,0,s),this.head=u,u.data=e(d,s));break}++c}while((u=u.next)!==null);return this.length-=c,l}_getBuffer(s){const l=o.allocUnsafe(s),u=s;let c=this.head,d=0;do{const p=c.data;if(s>p.length)r(l,p,u-s),s-=p.length;else{s===p.length?(r(l,p,u-s),++d,c.next?this.head=c.next:this.head=this.tail=null):(r(l,new n(p.buffer,p.byteOffset,s),u-s),this.head=c,c.data=p.slice(s));break}++d}while((c=c.next)!==null);return this.length-=d,l}[Symbol.for("nodejs.util.inspect.custom")](s,l){return i(this,{...l,depth:0,customInspect:!1})}},Bu}var Du,Xg;function Tl(){if(Xg)return Du;Xg=1;const{MathFloor:e,NumberIsInteger:t}=nt(),{validateInteger:r}=bs(),{ERR_INVALID_ARG_VALUE:n}=Ot().codes;let o=16*1024,i=16;function a(c,d,p){return c.highWaterMark!=null?c.highWaterMark:d?c[p]:null}function s(c){return c?i:o}function l(c,d){r(d,"value",0),c?i=d:o=d}function u(c,d,p,g){const _=a(d,g,p);if(_!=null){if(!t(_)||_<0){const b=g?`options.${p}`:"options.highWaterMark";throw new n(b,_)}return e(_)}return s(c.objectMode)}return Du={getHighWaterMark:u,getDefaultHighWaterMark:s,setDefaultHighWaterMark:l},Du}var Uu={},Vs={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Jg;function kR(){return Jg||(Jg=1,function(e,t){var r=Kt(),n=r.Buffer;function o(a,s){for(var l in a)s[l]=a[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=i);function i(a,s,l){return n(a,s,l)}i.prototype=Object.create(n.prototype),o(n,i),i.from=function(a,s,l){if(typeof a=="number")throw new TypeError("Argument must not be a number");return n(a,s,l)},i.alloc=function(a,s,l){if(typeof a!="number")throw new TypeError("Argument must be a number");var u=n(a);return s!==void 0?typeof l=="string"?u.fill(s,l):u.fill(s):u.fill(0),u},i.allocUnsafe=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return n(a)},i.allocUnsafeSlow=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(a)}}(Vs,Vs.exports)),Vs.exports}var Zg;function MR(){if(Zg)return Uu;Zg=1;var e=kR().Buffer,t=e.isEncoding||function(v){switch(v=""+v,v&&v.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(v){if(!v)return"utf8";for(var S;;)switch(v){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return v;default:if(S)return;v=(""+v).toLowerCase(),S=!0}}function n(v){var S=r(v);if(typeof S!="string"&&(e.isEncoding===t||!t(v)))throw new Error("Unknown encoding: "+v);return S||v}Uu.StringDecoder=o;function o(v){this.encoding=n(v);var S;switch(this.encoding){case"utf16le":this.text=d,this.end=p,S=4;break;case"utf8":this.fillLast=l,S=4;break;case"base64":this.text=g,this.end=_,S=3;break;default:this.write=b,this.end=E;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(S)}o.prototype.write=function(v){if(v.length===0)return"";var S,w;if(this.lastNeed){if(S=this.fillLast(v),S===void 0)return"";w=this.lastNeed,this.lastNeed=0}else w=0;return w>5===6?2:v>>4===14?3:v>>3===30?4:v>>6===2?-1:-2}function a(v,S,w){var C=S.length-1;if(C=0?(R>0&&(v.lastNeed=R-1),R):--C=0?(R>0&&(v.lastNeed=R-2),R):--C=0?(R>0&&(R===2?R=0:v.lastNeed=R-3),R):0))}function s(v,S,w){if((S[0]&192)!==128)return v.lastNeed=0,"�";if(v.lastNeed>1&&S.length>1){if((S[1]&192)!==128)return v.lastNeed=1,"�";if(v.lastNeed>2&&S.length>2&&(S[2]&192)!==128)return v.lastNeed=2,"�"}}function l(v){var S=this.lastTotal-this.lastNeed,w=s(this,v);if(w!==void 0)return w;if(this.lastNeed<=v.length)return v.copy(this.lastChar,S,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);v.copy(this.lastChar,S,0,v.length),this.lastNeed-=v.length}function u(v,S){var w=a(this,v,S);if(!this.lastNeed)return v.toString("utf8",S);this.lastTotal=w;var C=v.length-(w-this.lastNeed);return v.copy(this.lastChar,0,C),v.toString("utf8",S,C)}function c(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+"�":S}function d(v,S){if((v.length-S)%2===0){var w=v.toString("utf16le",S);if(w){var C=w.charCodeAt(w.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1],w.slice(0,-1)}return w}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=v[v.length-1],v.toString("utf16le",S,v.length-1)}function p(v){var S=v&&v.length?this.write(v):"";if(this.lastNeed){var w=this.lastTotal-this.lastNeed;return S+this.lastChar.toString("utf16le",0,w)}return S}function g(v,S){var w=(v.length-S)%3;return w===0?v.toString("base64",S):(this.lastNeed=3-w,this.lastTotal=3,w===1?this.lastChar[0]=v[v.length-1]:(this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1]),v.toString("base64",S,v.length-w))}function _(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+this.lastChar.toString("base64",0,3-this.lastNeed):S}function b(v){return v.toString(this.encoding)}function E(v){return v&&v.length?this.write(v):""}return Uu}var Fu,em;function uw(){if(em)return Fu;em=1;const e=bi(),{PromisePrototypeThen:t,SymbolAsyncIterator:r,SymbolIterator:n}=nt(),{Buffer:o}=Kt(),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=Ot().codes;function s(l,u,c){let d;if(typeof u=="string"||u instanceof o)return new l({objectMode:!0,...c,read(){this.push(u),this.push(null)}});let p;if(u&&u[r])p=!0,d=u[r]();else if(u&&u[n])p=!1,d=u[n]();else throw new i("iterable",["Iterable"],u);const g=new l({objectMode:!0,highWaterMark:1,...c});let _=!1;g._read=function(){_||(_=!0,E())},g._destroy=function(v,S){t(b(v),()=>e.nextTick(S,v),w=>e.nextTick(S,w||v))};async function b(v){const S=v!=null,w=typeof d.throw=="function";if(S&&w){const{value:C,done:R}=await d.throw(v);if(await C,R)return}if(typeof d.return=="function"){const{value:C}=await d.return();await C}}async function E(){for(;;){try{const{value:v,done:S}=p?await d.next():d.next();if(S)g.push(null);else{const w=v&&typeof v.then=="function"?await v:v;if(w===null)throw _=!1,new a;if(g.push(w))continue;_=!1}}catch(v){g.destroy(v)}break}}return g}return Fu=s,Fu}var $u,tm;function xl(){if(tm)return $u;tm=1;const e=bi(),{ArrayPrototypeIndexOf:t,NumberIsInteger:r,NumberIsNaN:n,NumberParseInt:o,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:s,Promise:l,SafeSet:u,SymbolAsyncDispose:c,SymbolAsyncIterator:d,Symbol:p}=nt();$u=P,P.ReadableState=K;const{EventEmitter:g}=mo(),{Stream:_,prependListener:b}=hd(),{Buffer:E}=Kt(),{addAbortSignal:v}=Al(),S=Rn();let w=Lt().debuglog("stream",ie=>{w=ie});const C=OR(),R=yo(),{getHighWaterMark:O,getDefaultHighWaterMark:D}=Tl(),{aggregateTwoErrors:V,codes:{ERR_INVALID_ARG_TYPE:re,ERR_METHOD_NOT_IMPLEMENTED:G,ERR_OUT_OF_RANGE:X,ERR_STREAM_PUSH_AFTER_EOF:L,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:$},AbortError:ae}=Ot(),{validateObject:fe}=bs(),de=p("kPaused"),{StringDecoder:pe}=MR(),z=uw();s(P.prototype,_.prototype),s(P,_);const ge=()=>{},{errorOrDestroy:Y}=R,he=1,N=2,ne=4,ye=8,se=16,Q=32,q=64,k=128,W=256,te=512,ee=1024,A=2048,T=4096,M=8192,I=16384,B=32768,U=65536,Z=1<<17,j=1<<18;function F(ie){return{enumerable:!1,get(){return(this.state&ie)!==0},set(ue){ue?this.state|=ie:this.state&=~ie}}}i(K.prototype,{objectMode:F(he),ended:F(N),endEmitted:F(ne),reading:F(ye),constructed:F(se),sync:F(Q),needReadable:F(q),emittedReadable:F(k),readableListening:F(W),resumeScheduled:F(te),errorEmitted:F(ee),emitClose:F(A),autoDestroy:F(T),destroyed:F(M),closed:F(I),closeEmitted:F(B),multiAwaitDrain:F(U),readingMore:F(Z),dataEmitted:F(j)});function K(ie,ue,Ie){typeof Ie!="boolean"&&(Ie=ue instanceof Xr()),this.state=A|T|se|Q,ie&&ie.objectMode&&(this.state|=he),Ie&&ie&&ie.readableObjectMode&&(this.state|=he),this.highWaterMark=ie?O(this,ie,"readableHighWaterMark",Ie):D(!1),this.buffer=new C,this.length=0,this.pipes=[],this.flowing=null,this[de]=null,ie&&ie.emitClose===!1&&(this.state&=-2049),ie&&ie.autoDestroy===!1&&(this.state&=-4097),this.errored=null,this.defaultEncoding=ie&&ie.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,ie&&ie.encoding&&(this.decoder=new pe(ie.encoding),this.encoding=ie.encoding)}function P(ie){if(!(this instanceof P))return new P(ie);const ue=this instanceof Xr();this._readableState=new K(ie,this,ue),ie&&(typeof ie.read=="function"&&(this._read=ie.read),typeof ie.destroy=="function"&&(this._destroy=ie.destroy),typeof ie.construct=="function"&&(this._construct=ie.construct),ie.signal&&!ue&&v(ie.signal,this)),_.call(this,ie),R.construct(this,()=>{this._readableState.needReadable&&H(this,this._readableState)})}P.prototype.destroy=R.destroy,P.prototype._undestroy=R.undestroy,P.prototype._destroy=function(ie,ue){ue(ie)},P.prototype[g.captureRejectionSymbol]=function(ie){this.destroy(ie)},P.prototype[c]=function(){let ie;return this.destroyed||(ie=this.readableEnded?null:new ae,this.destroy(ie)),new l((ue,Ie)=>S(this,Ce=>Ce&&Ce!==ie?Ie(Ce):ue(null)))},P.prototype.push=function(ie,ue){return J(this,ie,ue,!1)},P.prototype.unshift=function(ie,ue){return J(this,ie,ue,!0)};function J(ie,ue,Ie,Ce){w("readableAddChunk",ue);const Me=ie._readableState;let yt;if(Me.state&he||(typeof ue=="string"?(Ie=Ie||Me.defaultEncoding,Me.encoding!==Ie&&(Ce&&Me.encoding?ue=E.from(ue,Ie).toString(Me.encoding):(ue=E.from(ue,Ie),Ie=""))):ue instanceof E?Ie="":_._isUint8Array(ue)?(ue=_._uint8ArrayToBuffer(ue),Ie=""):ue!=null&&(yt=new re("chunk",["string","Buffer","Uint8Array"],ue))),yt)Y(ie,yt);else if(ue===null)Me.state&=-9,f(ie,Me);else if(Me.state&he||ue&&ue.length>0)if(Ce)if(Me.state&ne)Y(ie,new $);else{if(Me.destroyed||Me.errored)return!1;le(ie,Me,ue,!0)}else if(Me.ended)Y(ie,new L);else{if(Me.destroyed||Me.errored)return!1;Me.state&=-9,Me.decoder&&!Ie?(ue=Me.decoder.write(ue),Me.objectMode||ue.length!==0?le(ie,Me,ue,!1):H(ie,Me)):le(ie,Me,ue,!1)}else Ce||(Me.state&=-9,H(ie,Me));return!Me.ended&&(Me.length0?(ue.state&U?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null,ue.dataEmitted=!0,ie.emit("data",Ie)):(ue.length+=ue.objectMode?1:Ie.length,Ce?ue.buffer.unshift(Ie):ue.buffer.push(Ie),ue.state&q&&m(ie)),H(ie,ue)}P.prototype.isPaused=function(){const ie=this._readableState;return ie[de]===!0||ie.flowing===!1},P.prototype.setEncoding=function(ie){const ue=new pe(ie);this._readableState.decoder=ue,this._readableState.encoding=this._readableState.decoder.encoding;const Ie=this._readableState.buffer;let Ce="";for(const Me of Ie)Ce+=ue.write(Me);return Ie.clear(),Ce!==""&&Ie.push(Ce),this._readableState.length=Ce.length,this};const me=1073741824;function y(ie){if(ie>me)throw new X("size","<= 1GiB",ie);return ie--,ie|=ie>>>1,ie|=ie>>>2,ie|=ie>>>4,ie|=ie>>>8,ie|=ie>>>16,ie++,ie}function h(ie,ue){return ie<=0||ue.length===0&&ue.ended?0:ue.state&he?1:n(ie)?ue.flowing&&ue.length?ue.buffer.first().length:ue.length:ie<=ue.length?ie:ue.ended?ue.length:0}P.prototype.read=function(ie){w("read",ie),ie===void 0?ie=NaN:r(ie)||(ie=o(ie,10));const ue=this._readableState,Ie=ie;if(ie>ue.highWaterMark&&(ue.highWaterMark=y(ie)),ie!==0&&(ue.state&=-129),ie===0&&ue.needReadable&&((ue.highWaterMark!==0?ue.length>=ue.highWaterMark:ue.length>0)||ue.ended))return w("read: emitReadable",ue.length,ue.ended),ue.length===0&&ue.ended?ot(this):m(this),null;if(ie=h(ie,ue),ie===0&&ue.ended)return ue.length===0&&ot(this),null;let Ce=(ue.state&q)!==0;if(w("need readable",Ce),(ue.length===0||ue.length-ie0?Me=Xe(ie,ue):Me=null,Me===null?(ue.needReadable=ue.length<=ue.highWaterMark,ie=0):(ue.length-=ie,ue.multiAwaitDrain?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null),ue.length===0&&(ue.ended||(ue.needReadable=!0),Ie!==ie&&ue.ended&&ot(this)),Me!==null&&!ue.errorEmitted&&!ue.closeEmitted&&(ue.dataEmitted=!0,this.emit("data",Me)),Me};function f(ie,ue){if(w("onEofChunk"),!ue.ended){if(ue.decoder){const Ie=ue.decoder.end();Ie&&Ie.length&&(ue.buffer.push(Ie),ue.length+=ue.objectMode?1:Ie.length)}ue.ended=!0,ue.sync?m(ie):(ue.needReadable=!1,ue.emittedReadable=!0,x(ie))}}function m(ie){const ue=ie._readableState;w("emitReadable",ue.needReadable,ue.emittedReadable),ue.needReadable=!1,ue.emittedReadable||(w("emitReadable",ue.flowing),ue.emittedReadable=!0,e.nextTick(x,ie))}function x(ie){const ue=ie._readableState;w("emitReadable_",ue.destroyed,ue.length,ue.ended),!ue.destroyed&&!ue.errored&&(ue.length||ue.ended)&&(ie.emit("readable"),ue.emittedReadable=!1),ue.needReadable=!ue.flowing&&!ue.ended&&ue.length<=ue.highWaterMark,Oe(ie)}function H(ie,ue){!ue.readingMore&&ue.constructed&&(ue.readingMore=!0,e.nextTick(oe,ie,ue))}function oe(ie,ue){for(;!ue.reading&&!ue.ended&&(ue.length1&&Ce.pipes.includes(ie)&&(w("false write response, pause",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.add(ie)),Ie.pause()),On||(On=_e(Ie,ie),ie.on("drain",On))}Ie.on("data",Pd);function Pd(kn){w("ondata");const Cr=ie.write(kn);w("dest.write",Cr),Cr===!1&&Nd()}function Pl(kn){if(w("onerror",kn),bo(),ie.removeListener("error",Pl),ie.listenerCount("error")===0){const Cr=ie._writableState||ie._readableState;Cr&&!Cr.errorEmitted?Y(ie,kn):ie.emit("error",kn)}}b(ie,"error",Pl);function Ll(){ie.removeListener("finish",Bl),bo()}ie.once("close",Ll);function Bl(){w("onfinish"),ie.removeListener("close",Ll),bo()}ie.once("finish",Bl);function bo(){w("unpipe"),Ie.unpipe(ie)}return ie.emit("pipe",Ie),ie.writableNeedDrain===!0?Nd():Ce.flowing||(w("pipe resume"),Ie.resume()),ie};function _e(ie,ue){return function(){const Ce=ie._readableState;Ce.awaitDrainWriters===ue?(w("pipeOnDrain",1),Ce.awaitDrainWriters=null):Ce.multiAwaitDrain&&(w("pipeOnDrain",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.delete(ue)),(!Ce.awaitDrainWriters||Ce.awaitDrainWriters.size===0)&&ie.listenerCount("data")&&ie.resume()}}P.prototype.unpipe=function(ie){const ue=this._readableState,Ie={hasUnpiped:!1};if(ue.pipes.length===0)return this;if(!ie){const Me=ue.pipes;ue.pipes=[],this.pause();for(let yt=0;yt0,Ce.flowing!==!1&&this.resume()):ie==="readable"&&!Ce.endEmitted&&!Ce.readableListening&&(Ce.readableListening=Ce.needReadable=!0,Ce.flowing=!1,Ce.emittedReadable=!1,w("on readable",Ce.length,Ce.reading),Ce.length?m(this):Ce.reading||e.nextTick(Re,this)),Ie},P.prototype.addListener=P.prototype.on,P.prototype.removeListener=function(ie,ue){const Ie=_.prototype.removeListener.call(this,ie,ue);return ie==="readable"&&e.nextTick(xe,this),Ie},P.prototype.off=P.prototype.removeListener,P.prototype.removeAllListeners=function(ie){const ue=_.prototype.removeAllListeners.apply(this,arguments);return(ie==="readable"||ie===void 0)&&e.nextTick(xe,this),ue};function xe(ie){const ue=ie._readableState;ue.readableListening=ie.listenerCount("readable")>0,ue.resumeScheduled&&ue[de]===!1?ue.flowing=!0:ie.listenerCount("data")>0?ie.resume():ue.readableListening||(ue.flowing=null)}function Re(ie){w("readable nexttick read 0"),ie.read(0)}P.prototype.resume=function(){const ie=this._readableState;return ie.flowing||(w("resume"),ie.flowing=!ie.readableListening,Te(this,ie)),ie[de]=!1,this};function Te(ie,ue){ue.resumeScheduled||(ue.resumeScheduled=!0,e.nextTick(ke,ie,ue))}function ke(ie,ue){w("resume",ue.reading),ue.reading||ie.read(0),ue.resumeScheduled=!1,ie.emit("resume"),Oe(ie),ue.flowing&&!ue.reading&&ie.read(0)}P.prototype.pause=function(){return w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(w("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[de]=!0,this};function Oe(ie){const ue=ie._readableState;for(w("flow",ue.flowing);ue.flowing&&ie.read()!==null;);}P.prototype.wrap=function(ie){let ue=!1;ie.on("data",Ce=>{!this.push(Ce)&&ie.pause&&(ue=!0,ie.pause())}),ie.on("end",()=>{this.push(null)}),ie.on("error",Ce=>{Y(this,Ce)}),ie.on("close",()=>{this.destroy()}),ie.on("destroy",()=>{this.destroy()}),this._read=()=>{ue&&ie.resume&&(ue=!1,ie.resume())};const Ie=a(ie);for(let Ce=1;Ce{Me=Yt?V(Me,Yt):null,Ie(),Ie=ge});try{for(;;){const Yt=ie.destroyed?null:ie.read();if(Yt!==null)yield Yt;else{if(Me)throw Me;if(Me===null)return;await new l(Ce)}}}catch(Yt){throw Me=V(Me,Yt),Me}finally{(Me||(ue==null?void 0:ue.destroyOnReturn)!==!1)&&(Me===void 0||ie._readableState.autoDestroy)?R.destroyer(ie,null):(ie.off("readable",Ce),yt())}}i(P.prototype,{readable:{__proto__:null,get(){const ie=this._readableState;return!!ie&&ie.readable!==!1&&!ie.destroyed&&!ie.errorEmitted&&!ie.endEmitted},set(ie){this._readableState&&(this._readableState.readable=!!ie)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(ie){this._readableState&&(this._readableState.flowing=ie)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(ie){this._readableState&&(this._readableState.destroyed=ie)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),i(K.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[de]!==!1},set(ie){this[de]=!!ie}}}),P._fromList=Xe;function Xe(ie,ue){if(ue.length===0)return null;let Ie;return ue.objectMode?Ie=ue.buffer.shift():!ie||ie>=ue.length?(ue.decoder?Ie=ue.buffer.join(""):ue.buffer.length===1?Ie=ue.buffer.first():Ie=ue.buffer.concat(ue.length),ue.buffer.clear()):Ie=ue.buffer.consume(ie,ue.decoder),Ie}function ot(ie){const ue=ie._readableState;w("endReadable",ue.endEmitted),ue.endEmitted||(ue.ended=!0,e.nextTick(dt,ue,ie))}function dt(ie,ue){if(w("endReadableNT",ie.endEmitted,ie.length),!ie.errored&&!ie.closeEmitted&&!ie.endEmitted&&ie.length===0){if(ie.endEmitted=!0,ue.emit("end"),ue.writable&&ue.allowHalfOpen===!1)e.nextTick(at,ue);else if(ie.autoDestroy){const Ie=ue._writableState;(!Ie||Ie.autoDestroy&&(Ie.finished||Ie.writable===!1))&&ue.destroy()}}}function at(ie){ie.writable&&!ie.writableEnded&&!ie.destroyed&&ie.end()}P.from=function(ie,ue){return z(P,ie,ue)};let Si;function _o(){return Si===void 0&&(Si={}),Si}return P.fromWeb=function(ie,ue){return _o().newStreamReadableFromReadableStream(ie,ue)},P.toWeb=function(ie,ue){return _o().newReadableStreamFromStreamReadable(ie,ue)},P.wrap=function(ie,ue){var Ie,Ce;return new P({objectMode:(Ie=(Ce=ie.readableObjectMode)!==null&&Ce!==void 0?Ce:ie.objectMode)!==null&&Ie!==void 0?Ie:!0,...ue,destroy(Me,yt){R.destroyer(ie,Me),yt(Me)}}).wrap(ie)},$u}var ju,rm;function dd(){if(rm)return ju;rm=1;const e=bi(),{ArrayPrototypeSlice:t,Error:r,FunctionPrototypeSymbolHasInstance:n,ObjectDefineProperty:o,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:s,Symbol:l,SymbolHasInstance:u}=nt();ju=fe,fe.WritableState=$;const{EventEmitter:c}=mo(),d=hd().Stream,{Buffer:p}=Kt(),g=yo(),{addAbortSignal:_}=Al(),{getHighWaterMark:b,getDefaultHighWaterMark:E}=Tl(),{ERR_INVALID_ARG_TYPE:v,ERR_METHOD_NOT_IMPLEMENTED:S,ERR_MULTIPLE_CALLBACK:w,ERR_STREAM_CANNOT_PIPE:C,ERR_STREAM_DESTROYED:R,ERR_STREAM_ALREADY_FINISHED:O,ERR_STREAM_NULL_VALUES:D,ERR_STREAM_WRITE_AFTER_END:V,ERR_UNKNOWN_ENCODING:re}=Ot().codes,{errorOrDestroy:G}=g;a(fe.prototype,d.prototype),a(fe,d);function X(){}const L=l("kOnFinished");function $(T,M,I){typeof I!="boolean"&&(I=M instanceof Xr()),this.objectMode=!!(T&&T.objectMode),I&&(this.objectMode=this.objectMode||!!(T&&T.writableObjectMode)),this.highWaterMark=T?b(this,T,"writableHighWaterMark",I):E(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const B=!!(T&&T.decodeStrings===!1);this.decodeStrings=!B,this.defaultEncoding=T&&T.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=Y.bind(void 0,M),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,ae(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!T||T.emitClose!==!1,this.autoDestroy=!T||T.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[L]=[]}function ae(T){T.buffered=[],T.bufferedIndex=0,T.allBuffers=!0,T.allNoop=!0}$.prototype.getBuffer=function(){return t(this.buffered,this.bufferedIndex)},o($.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function fe(T){const M=this instanceof Xr();if(!M&&!n(fe,this))return new fe(T);this._writableState=new $(T,this,M),T&&(typeof T.write=="function"&&(this._write=T.write),typeof T.writev=="function"&&(this._writev=T.writev),typeof T.destroy=="function"&&(this._destroy=T.destroy),typeof T.final=="function"&&(this._final=T.final),typeof T.construct=="function"&&(this._construct=T.construct),T.signal&&_(T.signal,this)),d.call(this,T),g.construct(this,()=>{const I=this._writableState;I.writing||ye(this,I),k(this,I)})}o(fe,u,{__proto__:null,value:function(T){return n(this,T)?!0:this!==fe?!1:T&&T._writableState instanceof $}}),fe.prototype.pipe=function(){G(this,new C)};function de(T,M,I,B){const U=T._writableState;if(typeof I=="function")B=I,I=U.defaultEncoding;else{if(!I)I=U.defaultEncoding;else if(I!=="buffer"&&!p.isEncoding(I))throw new re(I);typeof B!="function"&&(B=X)}if(M===null)throw new D;if(!U.objectMode)if(typeof M=="string")U.decodeStrings!==!1&&(M=p.from(M,I),I="buffer");else if(M instanceof p)I="buffer";else if(d._isUint8Array(M))M=d._uint8ArrayToBuffer(M),I="buffer";else throw new v("chunk",["string","Buffer","Uint8Array"],M);let Z;return U.ending?Z=new V:U.destroyed&&(Z=new R("write")),Z?(e.nextTick(B,Z),G(T,Z,!0),Z):(U.pendingcb++,pe(T,U,M,I,B))}fe.prototype.write=function(T,M,I){return de(this,T,M,I)===!0},fe.prototype.cork=function(){this._writableState.corked++},fe.prototype.uncork=function(){const T=this._writableState;T.corked&&(T.corked--,T.writing||ye(this,T))},fe.prototype.setDefaultEncoding=function(M){if(typeof M=="string"&&(M=s(M)),!p.isEncoding(M))throw new re(M);return this._writableState.defaultEncoding=M,this};function pe(T,M,I,B,U){const Z=M.objectMode?1:I.length;M.length+=Z;const j=M.lengthI.bufferedIndex&&ye(T,I),B?I.afterWriteTickInfo!==null&&I.afterWriteTickInfo.cb===U?I.afterWriteTickInfo.count++:(I.afterWriteTickInfo={count:1,cb:U,stream:T,state:I},e.nextTick(he,I.afterWriteTickInfo)):N(T,I,1,U))}function he({stream:T,state:M,count:I,cb:B}){return M.afterWriteTickInfo=null,N(T,M,I,B)}function N(T,M,I,B){for(!M.ending&&!T.destroyed&&M.length===0&&M.needDrain&&(M.needDrain=!1,T.emit("drain"));I-- >0;)M.pendingcb--,B();M.destroyed&&ne(M),k(T,M)}function ne(T){if(T.writing)return;for(let U=T.bufferedIndex;U1&&T._writev){M.pendingcb-=Z-1;const F=M.allNoop?X:P=>{for(let J=j;J256?(I.splice(0,j),M.bufferedIndex=0):M.bufferedIndex=j}M.bufferProcessing=!1}fe.prototype._write=function(T,M,I){if(this._writev)this._writev([{chunk:T,encoding:M}],I);else throw new S("_write()")},fe.prototype._writev=null,fe.prototype.end=function(T,M,I){const B=this._writableState;typeof T=="function"?(I=T,T=null,M=null):typeof M=="function"&&(I=M,M=null);let U;if(T!=null){const Z=de(this,T,M);Z instanceof r&&(U=Z)}return B.corked&&(B.corked=1,this.uncork()),U||(!B.errored&&!B.ending?(B.ending=!0,k(this,B,!0),B.ended=!0):B.finished?U=new O("end"):B.destroyed&&(U=new R("end"))),typeof I=="function"&&(U||B.finished?e.nextTick(I,U):B[L].push(I)),this};function se(T){return T.ending&&!T.destroyed&&T.constructed&&T.length===0&&!T.errored&&T.buffered.length===0&&!T.finished&&!T.writing&&!T.errorEmitted&&!T.closeEmitted}function Q(T,M){let I=!1;function B(U){if(I){G(T,U??w());return}if(I=!0,M.pendingcb--,U){const Z=M[L].splice(0);for(let j=0;j{se(U)?W(B,U):U.pendingcb--},T,M)):se(M)&&(M.pendingcb++,W(T,M))))}function W(T,M){M.pendingcb--,M.finished=!0;const I=M[L].splice(0);for(let B=0;B{if(ne!=null)throw new _("nully","body",ne)},ne=>{b(he,ne)});return he=new re({objectMode:!0,readable:!1,write:pe,final(ne){z(async()=>{try{await N,e.nextTick(ne,null)}catch(ye){e.nextTick(ne,ye)}})},destroy:ge})}throw new _("Iterable, AsyncIterable or AsyncFunction",ae,de)}if(O($))return L($.arrayBuffer());if(o($))return C(re,$,{objectMode:!0,writable:!1});if(u($==null?void 0:$.readable)&&c($==null?void 0:$.writable))return re.fromWeb($);if(typeof($==null?void 0:$.writable)=="object"||typeof($==null?void 0:$.readable)=="object"){const de=$!=null&&$.readable?a($==null?void 0:$.readable)?$==null?void 0:$.readable:L($.readable):void 0,pe=$!=null&&$.writable?s($==null?void 0:$.writable)?$==null?void 0:$.writable:L($.writable):void 0;return X({readable:de,writable:pe})}const fe=$==null?void 0:$.then;if(typeof fe=="function"){let de;return V(fe,$,pe=>{pe!=null&&de.push(pe),de.push(null)},pe=>{b(de,pe)}),de=new re({objectMode:!0,writable:!1,read(){}})}throw new g(ae,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],$)};function G(L){let{promise:$,resolve:ae}=w();const fe=new D,de=fe.signal;return{value:L(async function*(){for(;;){const z=$;$=null;const{chunk:ge,done:Y,cb:he}=await z;if(e.nextTick(he),Y)return;if(de.aborted)throw new p(void 0,{cause:de.reason});({promise:$,resolve:ae}=w()),yield ge}}(),{signal:de}),write(z,ge,Y){const he=ae;ae=null,he({chunk:z,done:!1,cb:Y})},final(z){const ge=ae;ae=null,ge({done:!0,cb:z})},destroy(z,ge){fe.abort(),ge(z)}}}function X(L){const $=L.readable&&typeof L.readable.read!="function"?v.wrap(L.readable):L.readable,ae=L.writable;let fe=!!r($),de=!!n(ae),pe,z,ge,Y,he;function N(ne){const ye=Y;Y=null,ye?ye(ne):ne&&he.destroy(ne)}return he=new re({readableObjectMode:!!($!=null&&$.readableObjectMode),writableObjectMode:!!(ae!=null&&ae.writableObjectMode),readable:fe,writable:de}),de&&(d(ae,ne=>{de=!1,ne&&b($,ne),N(ne)}),he._write=function(ne,ye,se){ae.write(ne,ye)?se():pe=se},he._final=function(ne){ae.end(),z=ne},ae.on("drain",function(){if(pe){const ne=pe;pe=null,ne()}}),ae.on("finish",function(){if(z){const ne=z;z=null,ne()}})),fe&&(d($,ne=>{fe=!1,ne&&b($,ne),N(ne)}),$.on("readable",function(){if(ge){const ne=ge;ge=null,ne()}}),$.on("end",function(){he.push(null)}),he._read=function(){for(;;){const ne=$.read();if(ne===null){ge=he._read;return}if(!he.push(ne))return}}),he._destroy=function(ne,ye){!ne&&Y!==null&&(ne=new p),ge=null,pe=null,z=null,Y===null?ye(ne):(Y=ye,b(ae,ne),b($,ne))},he}return Wu}var Hu,im;function Xr(){if(im)return Hu;im=1;const{ObjectDefineProperties:e,ObjectGetOwnPropertyDescriptor:t,ObjectKeys:r,ObjectSetPrototypeOf:n}=nt();Hu=a;const o=xl(),i=dd();n(a.prototype,o.prototype),n(a,o);{const c=r(i.prototype);for(let d=0;d{if(c){u?u(c):this.destroy(c);return}d!=null&&this.push(d),this.push(null),u&&u()}):(this.push(null),u&&u())}function l(){this._final!==s&&s.call(this)}return a.prototype._final=s,a.prototype._transform=function(u,c,d){throw new r("_transform()")},a.prototype._write=function(u,c,d){const p=this._readableState,g=this._writableState,_=p.length;this._transform(u,c,(b,E)=>{if(b){d(b);return}E!=null&&this.push(E),g.ended||_===p.length||p.length{Q=!0});const q=i(ne,{readable:ye,writable:se},k=>{Q=!k});return{destroy:k=>{Q||(Q=!0,s.destroyer(ne,k||new g("pipe")))},cleanup:q}}function fe(ne){return E(ne[ne.length-1],"streams[stream.length - 1]"),ne.pop()}function de(ne){if(S(ne))return ne;if(C(ne))return pe(ne);throw new c("val",["Readable","Iterable","AsyncIterable"],ne)}async function*pe(ne){L||(L=xl()),yield*L.prototype[n].call(ne)}async function z(ne,ye,se,{end:Q}){let q,k=null;const W=A=>{if(A&&(q=A),k){const T=k;k=null,T()}},te=()=>new r((A,T)=>{q?T(q):k=()=>{q?T(q):A()}});ye.on("drain",W);const ee=i(ye,{readable:!1},W);try{ye.writableNeedDrain&&await te();for await(const A of ne)ye.write(A)||await te();Q&&(ye.end(),await te()),se()}catch(A){se(q!==A?u(q,A):A)}finally{ee(),ye.off("drain",W)}}async function ge(ne,ye,se,{end:Q}){O(ye)&&(ye=ye.writable);const q=ye.getWriter();try{for await(const k of ne)await q.ready,q.write(k).catch(()=>{});await q.ready,Q&&await q.close(),se()}catch(k){try{await q.abort(k),se(k)}catch(W){se(W)}}}function Y(...ne){return he(ne,a(fe(ne)))}function he(ne,ye,se){if(ne.length===1&&t(ne[0])&&(ne=ne[0]),ne.length<2)throw new p("streams");const Q=new G,q=Q.signal,k=se==null?void 0:se.signal,W=[];v(k,"options.signal");function te(){U(new b)}$=$||Lt().addAbortListener;let ee;k&&(ee=$(k,te));let A,T;const M=[];let I=0;function B(K){U(K,--I===0)}function U(K,P){var J;if(K&&(!A||A.code==="ERR_STREAM_PREMATURE_CLOSE")&&(A=K),!(!A&&!P)){for(;M.length;)M.shift()(A);(J=ee)===null||J===void 0||J[o](),Q.abort(),P&&(A||W.forEach(le=>le()),e.nextTick(ye,A,T))}}let Z;for(let K=0;K0,me=J||(se==null?void 0:se.end)!==!1,y=K===ne.length-1;if(R(P)){let h=function(f){f&&f.name!=="AbortError"&&f.code!=="ERR_STREAM_PREMATURE_CLOSE"&&B(f)};if(me){const{destroy:f,cleanup:m}=ae(P,J,le);M.push(f),w(P)&&y&&W.push(m)}P.on("error",h),w(P)&&y&&W.push(()=>{P.removeListener("error",h)})}if(K===0)if(typeof P=="function"){if(Z=P({signal:q}),!S(Z))throw new d("Iterable, AsyncIterable or Stream","source",Z)}else S(P)||C(P)||O(P)?Z=P:Z=l.from(P);else if(typeof P=="function"){if(O(Z)){var j;Z=de((j=Z)===null||j===void 0?void 0:j.readable)}else Z=de(Z);if(Z=P(Z,{signal:q}),J){if(!S(Z,!0))throw new d("AsyncIterable",`transform[${K-1}]`,Z)}else{var F;X||(X=fw());const h=new X({objectMode:!0}),f=(F=Z)===null||F===void 0?void 0:F.then;if(typeof f=="function")I++,f.call(Z,H=>{T=H,H!=null&&h.write(H),me&&h.end(),e.nextTick(B)},H=>{h.destroy(H),e.nextTick(B,H)});else if(S(Z,!0))I++,z(Z,h,B,{end:me});else if(V(Z)||O(Z)){const H=Z.readable||Z;I++,z(H,h,B,{end:me})}else throw new d("AsyncIterable or Promise","destination",Z);Z=h;const{destroy:m,cleanup:x}=ae(Z,!1,!0);M.push(m),y&&W.push(x)}}else if(R(P)){if(C(Z)){I+=2;const h=N(Z,P,B,{end:me});w(P)&&y&&W.push(h)}else if(O(Z)||V(Z)){const h=Z.readable||Z;I++,z(h,P,B,{end:me})}else if(S(Z))I++,z(Z,P,B,{end:me});else throw new c("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else if(D(P)){if(C(Z))I++,ge(de(Z),P,B,{end:me});else if(V(Z)||S(Z))I++,ge(Z,P,B,{end:me});else if(O(Z))I++,ge(Z.readable,P,B,{end:me});else throw new c("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else Z=l.from(P)}return(q!=null&&q.aborted||k!=null&&k.aborted)&&e.nextTick(te),Z}function N(ne,ye,se,{end:Q}){let q=!1;if(ye.on("close",()=>{q||se(new _)}),ne.pipe(ye,{end:!1}),Q){let k=function(){q=!0,ye.end()};re(ne)?e.nextTick(k):ne.once("end",k)}else se();return i(ne,{readable:!0,writable:!1},k=>{const W=ne._readableState;k&&k.code==="ERR_STREAM_PREMATURE_CLOSE"&&W&&W.ended&&!W.errored&&!W.errorEmitted?ne.once("end",se).once("error",se):se(k)}),i(ye,{readable:!1,writable:!0},se)}return Ku={pipelineImpl:he,pipeline:Y},Ku}var Yu,lm;function hw(){if(lm)return Yu;lm=1;const{pipeline:e}=pd(),t=Xr(),{destroyer:r}=yo(),{isNodeStream:n,isReadable:o,isWritable:i,isWebStream:a,isTransformStream:s,isWritableStream:l,isReadableStream:u}=an(),{AbortError:c,codes:{ERR_INVALID_ARG_VALUE:d,ERR_MISSING_ARGS:p}}=Ot(),g=Rn();return Yu=function(...b){if(b.length===0)throw new p("streams");if(b.length===1)return t.from(b[0]);const E=[...b];if(typeof b[0]=="function"&&(b[0]=t.from(b[0])),typeof b[b.length-1]=="function"){const X=b.length-1;b[X]=t.from(b[X])}for(let X=0;X0&&!(i(b[X])||l(b[X])||s(b[X])))throw new d(`streams[${X}]`,E[X],"must be writable")}let v,S,w,C,R;function O(X){const L=C;C=null,L?L(X):X?R.destroy(X):!G&&!re&&R.destroy()}const D=b[0],V=e(b,O),re=!!(i(D)||l(D)||s(D)),G=!!(o(V)||u(V)||s(V));if(R=new t({writableObjectMode:!!(D!=null&&D.writableObjectMode),readableObjectMode:!!(V!=null&&V.readableObjectMode),writable:re,readable:G}),re){if(n(D))R._write=function(L,$,ae){D.write(L,$)?ae():v=ae},R._final=function(L){D.end(),S=L},D.on("drain",function(){if(v){const L=v;v=null,L()}});else if(a(D)){const $=(s(D)?D.writable:D).getWriter();R._write=async function(ae,fe,de){try{await $.ready,$.write(ae).catch(()=>{}),de()}catch(pe){de(pe)}},R._final=async function(ae){try{await $.ready,$.close().catch(()=>{}),S=ae}catch(fe){ae(fe)}}}const X=s(V)?V.readable:V;g(X,()=>{if(S){const L=S;S=null,L()}})}if(G){if(n(V))V.on("readable",function(){if(w){const X=w;w=null,X()}}),V.on("end",function(){R.push(null)}),R._read=function(){for(;;){const X=V.read();if(X===null){w=R._read;return}if(!R.push(X))return}};else if(a(V)){const L=(s(V)?V.readable:V).getReader();R._read=async function(){for(;;)try{const{value:$,done:ae}=await L.read();if(!R.push($))return;if(ae){R.push(null);return}}catch{return}}}}return R._destroy=function(X,L){!X&&C!==null&&(X=new c),w=null,v=null,S=null,C===null?L(X):(C=L,n(V)&&r(V,X))},R},Yu}var um;function PR(){if(um)return Ws;um=1;const e=globalThis.AbortController||ss().AbortController,{codes:{ERR_INVALID_ARG_VALUE:t,ERR_INVALID_ARG_TYPE:r,ERR_MISSING_ARGS:n,ERR_OUT_OF_RANGE:o},AbortError:i}=Ot(),{validateAbortSignal:a,validateInteger:s,validateObject:l}=bs(),u=nt().Symbol("kWeak"),c=nt().Symbol("kResistStopPropagation"),{finished:d}=Rn(),p=hw(),{addAbortSignalNoValidate:g}=Al(),{isWritable:_,isNodeStream:b}=an(),{deprecate:E}=Lt(),{ArrayPrototypePush:v,Boolean:S,MathFloor:w,Number:C,NumberIsNaN:R,Promise:O,PromiseReject:D,PromiseResolve:V,PromisePrototypeThen:re,Symbol:G}=nt(),X=G("kEmpty"),L=G("kEof");function $(k,W){if(W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),b(k)&&!_(k))throw new t("stream",k,"must be writable");const te=p(this,k);return W!=null&&W.signal&&g(W.signal,te),te}function ae(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal");let te=1;(W==null?void 0:W.concurrency)!=null&&(te=w(W.concurrency));let ee=te-1;return(W==null?void 0:W.highWaterMark)!=null&&(ee=w(W.highWaterMark)),s(te,"options.concurrency",1),s(ee,"options.highWaterMark",0),ee+=te,(async function*(){const T=Lt().AbortSignalAny([W==null?void 0:W.signal].filter(S)),M=this,I=[],B={signal:T};let U,Z,j=!1,F=0;function K(){j=!0,P()}function P(){F-=1,J()}function J(){Z&&!j&&F=ee||F>=te)&&await new O(y=>{Z=y})}I.push(L)}catch(me){const y=D(me);re(y,P,K),I.push(y)}finally{j=!0,U&&(U(),U=null)}}le();try{for(;;){for(;I.length>0;){const me=await I[0];if(me===L)return;if(T.aborted)throw new i;me!==X&&(yield me),I.shift(),J()}await new O(me=>{U=me})}}finally{j=!0,Z&&(Z(),Z=null)}}).call(this)}function fe(k=void 0){return k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal"),(async function*(){let te=0;for await(const A of this){var ee;if(k!=null&&(ee=k.signal)!==null&&ee!==void 0&&ee.aborted)throw new i({cause:k.signal.reason});yield[te++,A]}}).call(this)}async function de(k,W=void 0){for await(const te of Y.call(this,k,W))return!0;return!1}async function pe(k,W=void 0){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);return!await de.call(this,async(...te)=>!await k(...te),W)}async function z(k,W){for await(const te of Y.call(this,k,W))return te}async function ge(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A),X}for await(const ee of ae.call(this,te,W));}function Y(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A)?ee:X}return ae.call(this,te,W)}class he extends n{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function N(k,W,te){var ee;if(typeof k!="function")throw new r("reducer",["Function","AsyncFunction"],k);te!=null&&l(te,"options"),(te==null?void 0:te.signal)!=null&&a(te.signal,"options.signal");let A=arguments.length>1;if(te!=null&&(ee=te.signal)!==null&&ee!==void 0&&ee.aborted){const U=new i(void 0,{cause:te.signal.reason});throw this.once("error",()=>{}),await d(this.destroy(U)),U}const T=new e,M=T.signal;if(te!=null&&te.signal){const U={once:!0,[u]:this,[c]:!0};te.signal.addEventListener("abort",()=>T.abort(),U)}let I=!1;try{for await(const U of this){var B;if(I=!0,te!=null&&(B=te.signal)!==null&&B!==void 0&&B.aborted)throw new i;A?W=await k(W,U,{signal:M}):(W=U,A=!0)}if(!I&&!A)throw new he}finally{T.abort()}return W}async function ne(k){k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal");const W=[];for await(const ee of this){var te;if(k!=null&&(te=k.signal)!==null&&te!==void 0&&te.aborted)throw new i(void 0,{cause:k.signal.reason});v(W,ee)}return W}function ye(k,W){const te=ae.call(this,k,W);return(async function*(){for await(const A of te)yield*A}).call(this)}function se(k){if(k=C(k),R(k))return 0;if(k<0)throw new o("number",">= 0",k);return k}function Q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=se(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;k--<=0&&(yield T)}}).call(this)}function q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=se(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;if(k-- >0&&(yield T),k<=0)return}}).call(this)}return Ws.streamReturningOperators={asIndexedPairs:E(fe,"readable.asIndexedPairs will be removed in a future version."),drop:Q,filter:Y,flatMap:ye,map:ae,take:q,compose:$},Ws.promiseReturningOperators={every:pe,forEach:ge,reduce:N,toArray:ne,some:de,find:z},Ws}var zu,cm;function dw(){if(cm)return zu;cm=1;const{ArrayPrototypePop:e,Promise:t}=nt(),{isIterable:r,isNodeStream:n,isWebStream:o}=an(),{pipelineImpl:i}=pd(),{finished:a}=Rn();pw();function s(...l){return new t((u,c)=>{let d,p;const g=l[l.length-1];if(g&&typeof g=="object"&&!n(g)&&!r(g)&&!o(g)){const _=e(l);d=_.signal,p=_.end}i(l,(_,b)=>{_?c(_):u(b)},{signal:d,end:p})})}return zu={finished:a,pipeline:s},zu}var fm;function pw(){if(fm)return Au.exports;fm=1;const{Buffer:e}=Kt(),{ObjectDefineProperty:t,ObjectKeys:r,ReflectApply:n}=nt(),{promisify:{custom:o}}=Lt(),{streamReturningOperators:i,promiseReturningOperators:a}=PR(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:s}}=Ot(),l=hw(),{setDefaultHighWaterMark:u,getDefaultHighWaterMark:c}=Tl(),{pipeline:d}=pd(),{destroyer:p}=yo(),g=Rn(),_=dw(),b=an(),E=Au.exports=hd().Stream;E.isDestroyed=b.isDestroyed,E.isDisturbed=b.isDisturbed,E.isErrored=b.isErrored,E.isReadable=b.isReadable,E.isWritable=b.isWritable,E.Readable=xl();for(const S of r(i)){let C=function(...R){if(new.target)throw s();return E.Readable.from(n(w,this,R))};const w=i[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}for(const S of r(a)){let C=function(...R){if(new.target)throw s();return n(w,this,R)};const w=a[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}E.Writable=dd(),E.Duplex=Xr(),E.Transform=cw(),E.PassThrough=fw(),E.pipeline=d;const{addAbortSignal:v}=Al();return E.addAbortSignal=v,E.finished=g,E.destroy=p,E.compose=l,E.setDefaultHighWaterMark=u,E.getDefaultHighWaterMark=c,t(E,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),t(d,o,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),t(g,o,{__proto__:null,enumerable:!0,get(){return _.finished}}),E.Stream=E,E._isUint8Array=function(w){return w instanceof Uint8Array},E._uint8ArrayToBuffer=function(w){return e.from(w.buffer,w.byteOffset,w.byteLength)},Au.exports}da.exports;var hm;function LR(){return hm||(hm=1,function(e){const t=pw(),r=dw(),n=t.Readable.destroy;e.exports=t.Readable,e.exports._uint8ArrayToBuffer=t._uint8ArrayToBuffer,e.exports._isUint8Array=t._isUint8Array,e.exports.isDisturbed=t.isDisturbed,e.exports.isErrored=t.isErrored,e.exports.isReadable=t.isReadable,e.exports.Readable=t.Readable,e.exports.Writable=t.Writable,e.exports.Duplex=t.Duplex,e.exports.Transform=t.Transform,e.exports.PassThrough=t.PassThrough,e.exports.addAbortSignal=t.addAbortSignal,e.exports.finished=t.finished,e.exports.destroy=t.destroy,e.exports.destroy=n,e.exports.pipeline=t.pipeline,e.exports.compose=t.compose,Object.defineProperty(t,"promises",{configurable:!0,enumerable:!0,get(){return r}}),e.exports.Stream=t.Stream,e.exports.default=e.exports}(da)),da.exports}var qs={exports:{}},dm;function BR(){return dm||(dm=1,typeof Object.create=="function"?qs.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:qs.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}),qs.exports}var Gu,pm;function DR(){if(pm)return Gu;pm=1;const{Buffer:e}=Kt(),t=Symbol.for("BufferList");function r(n){if(!(this instanceof r))return new r(n);r._init.call(this,n)}return r._init=function(o){Object.defineProperty(this,t,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},r.prototype._new=function(o){return new r(o)},r.prototype._offset=function(o){if(o===0)return[0,0];let i=0;for(let a=0;athis.length||o<0)return;const i=this._offset(o);return this._bufs[i[0]][i[1]]},r.prototype.slice=function(o,i){return typeof o=="number"&&o<0&&(o+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,o,i)},r.prototype.copy=function(o,i,a,s){if((typeof a!="number"||a<0)&&(a=0),(typeof s!="number"||s>this.length)&&(s=this.length),a>=this.length||s<=0)return o||e.alloc(0);const l=!!o,u=this._offset(a),c=s-a;let d=c,p=l&&i||0,g=u[1];if(a===0&&s===this.length){if(!l)return this._bufs.length===1?this._bufs[0]:e.concat(this._bufs,this.length);for(let _=0;_b)this._bufs[_].copy(o,p,g),p+=b;else{this._bufs[_].copy(o,p,g,g+d),p+=b;break}d-=b,g&&(g=0)}return o.length>p?o.slice(0,p):o},r.prototype.shallowSlice=function(o,i){if(o=o||0,i=typeof i!="number"?this.length:i,o<0&&(o+=this.length),i<0&&(i+=this.length),o===i)return this._new();const a=this._offset(o),s=this._offset(i),l=this._bufs.slice(a[0],s[0]+1);return s[1]===0?l.pop():l[l.length-1]=l[l.length-1].slice(0,s[1]),a[1]!==0&&(l[0]=l[0].slice(a[1])),this._new(l)},r.prototype.toString=function(o,i,a){return this.slice(i,a).toString(o)},r.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;)if(o>=this._bufs[0].length)o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}return this},r.prototype.duplicate=function(){const o=this._new();for(let i=0;ithis.length?this.length:o;const a=this._offset(o);let s=a[0],l=a[1];for(;s=n.length){const d=u.indexOf(n,l);if(d!==-1)return this._reverseOffset([s,d]);l=u.length-n.length+1}else{const d=this._reverseOffset([s,l]);if(this._match(d,n))return d;l++}l=0}return-1},r.prototype._match=function(n,o){if(this.length-n[0,1].map(a=>[0,1].map(s=>{const l=r.alloc(1);return l.writeUInt8(t.codes[o]<r.from([o])),t.EMPTY={pingreq:r.from([t.codes.pingreq<<4,0]),pingresp:r.from([t.codes.pingresp<<4,0]),disconnect:r.from([t.codes.disconnect<<4,0])},t.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},t.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},t.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},t.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}(Xu)),Xu.exports}function mw(){throw new Error("setTimeout has not been defined")}function yw(){throw new Error("clearTimeout has not been defined")}var dn=mw,pn=yw;typeof oi.setTimeout=="function"&&(dn=setTimeout);typeof oi.clearTimeout=="function"&&(pn=clearTimeout);function _w(e){if(dn===setTimeout)return setTimeout(e,0);if((dn===mw||!dn)&&setTimeout)return dn=setTimeout,setTimeout(e,0);try{return dn(e,0)}catch{try{return dn.call(null,e,0)}catch{return dn.call(this,e,0)}}}function $R(e){if(pn===clearTimeout)return clearTimeout(e);if((pn===yw||!pn)&&clearTimeout)return pn=clearTimeout,clearTimeout(e);try{return pn(e)}catch{try{return pn.call(null,e)}catch{return pn.call(this,e)}}}var Wr=[],Yi=!1,Xn,pa=-1;function jR(){!Yi||!Xn||(Yi=!1,Xn.length?Wr=Xn.concat(Wr):pa=-1,Wr.length&&bw())}function bw(){if(!Yi){var e=_w(jR);Yi=!0;for(var t=Wr.length;t;){for(Xn=Wr,Wr=[];++pa1)for(var r=1;r0)return a(c);if(p==="number"&&isFinite(c))return d.long?l(c):s(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function a(c){if(c=String(c),!(c.length>100)){var d=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(c);if(d){var p=parseFloat(d[1]),g=(d[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return p*i;case"weeks":case"week":case"w":return p*o;case"days":case"day":case"d":return p*n;case"hours":case"hour":case"hrs":case"hr":case"h":return p*r;case"minutes":case"minute":case"mins":case"min":case"m":return p*t;case"seconds":case"second":case"secs":case"sec":case"s":return p*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return}}}}function s(c){var d=Math.abs(c);return d>=n?Math.round(c/n)+"d":d>=r?Math.round(c/r)+"h":d>=t?Math.round(c/t)+"m":d>=e?Math.round(c/e)+"s":c+"ms"}function l(c){var d=Math.abs(c);return d>=n?u(c,d,n,"day"):d>=r?u(c,d,r,"hour"):d>=t?u(c,d,t,"minute"):d>=e?u(c,d,e,"second"):c+" ms"}function u(c,d,p,g){var _=d>=p*1.5;return Math.round(c/p)+" "+g+(_?"s":"")}return Ju}var Zu,bm;function pO(){if(bm)return Zu;bm=1;function e(t){n.debug=n,n.default=n,n.coerce=u,n.disable=s,n.enable=i,n.enabled=l,n.humanize=dO(),n.destroy=c,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function r(d){let p=0;for(let g=0;g{if(D==="%%")return"%";R++;const re=n.formatters[V];if(typeof re=="function"){const G=v[R];D=re.call(S,G),v.splice(R,1),R--}return D}),n.formatArgs.call(S,v),(S.log||n.log).apply(S,v)}return E.namespace=d,E.useColors=n.useColors(),E.color=n.selectColor(d),E.extend=o,E.destroy=n.destroy,Object.defineProperty(E,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(_!==n.namespaces&&(_=n.namespaces,b=n.enabled(d)),b),set:v=>{g=v}}),typeof n.init=="function"&&n.init(E),E}function o(d,p){const g=n(this.namespace+(typeof p>"u"?":":p)+d);return g.log=this.log,g}function i(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];const p=(typeof d=="string"?d:"").trim().replace(" ",",").split(",").filter(Boolean);for(const g of p)g[0]==="-"?n.skips.push(g.slice(1)):n.names.push(g)}function a(d,p){let g=0,_=0,b=-1,E=0;for(;g"-"+p)].join(",");return n.enable(""),d}function l(d){for(const p of n.skips)if(a(d,p))return!1;for(const p of n.names)if(a(d,p))return!0;return!1}function u(d){return d instanceof Error?d.stack||d.message:d}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}return Zu=e,Zu}var wm;function vw(){return wm||(wm=1,function(e,t){var r={};t.formatArgs=o,t.save=i,t.load=a,t.useColors=n,t.storage=s(),t.destroy=(()=>{let u=!1;return()=>{u||(u=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let u;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(u=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(u[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function o(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;u.splice(1,0,c,"color: inherit");let d=0,p=0;u[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(d++,g==="%c"&&(p=d))}),u.splice(p,0,c)}t.log=console.debug||console.log||(()=>{});function i(u){try{u?t.storage.setItem("debug",u):t.storage.removeItem("debug")}catch{}}function a(){let u;try{u=t.storage.getItem("debug")}catch{}return!u&&typeof Kn<"u"&&"env"in Kn&&(u=r.DEBUG),u}function s(){try{return localStorage}catch{}}e.exports=pO()(t);const{formatters:l}=e.exports;l.j=function(u){try{return JSON.stringify(u)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}}(Ks,Ks.exports)),Ks.exports}var ec,vm;function gO(){if(vm)return ec;vm=1;const e=UR(),{EventEmitter:t}=mo(),r=FR(),n=gw(),o=vw()("mqtt-packet:parser");class i extends t{constructor(){super(),this.parser=this.constructor.parser}static parser(s){return this instanceof i?(this.settings=s||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new i().parser(s)}_resetState(){o("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new r,this.error=null,this._list=e(),this._stateCounter=0}parse(s){for(this.error&&this._resetState(),this._list.append(s),o("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,o("parse: state complete. _stateCounter is now: %d",this._stateCounter),o("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return o("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){const s=this._list.readUInt8(0),l=s>>n.CMD_SHIFT;this.packet.cmd=n.types[l];const u=s&15,c=n.requiredHeaderFlags[l];return c!=null&&u!==c?this._emitError(new Error(n.requiredHeaderFlagsErrors[l])):(this.packet.retain=(s&n.RETAIN_MASK)!==0,this.packet.qos=s>>n.QOS_SHIFT&n.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(s&n.DUP_MASK)!==0,o("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){const s=this._parseVarByteNum(!0);return s&&(this.packet.length=s.value,this._list.consume(s.bytes)),o("_parseLength %d",s.value),!!s}_parsePayload(){o("_parsePayload: payload %O",this._list);let s=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}s=!0}return o("_parsePayload complete result: %s",s),s}_parseConnect(){o("_parseConnect");let s,l,u,c;const d={},p=this.packet,g=this._parseString();if(g===null)return this._emitError(new Error("Cannot parse protocolId"));if(g!=="MQTT"&&g!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(p.protocolId=g,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(p.protocolVersion=this._list.readUInt8(this._pos),p.protocolVersion>=128&&(p.bridgeMode=!0,p.protocolVersion=p.protocolVersion-128),p.protocolVersion!==3&&p.protocolVersion!==4&&p.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));d.username=this._list.readUInt8(this._pos)&n.USERNAME_MASK,d.password=this._list.readUInt8(this._pos)&n.PASSWORD_MASK,d.will=this._list.readUInt8(this._pos)&n.WILL_FLAG_MASK;const _=!!(this._list.readUInt8(this._pos)&n.WILL_RETAIN_MASK),b=(this._list.readUInt8(this._pos)&n.WILL_QOS_MASK)>>n.WILL_QOS_SHIFT;if(d.will)p.will={},p.will.retain=_,p.will.qos=b;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(b)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(p.clean=(this._list.readUInt8(this._pos)&n.CLEAN_SESSION_MASK)!==0,this._pos++,p.keepalive=this._parseNum(),p.keepalive===-1)return this._emitError(new Error("Packet too short"));if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.properties=v)}const E=this._parseString();if(E===null)return this._emitError(new Error("Packet too short"));if(p.clientId=E,o("_parseConnect: packet.clientId: %s",p.clientId),d.will){if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.will.properties=v)}if(s=this._parseString(),s===null)return this._emitError(new Error("Cannot parse will topic"));if(p.will.topic=s,o("_parseConnect: packet.will.topic: %s",p.will.topic),l=this._parseBuffer(),l===null)return this._emitError(new Error("Cannot parse will payload"));p.will.payload=l,o("_parseConnect: packet.will.paylaod: %s",p.will.payload)}if(d.username){if(c=this._parseString(),c===null)return this._emitError(new Error("Cannot parse username"));p.username=c,o("_parseConnect: packet.username: %s",p.username)}if(d.password){if(u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse password"));p.password=u}return this.settings=p,o("_parseConnect: complete"),p}_parseConnack(){o("_parseConnack");const s=this.packet;if(this._list.length<1)return null;const l=this._list.readUInt8(this._pos++);if(l>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(s.sessionPresent=!!(l&n.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?s.reasonCode=this._list.readUInt8(this._pos++):s.reasonCode=0;else{if(this._list.length<2)return null;s.returnCode=this._list.readUInt8(this._pos++)}if(s.returnCode===-1||s.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){const u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(s.properties=u)}o("_parseConnack: complete")}_parsePublish(){o("_parsePublish");const s=this.packet;if(s.topic=this._parseString(),s.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(s.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(s.properties=l)}s.payload=this._list.slice(this._pos,s.length),o("_parsePublish: payload from buffer list: %o",s.payload)}}_parseSubscribe(){o("_parseSubscribe");const s=this.packet;let l,u,c,d,p,g,_;if(s.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const b=this._parseProperties();Object.getOwnPropertyNames(b).length&&(s.properties=b)}if(s.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos=s.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(u&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(u&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(c=u&n.SUBSCRIBE_OPTIONS_QOS_MASK,c>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(g=(u>>n.SUBSCRIBE_OPTIONS_NL_SHIFT&n.SUBSCRIBE_OPTIONS_NL_MASK)!==0,p=(u>>n.SUBSCRIBE_OPTIONS_RAP_SHIFT&n.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,d=u>>n.SUBSCRIBE_OPTIONS_RH_SHIFT&n.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));_={topic:l,qos:c},this.settings.protocolVersion===5?(_.nl=g,_.rap=p,_.rh=d):this.settings.bridgeMode&&(_.rh=0,_.rap=!0,_.nl=!0),o("_parseSubscribe: push subscription `%s` to subscription",_),s.subscriptions.push(_)}}}_parseSuback(){o("_parseSuback");const s=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(s.properties=l)}if(s.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&l!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(l)}}}_parseUnsubscribe(){o("_parseUnsubscribe");const s=this.packet;if(s.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(s.properties=l)}if(s.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(s.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!n.MQTT5_PUBACK_PUBREC_CODES[s.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!n.MQTT5_PUBREL_PUBCOMP_CODES[s.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}o("_parseConfirmation: packet.reasonCode `%d`",s.reasonCode)}else s.reasonCode=0;if(s.length>3){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(s.properties=l)}}return!0}_parseDisconnect(){const s=this.packet;if(o("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(s.reasonCode=this._parseByte(),n.MQTT5_DISCONNECT_CODES[s.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):s.reasonCode=0;const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(s.properties=l)}return o("_parseDisconnect result: true"),!0}_parseAuth(){o("_parseAuth");const s=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(s.reasonCode=this._parseByte(),!n.MQTT5_AUTH_CODES[s.reasonCode])return this._emitError(new Error("Invalid auth reason code"));const l=this._parseProperties();return Object.getOwnPropertyNames(l).length&&(s.properties=l),o("_parseAuth: result: true"),!0}_parseMessageId(){const s=this.packet;return s.messageId=this._parseNum(),s.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(o("_parseMessageId: packet.messageId %d",s.messageId),!0)}_parseString(s){const l=this._parseNum(),u=l+this._pos;if(l===-1||u>this._list.length||u>this.packet.length)return null;const c=this._list.toString("utf8",this._pos,u);return this._pos+=l,o("_parseString: result: %s",c),c}_parseStringPair(){return o("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){const s=this._parseNum(),l=s+this._pos;if(s===-1||l>this._list.length||l>this.packet.length)return null;const u=this._list.slice(this._pos,l);return this._pos+=s,o("_parseBuffer: result: %o",u),u}_parseNum(){if(this._list.length-this._pos<2)return-1;const s=this._list.readUInt16BE(this._pos);return this._pos+=2,o("_parseNum: result: %s",s),s}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;const s=this._list.readUInt32BE(this._pos);return this._pos+=4,o("_parse4ByteNum: result: %s",s),s}_parseVarByteNum(s){o("_parseVarByteNum");const l=4;let u=0,c=1,d=0,p=!1,g;const _=this._pos?this._pos:0;for(;u=u&&this._emitError(new Error("Invalid variable byte integer")),_&&(this._pos+=u),p?s?p={bytes:u,value:d}:p=d:p=!1,o("_parseVarByteNum: result: %o",p),p}_parseByte(){let s;return this._pos>8,0),u.writeUInt8(l&255,1),u}function i(){for(let l=0;l0&&(c=c|128),p.writeUInt8(c,d++);while(l>0&&d<4);return l>0&&(d=0),n?p.subarray(0,d):p.slice(0,d)}function s(l){const u=e.allocUnsafe(4);return u.writeUInt32BE(l,0),u}return tc={cache:r,generateCache:i,generateNumber:o,genBufVariableByteInt:a,generate4ByteBuffer:s},tc}var rc={exports:{}},Sm;function yO(){if(Sm)return rc.exports;Sm=1,rc.exports={nextTick:e};function e(t,r,n,o){if(typeof t!="function")throw new TypeError('"callback" argument must be a function');var i=arguments.length,a,s;switch(i){case 0:case 1:return Kn.nextTick(t);case 2:return Kn.nextTick(function(){t.call(null,r)});case 3:return Kn.nextTick(function(){t.call(null,r,n)});case 4:return Kn.nextTick(function(){t.call(null,r,n,o)});default:for(a=new Array(i-1),s=0;s=4)&&(M||A))Z+=t.byteLength(M)+2;else{if(te<4)return Q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(A*1===0)return Q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof T!="number"||T<0||T>65535||T%1!==0)return Q.destroy(new Error("Invalid keepalive")),!1;Z+=2,Z+=1;let j,F;if(te===5){if(j=ge(Q,U),!j)return!1;Z+=j.length}if(ee){if(typeof ee!="object")return Q.destroy(new Error("Invalid will")),!1;if(!ee.topic||typeof ee.topic!="string")return Q.destroy(new Error("Invalid will topic")),!1;if(Z+=t.byteLength(ee.topic)+2,Z+=2,ee.payload)if(ee.payload.length>=0)typeof ee.payload=="string"?Z+=t.byteLength(ee.payload):Z+=ee.payload.length;else return Q.destroy(new Error("Invalid will payload")),!1;if(F={},te===5){if(F=ge(Q,ee.properties),!F)return!1;Z+=F.length}}let K=!1;if(I!=null)if(ye(I))K=!0,Z+=t.byteLength(I)+2;else return Q.destroy(new Error("Invalid username")),!1;if(B!=null){if(!K)return Q.destroy(new Error("Username is required to use password")),!1;if(ye(B))Z+=ne(B)+2;else return Q.destroy(new Error("Invalid password")),!1}Q.write(e.CONNECT_HEADER),L(Q,Z),z(Q,W),k.bridgeMode&&(te+=128),Q.write(te===131?e.VERSION131:te===132?e.VERSION132:te===4?e.VERSION4:te===5?e.VERSION5:e.VERSION3);let P=0;return P|=I!=null?e.USERNAME_MASK:0,P|=B!=null?e.PASSWORD_MASK:0,P|=ee&&ee.retain?e.WILL_RETAIN_MASK:0,P|=ee&&ee.qos?ee.qos<0&&p(Q,M),U!=null&&U.write(),a("publish: payload: %o",T),Q.write(T)}function w(se,Q,q){const k=q?q.protocolVersion:4,W=se||{},te=W.cmd||"puback",ee=W.messageId,A=W.dup&&te==="pubrel"?e.DUP_MASK:0;let T=0;const M=W.reasonCode,I=W.properties;let B=k===5?3:2;if(te==="pubrel"&&(T=1),typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;let U=null;if(k===5&&typeof I=="object"){if(U=Y(Q,I,q,B),!U)return!1;B+=U.length}return Q.write(e.ACKS[te][T][A][0]),B===3&&(B+=M!==0?1:-1),L(Q,B),p(Q,ee),k===5&&B!==2&&Q.write(t.from([M])),U!==null?U.write():B===4&&Q.write(t.from([0])),!0}function C(se,Q,q){a("subscribe: packet: ");const k=q?q.protocolVersion:4,W=se||{},te=W.dup?e.DUP_MASK:0,ee=W.messageId,A=W.subscriptions,T=W.properties;let M=0;if(typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;M+=2;let I=null;if(k===5){if(I=ge(Q,T),!I)return!1;M+=I.length}if(typeof A=="object"&&A.length)for(let U=0;U2)return Q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}M+=t.byteLength(Z)+2+1}else return Q.destroy(new Error("Invalid subscriptions")),!1;a("subscribe: writing to stream: %o",e.SUBSCRIBE_HEADER),Q.write(e.SUBSCRIBE_HEADER[1][te?1:0][0]),L(Q,M),p(Q,ee),I!==null&&I.write();let B=!0;for(const U of A){const Z=U.topic,j=U.qos,F=+U.nl,K=+U.rap,P=U.rh;let J;$(Q,Z),J=e.SUBSCRIBE_OPTIONS_QOS[j],k===5&&(J|=F?e.SUBSCRIBE_OPTIONS_NL:0,J|=K?e.SUBSCRIBE_OPTIONS_RAP:0,J|=P?e.SUBSCRIBE_OPTIONS_RH[P]:0),B=Q.write(t.from([J]))}return B}function R(se,Q,q){const k=q?q.protocolVersion:4,W=se||{},te=W.messageId,ee=W.granted,A=W.properties;let T=0;if(typeof te!="number")return Q.destroy(new Error("Invalid messageId")),!1;if(T+=2,typeof ee=="object"&&ee.length)for(let I=0;Ie.VARBYTEINT_MAX)return se.destroy(new Error(`Invalid variable byte integer: ${Q}`)),!1;let q=X[Q];return q||(q=c(Q),Q<16384&&(X[Q]=q)),a("writeVarByteInt: writing to stream: %o",q),se.write(q)}function $(se,Q){const q=t.byteLength(Q);return p(se,q),a("writeString: %s",Q),se.write(Q,"utf8")}function ae(se,Q,q){$(se,Q),$(se,q)}function fe(se,Q){return a("writeNumberCached: number: %d",Q),a("writeNumberCached: %o",s[Q]),se.write(s[Q])}function de(se,Q){const q=l(Q);return a("writeNumberGenerated: %o",q),se.write(q)}function pe(se,Q){const q=d(Q);return a("write4ByteNumber: %o",q),se.write(q)}function z(se,Q){typeof Q=="string"?$(se,Q):Q?(p(se,Q.length),se.write(Q)):p(se,0)}function ge(se,Q){if(typeof Q!="object"||Q.length!=null)return{length:1,write(){N(se,{},0)}};let q=0;function k(te,ee){const A=e.propertiesTypes[te];let T=0;switch(A){case"byte":{if(typeof ee!="boolean")return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"int8":{if(typeof ee!="number"||ee<0||ee>255)return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"binary":{if(ee&&ee===null)return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(ee)+2;break}case"int16":{if(typeof ee!="number"||ee<0||ee>65535)return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3;break}case"int32":{if(typeof ee!="number"||ee<0||ee>4294967295)return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=5;break}case"var":{if(typeof ee!="number"||ee<0||ee>268435455)return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(c(ee));break}case"string":{if(typeof ee!="string")return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3+t.byteLength(ee.toString());break}case"pair":{if(typeof ee!="object")return se.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=Object.getOwnPropertyNames(ee).reduce((M,I)=>{const B=ee[I];return Array.isArray(B)?M+=B.reduce((U,Z)=>(U+=3+t.byteLength(I.toString())+2+t.byteLength(Z.toString()),U),0):M+=3+t.byteLength(I.toString())+2+t.byteLength(ee[I].toString()),M},0);break}default:return se.destroy(new Error(`Invalid property ${te}: ${ee}`)),!1}return T}if(Q)for(const te in Q){let ee=0,A=0;const T=Q[te];if(Array.isArray(T))for(let M=0;Mte;){const A=W.shift();if(A&&Q[A])delete Q[A],ee=ge(se,Q);else return!1}return ee}function he(se,Q,q){switch(e.propertiesTypes[Q]){case"byte":{se.write(t.from([e.properties[Q]])),se.write(t.from([+q]));break}case"int8":{se.write(t.from([e.properties[Q]])),se.write(t.from([q]));break}case"binary":{se.write(t.from([e.properties[Q]])),z(se,q);break}case"int16":{se.write(t.from([e.properties[Q]])),p(se,q);break}case"int32":{se.write(t.from([e.properties[Q]])),pe(se,q);break}case"var":{se.write(t.from([e.properties[Q]])),L(se,q);break}case"string":{se.write(t.from([e.properties[Q]])),$(se,q);break}case"pair":{Object.getOwnPropertyNames(q).forEach(W=>{const te=q[W];Array.isArray(te)?te.forEach(ee=>{se.write(t.from([e.properties[Q]])),ae(se,W.toString(),ee.toString())}):(se.write(t.from([e.properties[Q]])),ae(se,W.toString(),te.toString()))});break}default:return se.destroy(new Error(`Invalid property ${Q} value: ${q}`)),!1}}function N(se,Q,q){L(se,q);for(const k in Q)if(Object.prototype.hasOwnProperty.call(Q,k)&&Q[k]!==null){const W=Q[k];if(Array.isArray(W))for(let te=0;tet?1:e>=t?0:NaN}function wO(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function gd(e){let t,r,n;e.length!==2?(t=ga,r=(s,l)=>ga(e(s),l),n=(s,l)=>e(s)-l):(t=e===ga||e===wO?e:vO,r=e,n=e);function o(s,l,u=0,c=s.length){if(u>>1;r(s[d],l)<0?u=d+1:c=d}while(u>>1;r(s[d],l)<=0?u=d+1:c=d}while(uu&&n(s[d-1],l)>-n(s[d],l)?d-1:d}return{left:o,center:a,right:i}}function vO(){return 0}function EO(e){return e===null?NaN:+e}const SO=gd(ga),AO=SO.right;gd(EO).center;function AL(e,t){let r,n;if(t===void 0)for(const o of e)o!=null&&(r===void 0?o>=o&&(r=n=o):(r>o&&(r=o),n=i&&(r=n=i):(r>i&&(r=i),n=CO?10:i>=RO?5:i>=OO?2:1;let s,l,u;return o<0?(u=Math.pow(10,-o)/a,s=Math.round(e*u),l=Math.round(t*u),s/ut&&--l,u=-u):(u=Math.pow(10,o)*a,s=Math.round(e/u),l=Math.round(t/u),s*ut&&--l),l0))return[];if(e===t)return[e];const n=t=o))return[];const s=i-o+1,l=new Array(s);if(n)if(a<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r=o)&&(r=o)}return r}function MO(e,t,r){e=+e,t=+t,r=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+r;for(var n=-1,o=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(o);++n+e(t)}function DO(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function UO(){return!this.__axis}function Il(e,t){var r=[],n=null,o=null,i=6,a=6,s=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=e===ma||e===jo?-1:1,c=e===jo||e===ya?"x":"y",d=e===ma||e===oh?PO:LO;function p(g){var _=n??(t.ticks?t.ticks.apply(t,r):t.domain()),b=o??(t.tickFormat?t.tickFormat.apply(t,r):NO),E=Math.max(i,0)+s,v=t.range(),S=+v[0]+l,w=+v[v.length-1]+l,C=(t.bandwidth?DO:BO)(t.copy(),l),R=g.selection?g.selection():g,O=R.selectAll(".domain").data([null]),D=R.selectAll(".tick").data(_,t).order(),V=D.exit(),re=D.enter().append("g").attr("class","tick"),G=D.select("line"),X=D.select("text");O=O.merge(O.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),D=D.merge(re),G=G.merge(re.append("line").attr("stroke","currentColor").attr(c+"2",u*i)),X=X.merge(re.append("text").attr("fill","currentColor").attr(c,u*E).attr("dy",e===ma?"0em":e===oh?"0.71em":"0.32em")),g!==R&&(O=O.transition(g),D=D.transition(g),G=G.transition(g),X=X.transition(g),V=V.transition(g).attr("opacity",Rm).attr("transform",function(L){return isFinite(L=C(L))?d(L+l):this.getAttribute("transform")}),re.attr("opacity",Rm).attr("transform",function(L){var $=this.parentNode.__axis;return d(($&&isFinite($=$(L))?$:C(L))+l)})),V.remove(),O.attr("d",e===jo||e===ya?a?"M"+u*a+","+S+"H"+l+"V"+w+"H"+u*a:"M"+l+","+S+"V"+w:a?"M"+S+","+u*a+"V"+l+"H"+w+"V"+u*a:"M"+S+","+l+"H"+w),D.attr("opacity",1).attr("transform",function(L){return d(C(L)+l)}),G.attr(c+"2",u*i),X.attr(c,u*E).text(b),R.filter(UO).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===ya?"start":e===jo?"end":"middle"),R.each(function(){this.__axis=C})}return p.scale=function(g){return arguments.length?(t=g,p):t},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(g){return arguments.length?(r=g==null?[]:Array.from(g),p):r.slice()},p.tickValues=function(g){return arguments.length?(n=g==null?null:Array.from(g),p):n&&n.slice()},p.tickFormat=function(g){return arguments.length?(o=g,p):o},p.tickSize=function(g){return arguments.length?(i=a=+g,p):i},p.tickSizeInner=function(g){return arguments.length?(i=+g,p):i},p.tickSizeOuter=function(g){return arguments.length?(a=+g,p):a},p.tickPadding=function(g){return arguments.length?(s=+g,p):s},p.offset=function(g){return arguments.length?(l=+g,p):l},p}function xL(e){return Il(ma,e)}function IL(e){return Il(ya,e)}function CL(e){return Il(oh,e)}function RL(e){return Il(jo,e)}var FO={value:()=>{}};function Sw(){for(var e=0,t=arguments.length,r={},n;e=0&&(n=r.slice(o+1),r=r.slice(0,o)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}_a.prototype=Sw.prototype={constructor:_a,on:function(e,t){var r=this._,n=$O(e+"",r),o,i=-1,a=n.length;if(arguments.length<2){for(;++i0)for(var r=new Array(o),n=0,o,i;n=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),km.hasOwnProperty(t)?{space:km[t],local:e}:e}function WO(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===sh&&t.documentElement.namespaceURI===sh?t.createElement(e):t.createElementNS(r,e)}}function HO(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Aw(e){var t=Cl(e);return(t.local?HO:WO)(t)}function VO(){}function md(e){return e==null?VO:function(){return this.querySelector(e)}}function qO(e){typeof e!="function"&&(e=md(e));for(var t=this._groups,r=t.length,n=new Array(r),o=0;o=w&&(w=S+1);!(R=E[w])&&++w<_;);C._next=R||null}}return a=new qt(a,n),a._enter=s,a._exit=l,a}function fk(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function hk(){return new qt(this._exit||this._groups.map(Cw),this._parents)}function dk(e,t,r){var n=this.enter(),o=this,i=this.exit();return typeof e=="function"?(n=e(n),n&&(n=n.selection())):n=n.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),r==null?i.remove():r(i),n&&o?n.merge(o).order():o}function pk(e){for(var t=e.selection?e.selection():e,r=this._groups,n=t._groups,o=r.length,i=n.length,a=Math.min(o,i),s=new Array(o),l=0;l=0;)(a=n[o])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function mk(e){e||(e=yk);function t(d,p){return d&&p?e(d.__data__,p.__data__):!d-!p}for(var r=this._groups,n=r.length,o=new Array(n),i=0;it?1:e>=t?0:NaN}function _k(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function bk(){return Array.from(this)}function wk(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?kk:typeof t=="function"?Nk:Mk)(e,t,r??"")):no(this.node(),e)}function no(e,t){return e.style.getPropertyValue(t)||Rw(e).getComputedStyle(e,null).getPropertyValue(t)}function Lk(e){return function(){delete this[e]}}function Bk(e,t){return function(){this[e]=t}}function Dk(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Uk(e,t){return arguments.length>1?this.each((t==null?Lk:typeof t=="function"?Dk:Bk)(e,t)):this.node()[e]}function Ow(e){return e.trim().split(/^|\s+/)}function yd(e){return e.classList||new kw(e)}function kw(e){this._node=e,this._names=Ow(e.getAttribute("class")||"")}kw.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Mw(e,t){for(var r=yd(e),n=-1,o=t.length;++n=0&&(r=t.slice(n+1),t=t.slice(0,n)),{type:t,name:r}})}function hM(e){return function(){var t=this.__on;if(t){for(var r=0,n=-1,o=t.length,i;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Ys(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Ys(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=vM.exec(e))?new Pt(t[1],t[2],t[3],1):(t=EM.exec(e))?new Pt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=SM.exec(e))?Ys(t[1],t[2],t[3],t[4]):(t=AM.exec(e))?Ys(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=TM.exec(e))?Um(t[1],t[2]/100,t[3]/100,1):(t=xM.exec(e))?Um(t[1],t[2]/100,t[3]/100,t[4]):Mm.hasOwnProperty(e)?Lm(Mm[e]):e==="transparent"?new Pt(NaN,NaN,NaN,0):null}function Lm(e){return new Pt(e>>16&255,e>>8&255,e&255,1)}function Ys(e,t,r,n){return n<=0&&(e=t=r=NaN),new Pt(e,t,r,n)}function RM(e){return e instanceof vs||(e=ui(e)),e?(e=e.rgb(),new Pt(e.r,e.g,e.b,e.opacity)):new Pt}function ah(e,t,r,n){return arguments.length===1?RM(e):new Pt(e,t,r,n??1)}function Pt(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}_d(Pt,ah,Bw(vs,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?as:Math.pow(as,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pt(ii(this.r),ii(this.g),ii(this.b),Wa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Bm,formatHex:Bm,formatHex8:OM,formatRgb:Dm,toString:Dm}));function Bm(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}`}function OM(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}${Jn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Dm(){const e=Wa(this.opacity);return`${e===1?"rgb(":"rgba("}${ii(this.r)}, ${ii(this.g)}, ${ii(this.b)}${e===1?")":`, ${e})`}`}function Wa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ii(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Jn(e){return e=ii(e),(e<16?"0":"")+e.toString(16)}function Um(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new ar(e,t,r,n)}function Dw(e){if(e instanceof ar)return new ar(e.h,e.s,e.l,e.opacity);if(e instanceof vs||(e=ui(e)),!e)return new ar;if(e instanceof ar)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,o=Math.min(t,r,n),i=Math.max(t,r,n),a=NaN,s=i-o,l=(i+o)/2;return s?(t===i?a=(r-n)/s+(r0&&l<1?0:a,new ar(a,s,l,e.opacity)}function kM(e,t,r,n){return arguments.length===1?Dw(e):new ar(e,t,r,n??1)}function ar(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}_d(ar,kM,Bw(vs,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new ar(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?as:Math.pow(as,e),new ar(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,o=2*r-n;return new Pt(oc(e>=240?e-240:e+120,o,n),oc(e,o,n),oc(e<120?e+240:e-120,o,n),this.opacity)},clamp(){return new ar(Fm(this.h),zs(this.s),zs(this.l),Wa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Wa(this.opacity);return`${e===1?"hsl(":"hsla("}${Fm(this.h)}, ${zs(this.s)*100}%, ${zs(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Fm(e){return e=(e||0)%360,e<0?e+360:e}function zs(e){return Math.max(0,Math.min(1,e||0))}function oc(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const bd=e=>()=>e;function MM(e,t){return function(r){return e+r*t}}function NM(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function PM(e){return(e=+e)==1?Uw:function(t,r){return r-t?NM(t,r,e):bd(isNaN(t)?r:t)}}function Uw(e,t){var r=t-e;return r?MM(e,r):bd(isNaN(e)?t:e)}const Ha=function e(t){var r=PM(t);function n(o,i){var a=r((o=ah(o)).r,(i=ah(i)).r),s=r(o.g,i.g),l=r(o.b,i.b),u=Uw(o.opacity,i.opacity);return function(c){return o.r=a(c),o.g=s(c),o.b=l(c),o.opacity=u(c),o+""}}return n.gamma=e,n}(1);function LM(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),o;return function(i){for(o=0;or&&(i=t.slice(r,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,l.push({i:a,x:sr(n,o)})),r=sc.lastIndex;return r180?c+=360:c-u>180&&(u+=360),p.push({i:d.push(o(d)+"rotate(",null,n)-2,x:sr(u,c)})):c&&d.push(o(d)+"rotate("+c+n)}function s(u,c,d,p){u!==c?p.push({i:d.push(o(d)+"skewX(",null,n)-2,x:sr(u,c)}):c&&d.push(o(d)+"skewX("+c+n)}function l(u,c,d,p,g,_){if(u!==d||c!==p){var b=g.push(o(g)+"scale(",null,",",null,")");_.push({i:b-4,x:sr(u,d)},{i:b-2,x:sr(c,p)})}else(d!==1||p!==1)&&g.push(o(g)+"scale("+d+","+p+")")}return function(u,c){var d=[],p=[];return u=e(u),c=e(c),i(u.translateX,u.translateY,c.translateX,c.translateY,d,p),a(u.rotate,c.rotate,d,p),s(u.skewX,c.skewX,d,p),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,p),u=c=null,function(g){for(var _=-1,b=p.length,E;++_=0&&e._call.call(void 0,t),e=e._next;--io}function jm(){ci=(qa=us.now())+Rl,io=Wo=0;try{zM()}finally{io=0,QM(),ci=0}}function GM(){var e=us.now(),t=e-qa;t>Ww&&(Rl-=t,qa=e)}function QM(){for(var e,t=Va,r,n=1/0;t;)t._call?(n>t._time&&(n=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Va=r);Ho=e,ch(n)}function ch(e){if(!io){Wo&&(Wo=clearTimeout(Wo));var t=e-ci;t>24?(e<1/0&&(Wo=setTimeout(jm,e-us.now()-Rl)),No&&(No=clearInterval(No))):(No||(qa=us.now(),No=setInterval(GM,Ww)),io=1,Hw(jm))}}function Wm(e,t,r){var n=new Ka;return t=t==null?0:+t,n.restart(o=>{n.stop(),e(o+t)},t,r),n}var XM=Sw("start","end","cancel","interrupt"),JM=[],qw=0,Hm=1,fh=2,ba=3,Vm=4,hh=5,wa=6;function Ol(e,t,r,n,o,i){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;ZM(e,r,{name:t,index:n,group:o,on:XM,tween:JM,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:qw})}function Ed(e,t){var r=fr(e,t);if(r.state>qw)throw new Error("too late; already scheduled");return r}function Ir(e,t){var r=fr(e,t);if(r.state>ba)throw new Error("too late; already running");return r}function fr(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function ZM(e,t,r){var n=e.__transition,o;n[t]=r,r.timer=Vw(i,0,r.time);function i(u){r.state=Hm,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var c,d,p,g;if(r.state!==Hm)return l();for(c in n)if(g=n[c],g.name===r.name){if(g.state===ba)return Wm(a);g.state===Vm?(g.state=wa,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete n[c]):+cfh&&n.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function ON(e,t,r){var n,o,i=RN(t)?Ed:Ir;return function(){var a=i(this,e),s=a.on;s!==n&&(o=(n=s).copy()).on(t,r),a.on=o}}function kN(e,t){var r=this._id;return arguments.length<2?fr(this.node(),r).on.on(e):this.each(ON(r,e,t))}function MN(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function NN(){return this.on("end.remove",MN(this._id))}function PN(e){var t=this._name,r=this._id;typeof e!="function"&&(e=md(e));for(var n=this._groups,o=n.length,i=new Array(o),a=0;a+e;function tP(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var rP={time:null,delay:0,duration:250,ease:tP};function nP(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function iP(e){var t,r;e instanceof Jr?(t=e._id,e=e._name):(t=zw(),(r=rP).time=vd(),e=e==null?null:e+"");for(var n=this._groups,o=n.length,i=0;i=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Gw;const r=10**t;return function(n){this._+=n[0];for(let o=1,i=n.length;oHn)if(!(Math.abs(d*l-u*c)>Hn)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let g=n-a,_=o-s,b=l*l+u*u,E=g*g+_*_,v=Math.sqrt(b),S=Math.sqrt(p),w=i*Math.tan((dh-Math.acos((b+p-E)/(2*v*S)))/2),C=w/S,R=w/v;Math.abs(C-1)>Hn&&this._append`L${t+C*c},${r+C*d}`,this._append`A${i},${i},0,0,${+(d*g>c*_)},${this._x1=t+R*l},${this._y1=r+R*u}`}}arc(t,r,n,o,i,a){if(t=+t,r=+r,n=+n,a=!!a,n<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(o),l=n*Math.sin(o),u=t+s,c=r+l,d=1^a,p=a?o-i:i-o;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Hn||Math.abs(this._y1-c)>Hn)&&this._append`L${u},${c}`,n&&(p<0&&(p=p%ph+ph),p>oP?this._append`A${n},${n},0,1,${d},${t-s},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=c}`:p>Hn&&this._append`A${n},${n},0,${+(p>=dh)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+o}h${-n}Z`}toString(){return this._}}function lP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Ya(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function oo(e){return e=Ya(Math.abs(e)),e?e[1]:NaN}function uP(e,t){return function(r,n){for(var o=r.length,i=[],a=0,s=e[0],l=0;o>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),i.push(r.substring(o-=s,o+s)),!((l+=s+1)>n));)s=e[a=(a+1)%e.length];return i.reverse().join(t)}}function cP(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var fP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function za(e){if(!(t=fP.exec(e)))throw new Error("invalid format: "+e);var t;return new Ad({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}za.prototype=Ad.prototype;function Ad(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Ad.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function hP(e){e:for(var t=e.length,r=1,n=-1,o;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(o+1):e}var Qw;function dP(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],o=r[1],i=o-(Qw=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Ya(e,Math.max(0,t+i-1))[0]}function qm(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+n:n.length>o+1?n.slice(0,o+1)+"."+n.slice(o+1):n+new Array(o-n.length+2).join("0")}const Km={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:lP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>qm(e*100,t),r:qm,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ym(e){return e}var zm=Array.prototype.map,Gm=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function pP(e){var t=e.grouping===void 0||e.thousands===void 0?Ym:uP(zm.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?Ym:cP(zm.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(d){d=za(d);var p=d.fill,g=d.align,_=d.sign,b=d.symbol,E=d.zero,v=d.width,S=d.comma,w=d.precision,C=d.trim,R=d.type;R==="n"?(S=!0,R="g"):Km[R]||(w===void 0&&(w=12),C=!0,R="g"),(E||p==="0"&&g==="=")&&(E=!0,p="0",g="=");var O=b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():"",D=b==="$"?n:/[%p]/.test(R)?a:"",V=Km[R],re=/[defgprs%]/.test(R);w=w===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function G(X){var L=O,$=D,ae,fe,de;if(R==="c")$=V(X)+$,X="";else{X=+X;var pe=X<0||1/X<0;if(X=isNaN(X)?l:V(Math.abs(X),w),C&&(X=hP(X)),pe&&+X==0&&_!=="+"&&(pe=!1),L=(pe?_==="("?_:s:_==="-"||_==="("?"":_)+L,$=(R==="s"?Gm[8+Qw/3]:"")+$+(pe&&_==="("?")":""),re){for(ae=-1,fe=X.length;++aede||de>57){$=(de===46?o+X.slice(ae+1):X.slice(ae))+$,X=X.slice(0,ae);break}}}S&&!E&&(X=t(X,1/0));var z=L.length+X.length+$.length,ge=z>1)+L+X+$+ge.slice(z);break;default:X=ge+L+X+$;break}return i(X)}return G.toString=function(){return d+""},G}function c(d,p){var g=u((d=za(d),d.type="f",d)),_=Math.max(-8,Math.min(8,Math.floor(oo(p)/3)))*3,b=Math.pow(10,-_),E=Gm[8+_/3];return function(v){return g(b*v)+E}}return{format:u,formatPrefix:c}}var Qs,Xw,Jw;gP({thousands:",",grouping:[3],currency:["$",""]});function gP(e){return Qs=pP(e),Xw=Qs.format,Jw=Qs.formatPrefix,Qs}function mP(e){return Math.max(0,-oo(Math.abs(e)))}function yP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(oo(t)/3)))*3-oo(Math.abs(e)))}function _P(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,oo(t)-oo(e))+1}function kl(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}const Qm=Symbol("implicit");function Zw(){var e=new Im,t=[],r=[],n=Qm;function o(i){let a=e.get(i);if(a===void 0){if(n!==Qm)return n;e.set(i,a=t.push(i)-1)}return r[a%r.length]}return o.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new Im;for(const a of i)e.has(a)||e.set(a,t.push(a)-1);return o},o.range=function(i){return arguments.length?(r=Array.from(i),o):r.slice()},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return Zw(t,r).unknown(n)},kl.apply(o,arguments),o}function bP(){var e=Zw().unknown(void 0),t=e.domain,r=e.range,n=0,o=1,i,a,s=!1,l=0,u=0,c=.5;delete e.unknown;function d(){var p=t().length,g=ot&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function SP(e,t,r){var n=e[0],o=e[1],i=t[0],a=t[1];return o2?AP:SP,l=u=null,d}function d(p){return p==null||isNaN(p=+p)?i:(l||(l=s(e.map(n),t,r)))(n(a(p)))}return d.invert=function(p){return a(o((u||(u=s(t,e.map(n),sr)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,vP),c()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),c()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=WM,c()},d.clamp=function(p){return arguments.length?(a=p?!0:Di,c()):a!==Di},d.interpolate=function(p){return arguments.length?(r=p,c()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,g){return n=p,o=g,c()}}function tv(){return TP()(Di,Di)}function xP(e,t,r,n){var o=ih(e,t,r),i;switch(n=za(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=yP(o,a))&&(n.precision=i),Jw(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=_P(o,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=mP(o))&&(n.precision=i-(n.type==="%")*2);break}}return Xw(n)}function IP(e){var t=e.domain;return e.ticks=function(r){var n=t();return kO(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var o=t();return xP(o[0],o[o.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),o=0,i=n.length-1,a=n[o],s=n[i],l,u,c=10;for(s0;){if(u=nh(a,s,r),u===l)return n[o]=a,n[i]=s,t(n);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;l=u}return e},e}function CP(){var e=tv();return e.copy=function(){return ev(e,CP())},kl.apply(e,arguments),IP(e)}function RP(e,t){e=e.slice();var r=0,n=e.length-1,o=e[r],i=e[n],a;return i(e(i=new Date(+i)),i),o.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),o.round=i=>{const a=o(i),s=o.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),o.range=(i,a,s)=>{const l=[];if(i=o.ceil(i),s=s==null?1:Math.floor(s),!(i0))return l;let u;do l.push(u=new Date(+i)),t(i,s),e(i);while(uct(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!i(a););else for(;--s>=0;)for(;t(a,1),!i(a););}),r&&(o.count=(i,a)=>(ac.setTime(+i),lc.setTime(+a),e(ac),e(lc),Math.floor(r(ac,lc))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(n?a=>n(a)%i===0:a=>o.count(0,a)%i===0):o)),o}const Ga=ct(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ga.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?ct(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ga);Ga.range;const Hr=1e3,Qt=Hr*60,Vr=Qt*60,Zr=Vr*24,Td=Zr*7,Jm=Zr*30,uc=Zr*365,Ui=ct(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Hr)},(e,t)=>(t-e)/Hr,e=>e.getUTCSeconds());Ui.range;const xd=ct(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Hr)},(e,t)=>{e.setTime(+e+t*Qt)},(e,t)=>(t-e)/Qt,e=>e.getMinutes());xd.range;const OP=ct(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Qt)},(e,t)=>(t-e)/Qt,e=>e.getUTCMinutes());OP.range;const Id=ct(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Hr-e.getMinutes()*Qt)},(e,t)=>{e.setTime(+e+t*Vr)},(e,t)=>(t-e)/Vr,e=>e.getHours());Id.range;const kP=ct(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Vr)},(e,t)=>(t-e)/Vr,e=>e.getUTCHours());kP.range;const Es=ct(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Qt)/Zr,e=>e.getDate()-1);Es.range;const Cd=ct(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Zr,e=>e.getUTCDate()-1);Cd.range;const MP=ct(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Zr,e=>Math.floor(e/Zr));MP.range;function vi(e){return ct(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Qt)/Td)}const Ml=vi(0),Qa=vi(1),NP=vi(2),PP=vi(3),so=vi(4),LP=vi(5),BP=vi(6);Ml.range;Qa.range;NP.range;PP.range;so.range;LP.range;BP.range;function Ei(e){return ct(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Td)}const rv=Ei(0),Xa=Ei(1),DP=Ei(2),UP=Ei(3),ao=Ei(4),FP=Ei(5),$P=Ei(6);rv.range;Xa.range;DP.range;UP.range;ao.range;FP.range;$P.range;const Rd=ct(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Rd.range;const jP=ct(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());jP.range;const en=ct(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());en.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ct(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});en.range;const fi=ct(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());fi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ct(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});fi.range;function WP(e,t,r,n,o,i){const a=[[Ui,1,Hr],[Ui,5,5*Hr],[Ui,15,15*Hr],[Ui,30,30*Hr],[i,1,Qt],[i,5,5*Qt],[i,15,15*Qt],[i,30,30*Qt],[o,1,Vr],[o,3,3*Vr],[o,6,6*Vr],[o,12,12*Vr],[n,1,Zr],[n,2,2*Zr],[r,1,Td],[t,1,Jm],[t,3,3*Jm],[e,1,uc]];function s(u,c,d){const p=cE).right(a,p);if(g===a.length)return e.every(ih(u/uc,c/uc,d));if(g===0)return Ga.every(Math.max(ih(u,c,d),1));const[_,b]=a[p/a[g-1][2]53)return null;"w"in A||(A.w=1),"Z"in A?(M=fc(Po(A.y,0,1)),I=M.getUTCDay(),M=I>4||I===0?Xa.ceil(M):Xa(M),M=Cd.offset(M,(A.V-1)*7),A.y=M.getUTCFullYear(),A.m=M.getUTCMonth(),A.d=M.getUTCDate()+(A.w+6)%7):(M=cc(Po(A.y,0,1)),I=M.getDay(),M=I>4||I===0?Qa.ceil(M):Qa(M),M=Es.offset(M,(A.V-1)*7),A.y=M.getFullYear(),A.m=M.getMonth(),A.d=M.getDate()+(A.w+6)%7)}else("W"in A||"U"in A)&&("w"in A||(A.w="u"in A?A.u%7:"W"in A?1:0),I="Z"in A?fc(Po(A.y,0,1)).getUTCDay():cc(Po(A.y,0,1)).getDay(),A.m=0,A.d="W"in A?(A.w+6)%7+A.W*7-(I+5)%7:A.w+A.U*7-(I+6)%7);return"Z"in A?(A.H+=A.Z/100|0,A.M+=A.Z%100,fc(A)):cc(A)}}function V(W,te,ee,A){for(var T=0,M=te.length,I=ee.length,B,U;T=I)return-1;if(B=te.charCodeAt(T++),B===37){if(B=te.charAt(T++),U=R[B in Zm?te.charAt(T++):B],!U||(A=U(W,ee,A))<0)return-1}else if(B!=ee.charCodeAt(A++))return-1}return A}function re(W,te,ee){var A=u.exec(te.slice(ee));return A?(W.p=c.get(A[0].toLowerCase()),ee+A[0].length):-1}function G(W,te,ee){var A=g.exec(te.slice(ee));return A?(W.w=_.get(A[0].toLowerCase()),ee+A[0].length):-1}function X(W,te,ee){var A=d.exec(te.slice(ee));return A?(W.w=p.get(A[0].toLowerCase()),ee+A[0].length):-1}function L(W,te,ee){var A=v.exec(te.slice(ee));return A?(W.m=S.get(A[0].toLowerCase()),ee+A[0].length):-1}function $(W,te,ee){var A=b.exec(te.slice(ee));return A?(W.m=E.get(A[0].toLowerCase()),ee+A[0].length):-1}function ae(W,te,ee){return V(W,t,te,ee)}function fe(W,te,ee){return V(W,r,te,ee)}function de(W,te,ee){return V(W,n,te,ee)}function pe(W){return a[W.getDay()]}function z(W){return i[W.getDay()]}function ge(W){return l[W.getMonth()]}function Y(W){return s[W.getMonth()]}function he(W){return o[+(W.getHours()>=12)]}function N(W){return 1+~~(W.getMonth()/3)}function ne(W){return a[W.getUTCDay()]}function ye(W){return i[W.getUTCDay()]}function se(W){return l[W.getUTCMonth()]}function Q(W){return s[W.getUTCMonth()]}function q(W){return o[+(W.getUTCHours()>=12)]}function k(W){return 1+~~(W.getUTCMonth()/3)}return{format:function(W){var te=O(W+="",w);return te.toString=function(){return W},te},parse:function(W){var te=D(W+="",!1);return te.toString=function(){return W},te},utcFormat:function(W){var te=O(W+="",C);return te.toString=function(){return W},te},utcParse:function(W){var te=D(W+="",!0);return te.toString=function(){return W},te}}}var Zm={"-":"",_:" ",0:"0"},ht=/^\s*\d+/,KP=/^%/,YP=/[\\^$*+?|[\]().{}]/g;function $e(e,t,r){var n=e<0?"-":"",o=(n?-e:e)+"",i=o.length;return n+(i[t.toLowerCase(),r]))}function GP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function QP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function XP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function JP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function ZP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function ey(e,t,r){var n=ht.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function ty(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function e2(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function t2(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function r2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function ry(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function n2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function ny(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function i2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function o2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function s2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function a2(e,t,r){var n=ht.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function l2(e,t,r){var n=KP.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function u2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function c2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function iy(e,t){return $e(e.getDate(),t,2)}function f2(e,t){return $e(e.getHours(),t,2)}function h2(e,t){return $e(e.getHours()%12||12,t,2)}function d2(e,t){return $e(1+Es.count(en(e),e),t,3)}function nv(e,t){return $e(e.getMilliseconds(),t,3)}function p2(e,t){return nv(e,t)+"000"}function g2(e,t){return $e(e.getMonth()+1,t,2)}function m2(e,t){return $e(e.getMinutes(),t,2)}function y2(e,t){return $e(e.getSeconds(),t,2)}function _2(e){var t=e.getDay();return t===0?7:t}function b2(e,t){return $e(Ml.count(en(e)-1,e),t,2)}function iv(e){var t=e.getDay();return t>=4||t===0?so(e):so.ceil(e)}function w2(e,t){return e=iv(e),$e(so.count(en(e),e)+(en(e).getDay()===4),t,2)}function v2(e){return e.getDay()}function E2(e,t){return $e(Qa.count(en(e)-1,e),t,2)}function S2(e,t){return $e(e.getFullYear()%100,t,2)}function A2(e,t){return e=iv(e),$e(e.getFullYear()%100,t,2)}function T2(e,t){return $e(e.getFullYear()%1e4,t,4)}function x2(e,t){var r=e.getDay();return e=r>=4||r===0?so(e):so.ceil(e),$e(e.getFullYear()%1e4,t,4)}function I2(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+$e(t/60|0,"0",2)+$e(t%60,"0",2)}function oy(e,t){return $e(e.getUTCDate(),t,2)}function C2(e,t){return $e(e.getUTCHours(),t,2)}function R2(e,t){return $e(e.getUTCHours()%12||12,t,2)}function O2(e,t){return $e(1+Cd.count(fi(e),e),t,3)}function ov(e,t){return $e(e.getUTCMilliseconds(),t,3)}function k2(e,t){return ov(e,t)+"000"}function M2(e,t){return $e(e.getUTCMonth()+1,t,2)}function N2(e,t){return $e(e.getUTCMinutes(),t,2)}function P2(e,t){return $e(e.getUTCSeconds(),t,2)}function L2(e){var t=e.getUTCDay();return t===0?7:t}function B2(e,t){return $e(rv.count(fi(e)-1,e),t,2)}function sv(e){var t=e.getUTCDay();return t>=4||t===0?ao(e):ao.ceil(e)}function D2(e,t){return e=sv(e),$e(ao.count(fi(e),e)+(fi(e).getUTCDay()===4),t,2)}function U2(e){return e.getUTCDay()}function F2(e,t){return $e(Xa.count(fi(e)-1,e),t,2)}function $2(e,t){return $e(e.getUTCFullYear()%100,t,2)}function j2(e,t){return e=sv(e),$e(e.getUTCFullYear()%100,t,2)}function W2(e,t){return $e(e.getUTCFullYear()%1e4,t,4)}function H2(e,t){var r=e.getUTCDay();return e=r>=4||r===0?ao(e):ao.ceil(e),$e(e.getUTCFullYear()%1e4,t,4)}function V2(){return"+0000"}function sy(){return"%"}function ay(e){return+e}function ly(e){return Math.floor(+e/1e3)}var Ci,av,q2;K2({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function K2(e){return Ci=qP(e),av=Ci.format,q2=Ci.parse,Ci.utcFormat,Ci.utcParse,Ci}function Y2(e){return new Date(e)}function z2(e){return e instanceof Date?+e:+new Date(+e)}function lv(e,t,r,n,o,i,a,s,l,u){var c=tv(),d=c.invert,p=c.domain,g=u(".%L"),_=u(":%S"),b=u("%I:%M"),E=u("%I %p"),v=u("%a %d"),S=u("%b %d"),w=u("%B"),C=u("%Y");function R(O){return(l(O)1?0:e<-1?cs:Math.acos(e)}function cy(e){return e>=1?Ja:e<=-1?-Ja:Math.asin(e)}function Od(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new aP(t)}function X2(e){return e.innerRadius}function J2(e){return e.outerRadius}function Z2(e){return e.startAngle}function eL(e){return e.endAngle}function tL(e){return e&&e.padAngle}function rL(e,t,r,n,o,i,a,s){var l=r-e,u=n-t,c=a-o,d=s-i,p=d*l-c*u;if(!(p*pae*ae+fe*fe&&(V=G,re=X),{cx:V,cy:re,x01:-c,y01:-d,x11:V*(o/R-1),y11:re*(o/R-1)}}function NL(){var e=X2,t=J2,r=Ue(0),n=null,o=Z2,i=eL,a=tL,s=null,l=Od(u);function u(){var c,d,p=+e.apply(this,arguments),g=+t.apply(this,arguments),_=o.apply(this,arguments)-Ja,b=i.apply(this,arguments)-Ja,E=uy(b-_),v=b>_;if(s||(s=c=l()),gMt))s.moveTo(0,0);else if(E>va-Mt)s.moveTo(g*$n(_),g*pr(_)),s.arc(0,0,g,_,b,!v),p>Mt&&(s.moveTo(p*$n(b),p*pr(b)),s.arc(0,0,p,b,_,v));else{var S=_,w=b,C=_,R=b,O=E,D=E,V=a.apply(this,arguments)/2,re=V>Mt&&(n?+n.apply(this,arguments):Fi(p*p+g*g)),G=hc(uy(g-p)/2,+r.apply(this,arguments)),X=G,L=G,$,ae;if(re>Mt){var fe=cy(re/p*pr(V)),de=cy(re/g*pr(V));(O-=fe*2)>Mt?(fe*=v?1:-1,C+=fe,R-=fe):(O=0,C=R=(_+b)/2),(D-=de*2)>Mt?(de*=v?1:-1,S+=de,w-=de):(D=0,S=w=(_+b)/2)}var pe=g*$n(S),z=g*pr(S),ge=p*$n(R),Y=p*pr(R);if(G>Mt){var he=g*$n(w),N=g*pr(w),ne=p*$n(C),ye=p*pr(C),se;if(EMt?L>Mt?($=Xs(ne,ye,pe,z,g,L,v),ae=Xs(he,N,ge,Y,g,L,v),s.moveTo($.cx+$.x01,$.cy+$.y01),LMt)||!(O>Mt)?s.lineTo(ge,Y):X>Mt?($=Xs(ge,Y,he,N,p,-X,v),ae=Xs(pe,z,ne,ye,p,-X,v),s.lineTo($.cx+$.x01,$.cy+$.y01),X=g;--_)s.point(w[_],C[_]);s.lineEnd(),s.areaEnd()}v&&(w[p]=+e(E,p,d),C[p]=+t(E,p,d),s.point(n?+n(E,p,d):w[p],r?+r(E,p,d):C[p]))}if(S)return s=null,S+""||null}function c(){return nL().defined(o).curve(a).context(i)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Ue(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Ue(+d),u):r},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(r)},u.lineX1=function(){return c().x(n).y(t)},u.defined=function(d){return arguments.length?(o=typeof d=="function"?d:Ue(!!d),u):o},u.curve=function(d){return arguments.length?(a=d,i!=null&&(s=a(i)),u):a},u.context=function(d){return arguments.length?(d==null?i=s=null:s=a(i=d),u):i},u}function iL(e,t){return te?1:t>=e?0:NaN}function oL(e){return e}function LL(){var e=oL,t=iL,r=null,n=Ue(0),o=Ue(va),i=Ue(0);function a(s){var l,u=(s=Nl(s)).length,c,d,p=0,g=new Array(u),_=new Array(u),b=+n.apply(this,arguments),E=Math.min(va,Math.max(-va,o.apply(this,arguments)-b)),v,S=Math.min(Math.abs(E)/u,i.apply(this,arguments)),w=S*(E<0?-1:1),C;for(l=0;l0&&(p+=C);for(t!=null?g.sort(function(R,O){return t(_[R],_[O])}):r!=null&&g.sort(function(R,O){return r(s[R],s[O])}),l=0,d=p?(E-u*w)/p:0;l0?C*d:0)+w,_[c]={data:s[c],index:l,value:C,startAngle:b,endAngle:v,padAngle:S};return _}return a.value=function(s){return arguments.length?(e=typeof s=="function"?s:Ue(+s),a):e},a.sortValues=function(s){return arguments.length?(t=s,r=null,a):t},a.sort=function(s){return arguments.length?(r=s,t=null,a):r},a.startAngle=function(s){return arguments.length?(n=typeof s=="function"?s:Ue(+s),a):n},a.endAngle=function(s){return arguments.length?(o=typeof s=="function"?s:Ue(+s),a):o},a.padAngle=function(s){return arguments.length?(i=typeof s=="function"?s:Ue(+s),a):i},a}function fy(e,t){if((a=e.length)>1)for(var r=1,n,o,i=e[t[0]],a,s=i.length;r=0;)r[t]=t;return r}function sL(e,t){return e[t]}function aL(e){const t=[];return t.key=e,t}function BL(){var e=Ue([]),t=hy,r=fy,n=sL;function o(i){var a=Array.from(e.apply(this,arguments),aL),s,l=a.length,u=-1,c;for(const d of i)for(s=0,++u;s - + openWB Display - - - + + +
diff --git a/packages/modules/internal_chargepoint_handler/pro_plus.py b/packages/modules/internal_chargepoint_handler/pro_plus.py index 2798be3a93..ac44851e1d 100644 --- a/packages/modules/internal_chargepoint_handler/pro_plus.py +++ b/packages/modules/internal_chargepoint_handler/pro_plus.py @@ -27,7 +27,6 @@ def store_state(chargepoint_state: ChargepointState) -> None: try: chargepoint_state = super().request_values() - chargepoint_state.rfid = last_tag except (requests.exceptions.ConnectTimeout, requests.exceptions.ConnectionError): raise Exception("Interner Ladepunkt ist nicht erreichbar.") diff --git a/packages/modules/vehicles/polestar/api.py b/packages/modules/vehicles/polestar/api.py index 63847faae1..464c701e03 100755 --- a/packages/modules/vehicles/polestar/api.py +++ b/packages/modules/vehicles/polestar/api.py @@ -45,15 +45,15 @@ def query_params(self, params: dict, url='https://pc-api.polestar.com/eu-north-1 def get_battery_data(self) -> dict or None: params = { - "query": "query carTelematics($vin: String!) { carTelematics(vin: $vin) { " - + "battery { batteryChargeLevelPercentage estimatedDistanceToEmptyKm } } }", - "operationName": "carTelematics", + "query": "query GetBatteryData($vin: String!) { getBatteryData(vin: $vin) { " + + "batteryChargeLevelPercentage estimatedDistanceToEmptyKm } }", + "operationName": "GetBatteryData", "variables": "{\"vin\":\"" + self.vin + "\"}" } result = self.query_params(params) - return result['data']['carTelematics']['battery'] + return result['data']['getBatteryData'] def check_vin(self) -> None: # get Vehicle Data @@ -62,7 +62,7 @@ def check_vin(self) -> None: "operationName": "GetConsumerCarsV2", "variables": "{}" } - result = self.query_params(params) + result = self.query_params(params, url='https://pc-api.polestar.com/eu-north-1/my-star/') if result is not None and result['data'] is not None: vins = [] # get list of cars and store the ones not matching our vin @@ -86,4 +86,4 @@ def fetch_soc(user_id: str, password: str, vin: str, vehicle: int) -> CarState: soc = bat_data['batteryChargeLevelPercentage'] est_range = bat_data['estimatedDistanceToEmptyKm'] - return CarState(soc, est_range, time.time()) + return CarState(soc, est_range, time.strftime("%m/%d/%Y, %H:%M:%S")) diff --git a/packages/modules/web_themes/colors/source/src/assets/js/helpers.ts b/packages/modules/web_themes/colors/source/src/assets/js/helpers.ts index 43c9c965ac..920d0e48cb 100755 --- a/packages/modules/web_themes/colors/source/src/assets/js/helpers.ts +++ b/packages/modules/web_themes/colors/source/src/assets/js/helpers.ts @@ -81,7 +81,7 @@ export function formatTime(seconds: number) { } } export function formatCurrentTime(d: Date) { - return d.toLocaleTimeString(['de-DE'], { hour: '2-digit', minute: '2-digit' }) + return d.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }) } export function formatDate(d: Date, mode: string = 'day') { diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue index 6a2648ce41..3a4c51c4f0 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue @@ -235,6 +235,7 @@ ).toFixed(1) + ' ct' : '-' }} + { const modeStyle = computed(() => { switch (props.chargepoint.chargeMode) { case 'stop': - return { 'background-color': 'var(--color-input)' } + return { 'background-color': 'var(--fg)' } default: return { 'background-color': chargemodes[props.chargepoint.chargeMode].color, diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts b/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts index 8ea0944683..b629f6288b 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts @@ -274,8 +274,6 @@ export class Vehicle { this.id = index } private _chargeTemplateId = 0 - isSocConfigured = false - isSocManual = false get chargeTemplateId() { return this._chargeTemplateId } diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts b/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts index fd35958b08..eb9d11b74e 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/processMessages.ts @@ -173,8 +173,6 @@ export function processVehicleMessages(topic: string, message: string) { cp.isSocManual = config.type == 'manual' } }) - vehicles[index].isSocConfigured = config.type !== null - vehicles[index].isSocManual = config.type == 'manual' } else { // console.warn('Ignored vehicle message [' + topic + ']=' + message) } diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue index 7385b562a5..56d5df951c 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSoc.vue @@ -1,34 +1,32 @@ @@ -77,6 +75,7 @@ const myline = computed(() => { : d['soc' + topVehicles.value[1]!], ) ?? yScale.value(0), ) + let p = path(graphData.data) return p ? p : '' }) @@ -117,11 +116,11 @@ const cpColor = computed(() => { const nameX = computed(() => { switch (props.order) { case 0: - return 3 // first vehicle + return 3 case 1: - return props.width - 3 // 2nd vehicle + return props.width - 3 case 2: - return props.width / 2 // battery + return props.width / 2 default: return 0 // error } @@ -131,16 +130,15 @@ const nameY = computed(() => { if (graphData.data.length > 0) { let index: number switch (props.order) { - case 0: // 1st vehicle - index = 0 + case 0: + index = graphData.data.length - 1 return yScale.value( graphData.data[index]['soc' + topVehicles.value[0]] + 2, ) case 1: - index = graphData.data.length - 1 - return Math.max( - 12, - yScale.value(graphData.data[index]['soc' + topVehicles.value[1]] + 2), + index = 0 + return yScale.value( + graphData.data[index]['soc' + topVehicles.value[1]] + 2, ) case 2: index = Math.round(graphData.data.length / 2) diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue index 9630a561e2..a64be7c66d 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgSourceGraph.vue @@ -103,17 +103,14 @@ const keysToUse = computed(() => { if (globalConfig.showInverters) { const pattern = /pv\d+/ if (graphData.data.length > 0) { - /* additionalKeys = Object.keys(graphData.data[0]).reduce( - (list: string[], itemKey: string) => { - if (itemKey.match(pattern)) { - list.push(itemKey) + additionalKeys = Object.keys(graphData.data[0]).reduce( + (list: string[], element: string) => { + if (element.match(pattern)) { + list.push(element) } return list }, [], - ) */ - additionalKeys = Object.keys(graphData.data[0]).filter((itemKey) => - itemKey.match(pattern), ) } } diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue index 23f23d5f1a..1a8162a7e1 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgUsageGraph.vue @@ -39,7 +39,7 @@ const props = defineProps<{ //state const keys = computed(() => { - if (!globalConfig.showInverters) { + if (globalConfig.showInverters) { return [ ['house', 'charging', 'devices', 'batIn'], ['charging', 'devices', 'batIn', 'house'], @@ -141,18 +141,23 @@ const keysToUse = computed(() => { const pattern = /cp\d+/ let additionalKeys: string[] = [] if (graphData.data.length > 0) { - additionalKeys = Object.keys(graphData.data[0]).filter((itemKey) => - itemKey.match(pattern), + additionalKeys = Object.keys(graphData.data[0]).reduce( + (list: string[], element: string) => { + if (element.match(pattern)) { + list.push(element) + } + return list + }, + [], ) } additionalKeys.forEach((key, i) => { k.splice(idx + i, 0, key) - colors[key] = - chargePoints[+key.slice(2)]?.color ?? 'var(--color-charging)' + colors[key] = chargePoints[+key.slice(2)]?.color ?? 'black' }) - /* if (globalConfig.showInverters) { + if (globalConfig.showInverters) { k.push('evuOut') - } */ + } return k } }) diff --git a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue index c2393f1740..9d2b9e80b7 100755 --- a/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue +++ b/packages/modules/web_themes/colors/source/src/components/powerGraph/PgXAxis.vue @@ -5,7 +5,7 @@ :transform="'translate(' + 0 + ',' + (height / 2 + 9) + ')'" > - + diff --git a/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue b/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue index 802aa52bd4..0b9e9f8ad4 100755 --- a/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue +++ b/packages/modules/web_themes/colors/source/src/components/vehicleList/VlVehicle.vue @@ -12,21 +12,7 @@ > - - - + {{ Math.round(props.vehicle.soc) }} % {{ Math.round(props.vehicle.range) }} km -
- Ladestand einstellen: - - - - - - -
diff --git a/packages/modules/web_themes/colors/source/vite.config.ts b/packages/modules/web_themes/colors/source/vite.config.ts index 3821596212..3102bcba62 100755 --- a/packages/modules/web_themes/colors/source/vite.config.ts +++ b/packages/modules/web_themes/colors/source/vite.config.ts @@ -7,17 +7,17 @@ import nodePolyfills from "rollup-plugin-polyfill-node"; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [vue({ - template: { - compilerOptions: { - isCustomElement: (tag) => ['swiper-slide', 'swiper-container', 'swiper-pagination'].includes(tag) - } - } - }), + plugins: [vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => ['swiper-slide', 'swiper-container', 'swiper-pagination'].includes(tag) + } + } + }), splitVendorChunkPlugin(), - ], - resolve: { - alias: { + ], + resolve: { + alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), url: "rollup-plugin-node-polyfills/polyfills/url", util: "rollup-plugin-node-polyfills/polyfills/util", diff --git a/packages/modules/display_themes/colors/web/assets/index-IvlcCM6O.css b/packages/modules/web_themes/colors/web/assets/index-BM5jgL8d.css similarity index 70% rename from packages/modules/display_themes/colors/web/assets/index-IvlcCM6O.css rename to packages/modules/web_themes/colors/web/assets/index-BM5jgL8d.css index 8efda4a67c..eb0b9099fb 100644 --- a/packages/modules/display_themes/colors/web/assets/index-IvlcCM6O.css +++ b/packages/modules/web_themes/colors/web/assets/index-BM5jgL8d.css @@ -1,9 +1,9 @@ -@charset "UTF-8";.displaybutton[data-v-0f8aebee]{border:.1px solid var(--color-frame);padding:6px 8px;align-self:top;box-shadow:1px 3px #000;font-weight:700;font-size:var(--font-small)}.navigation[data-v-6d0b9541]{display:flex;justify-content:space-between;padding:2px 10px;align-items:center;border-top:0px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.timedisplay[data-v-6d0b9541]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.navbar[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.graphbuttons[data-v-6d0b9541],.cpbuttons[data-v-6d0b9541]{display:flex;justify-content:left;align-items:center;gap:5px}.dropdown-menu[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-6d0b9541]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-6d0b9541]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-6d0b9541]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-6d0b9541]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-6d0b9541]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.brand[data-v-6d0b9541]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.wb-widget[data-v-e8292acd]{background-color:var(--color-bg);border:.1px solid var(--color-frame);height:100%;align-self:stretch;width:100%;border-radius:30px}.wb-subwidget[data-v-e8292acd]{border:0px solid var(--color-subframe);padding:var(--padding-widget)}.header[data-v-e8292acd]{grid-column:span 12;display:flex;justify-content:space-between;align-items:center}.titles[data-v-e8292acd]{display:flex;flex-direction:column}.title[data-v-e8292acd]{font-size:var(--font-extralarge);color:var(--color-title);font-weight:700;transform:scaleX(.9294)}.cont[data-v-e8292acd]{align-self:stretch;height:100%}.subtitle[data-v-e8292acd]{font-size:var(--font-medium)}.buttons[data-v-e8292acd]{grid-column:span 6}.powermeter{width:100%}.radiobutton[data-v-270067ed]{border:0px solid var(--color-menu);opacity:1;font-size:var(--font-chargebutton);width:75px}.btn-outline-secondary.active[data-v-270067ed]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-270067ed]{border:.1px solid var(--color-menu);box-shadow:1px 3px #000}.rounded-pill[data-v-7fd067cd]{background-color:var(--color-menu)}.arrowButton[data-v-7fd067cd]{border:0}.datebadge[data-v-7fd067cd]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-7fd067cd],.fa-magnifying-glass[data-v-ba892fa4]{color:var(--color-menu)}.datebadge[data-v-ba892fa4]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.energymeter[data-v-35f92695]{width:100%}.modal-content[data-v-dff8d7c2]{background-color:var(--color-bg);border-color:var(--color-menu);box-shadow:3px 5px #000}.modal-footer[data-v-dff8d7c2],.modal-header[data-v-dff8d7c2],.modal-body[data-v-dff8d7c2]{background-color:var(--color-bg);color:var(--color-fg)}.modal-body[data-v-dff8d7c2]{border-color:var(--color-fg)}.modal-footer[data-v-dff8d7c2]{text-align:right}.modal-header .btn-close[data-v-dff8d7c2]{color:var(--color-fg);background-color:var(--color-bg);border:0px}.modal-title[data-v-dff8d7c2]{color:var(--color-fg)}.closebutton[data-v-dff8d7c2]{background:var(--color-fg)}.modal.fade .modal-dialog[data-v-dff8d7c2]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-dff8d7c2]{transition:transform .3s ease-in;transform:none;scale:1}.fa-circle-check[data-v-dff8d7c2]{color:var(--color-fg)}.padbutton[data-v-cc256a6f]{display:flex;align-items:center;justify-content:center;border-radius:50%;border:.1px dotted var(--color-menu);box-shadow:1px 3px #000}.digit[data-v-cc256a6f]{font-size:24px;font-weight:700;text-align:center;align-self:center;justify-self:center;display:flex}.numberpad[data-v-63c8fa5c]{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg)}.codedisplay[data-v-63c8fa5c]{display:flex;align-items:center;justify-content:center;font-size:24px;border:10px;color:var(--color-fg)}.numberentry[data-v-63c8fa5c]{display:grid;grid-template-columns:60px 60px 60px;grid-template-rows:65px 65px 65px 65px;grid-gap:5px}.statustable[data-v-74ffcddc]{display:grid;grid-template-columns:35% 65%;font-size:16px;color:#fff}.header[data-v-74ffcddc]{color:var(--color-fg)}.controlbuttons[data-v-74ffcddc]{font-size:var(--font-settings)}.controlbutton[data-v-74ffcddc]{background-color:var(--color-menu);color:var(--color-fg);font-size:var(--font-settings)}.confirmationBox[data-v-74ffcddc]{border:3px solid var(--color-evu);justify-self:stretch;font-size:var(--font-settings);background-color:var(--color-fg);color:var(--color-evu)}.confirmTitle[data-v-74ffcddc]{font-weight:700}.cancelButton[data-v-74ffcddc]{font-size:var(--font-settings);background-color:var(--color-battery)}.confirmButton[data-v-74ffcddc]{font-size:var(--font-settings);background-color:var(--color-evu);color:var(--color-fg)}.infotext[data-v-45020119]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-45020119]{color:var(--color-charging);font-size:var(--font-settings)}.titlecolumn[data-v-45020119]{color:var(--color-bg);font-size:var(--font-settings)}.selectors[data-v-45020119]{font-size:var(--font-settings)}.configitem[data-v-45020119]{font-size:var(--font-settings);align-items:baseline;justify-content:space-between}.rangewidget[data-v-41dc3794],.rangeslider[data-v-41dc3794]{width:100%}.minlabel[data-v-41dc3794],.maxlabel[data-v-41dc3794]{color:var(--color-menu);font-size:var(--font-settings)}.valuelabel[data-v-41dc3794]{color:var(--color-fg);font-size:var(--font-settings)}.minusButton[data-v-41dc3794],.plusButton[data-v-41dc3794]{color:var(--color-menu);font-size:var(--font-extralarge)}.rangeIndicator[data-v-41dc3794]{margin:0;padding:0;line-height:10px}.radiobutton[data-v-005a14a9]{border:.5px solid var(--color-fg);opacity:.5;font-size:14px}.btn-outline-secondary[data-v-005a14a9]{background-color:var(--color-bg)}.btn-outline-secondary.active[data-v-005a14a9]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #fff;font-weight:700;opacity:1}.instantsettings[data-v-6c87e539]{display:grid;justify-content:center;align-items:center;grid-template-columns:auto auto;grid-gap:20px}.chargeConfigSelect[data-v-6c87e539]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-6c87e539]{color:var(--color-fg);font-size:var(--font-settings);font-weight:700}.form-switch .form-check-input[data-v-547e6de4]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='var(--color-fg)'/%3e%3c/svg%3e");background-color:var(--color-evu)}.form-switch .form-check-input[data-v-547e6de4]:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");background-color:var(--color-pv)}.form-switch .form-check-input[data-v-547e6de4]{border:.1px dotted var(--color-fg);font-size:20px;box-shadow:2px 3px #000}.pvsettings[data-v-908e4b46]{display:grid;justify-content:center;align-items:center;grid-gap:20px;grid-template-columns:auto auto}.chargeConfigSelect[data-v-908e4b46]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-908e4b46]{color:var(--color-pv)}.subtitle[data-v-09a476b7]{font-size:var(--font-large);font-weight:700}.warning[data-v-09a476b7]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-09a476b7],th[data-v-09a476b7]{background-color:var(--color-bg)!important}.timeplantable[data-v-93a76758]{justify-content:center;gap:20px}.subtitle[data-v-93a76758]{font-size:var(--font-large);font-weight:700}.warning[data-v-93a76758]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-93a76758],th[data-v-93a76758]{background-color:var(--color-bg)!important}.chargesettings[data-v-1cad71ed]{display:grid;grid-template-columns:auto,auto;justify-content:center;align-items:center;grid-gap:1px}.status-string[data-v-1cad71ed]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-1cad71ed]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-1cad71ed]{background:green;color:#00f}.nav-tabs .nav-link[data-v-1cad71ed]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1cad71ed]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1cad71ed]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-1cad71ed]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-1cad71ed]{color:var(--color-menu)}.padbutton[data-v-c4e8b67a]{display:flex;align-items:center;justify-content:center;border-radius:50%;border:.1px dotted var(--color-menu);box-shadow:1px 3px #000}.digit[data-v-c4e8b67a]{font-size:18px;font-weight:700;text-align:center;align-self:center;justify-self:center;display:flex}.numberpad[data-v-2cdf4e9c]{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg)}.codedisplay[data-v-2cdf4e9c]{display:flex;align-items:center;justify-content:center;font-size:18px;border:10px;border-radius:10px;color:var(--color-bg);background-color:var(--color-fg)}.numberentry[data-v-2cdf4e9c]{display:grid;grid-template-columns:50px 50px 50px 50px;grid-template-rows:54px 54px 54px 54px;grid-gap:5px}.pricesettings[data-v-e948cbfd]{display:grid;grid-template-columns:50% 50%;grid-template-rows:340px}.grapharea[data-v-e948cbfd]{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0px;overflow:hidden;height:100%}.controlarea[data-v-e948cbfd]{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0px;overflow:hidden;height:100%;padding-left:20px;padding-right:10px}.sliderarea[data-v-e948cbfd]{margin-bottom:45px}.subtitle[data-v-e948cbfd]{font-size:var(--font-settings);font-weight:regular}.priceinput[data-v-e948cbfd]{width:100%}.color-charging[data-v-e948cbfd]{color:var(--color-charging)}.fa-circle-check[data-v-e948cbfd]{color:var(--color-menu)}.settingsheader[data-v-e948cbfd]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-e948cbfd]{color:var(--color-axis);font-size:16px}.confirmbutton[data-v-e948cbfd]{background-color:var(--color-charging);color:var}.keypadbutton[data-v-e948cbfd]{background-color:var(--color-menu)}.jumpbutton[data-v-e948cbfd]{background-color:var(--color-menu);color:var(--color-bg);border:0}.tab-pane[data-v-0f0881fb]{font-size:16px;color:var(--color-fg);background-color:var(--color-bg);align-items:center}.nav-link[data-v-0f0881fb]{font-size:14px;color:var(--color-fg)}.nav-tabs .nav-link.active[data-v-0f0881fb]{background-color:var(--color-fg)}.fa-bolt[data-v-0f0881fb],.fa-charging-station[data-v-0f0881fb]{color:var(--color-charging)}.fa-bullseye[data-v-0f0881fb]{color:var(--color-battery)}.fa-solar-panel[data-v-0f0881fb]{color:var(--color-pv)}.fa-lock[data-v-0f0881fb]{color:var(--color-evu)}.fa-coins[data-v-0f0881fb]{color:var(--color-charging)}.heading[data-v-9215fd9b]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-9215fd9b]{color:var(--color-fg);font-weight:700}.batIcon[data-v-fc156cd3]{color:var(--color-menu)}.titleline[data-v-e2bd6528]{display:flex;justify-content:left}.infoline[data-v-e2bd6528]{display:flex;justify-content:space-between;flex-direction:row}.chargemodes[data-v-e2bd6528]{grid-column:1 / 13;justify-self:center}.carname[data-v-e2bd6528]{color:var(--color-fg);font-size:var(--font-medium)}.maxprice[data-v-e2bd6528]{font-size:var(--font-medium);color:var(--color-fg)}.fa-star[data-v-e2bd6528]{color:var(--color-evu)}.fa-circle-check[data-v-e2bd6528]{font-size:20pt}.fa-edit[data-v-e2bd6528]{font-size:8pt}.socEditor[data-v-e2bd6528]{border:1px solid var(--color-menu);justify-self:stretch}.vehicleinfo[data-v-e2bd6528]{display:flex;flex-direction:column}.fa-clock[data-v-06522231]{color:var(--color-battery)}.fa-car[data-v-06522231],.fa-ellipsis-vertical[data-v-06522231],.fa-circle-check[data-v-06522231]{color:var(--color-menu)}.fa-coins[data-v-06522231]{color:var(--color-battery)}.fa-edit[data-v-06522231],.targetCurrent[data-v-06522231]{color:var(--color-menu)}.content[data-v-9b3643f1]{display:grid;grid-template-columns:380px 420px;grid-template-rows:430px;overflow:hidden;min-width:0px}.leftside[data-v-9b3643f1]{min-width:0px;overflow:hidden;height:100%;align-self:stretch}.rightside[data-v-9b3643f1]{min-width:0px;overflow:hidden;height:100%;align-self:stretch;align-items:stretch}.settingstitle[data-v-9b3643f1],.statustitle[data-v-9b3643f1]{color:var(--color-fg)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! +@charset "UTF-8";.form-select[data-v-98690e5d]{background-color:var(--color-input);border:1;border-color:var(--color-bg);color:var(--color-bg);text-align:start;font-size:var(--font-small)}.commitbutton[data-v-98690e5d]{background-color:var(--color-bg);color:var(--color-input)}option[data-v-98690e5d]{color:green}.form-select[data-v-98690e5d]{font-size:var(--font-verysmall);background-color:var(--color-menu);color:var(--color-fg)}.optiontable[data-v-98690e5d]{background-color:var(--color-menu)}.optionbutton[data-v-98690e5d]{font-size:var(--font-small);color:#fff;background-color:var(--color-menu);font-size:var(--font-verysmall);text-align:center}.dropdown-menu[data-v-98690e5d]{background-color:var(--color-menu)}.dropdown-toggle[data-v-98690e5d]{background-color:var(--color-menu);color:#fff;border:1px solid var(--color-bg);font-size:var(--font-verysmall)}.radiobutton[data-v-82ab6829]{border:0px solid var(--color-menu);opacity:1}.btn-outline-secondary.active[data-v-82ab6829]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-82ab6829]{border:1px solid var(--color-menu)}.rounded-pill[data-v-d75ec1a4]{background-color:var(--color-menu)}.arrowButton[data-v-d75ec1a4]{border:0}.datebadge[data-v-d75ec1a4]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-d75ec1a4],.fa-magnifying-glass[data-v-7cbcf9ef]{color:var(--color-menu)}.dateWbBadge[data-v-7cbcf9ef]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.waitsign[data-v-7cbcf9ef]{text-align:center;font-size:var(--font-medium);color:var(--color-fg);border:1px solid var(--color-bg);padding:2em;margin:4em 2em 2em;background-color:var(--color-bg)}.fa-magnifying-glass[data-v-32c82102],.fa-magnifying-glass[data-v-63a4748e]{color:var(--color-menu)}.heading[data-v-f6af00e8]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-f6af00e8]{color:var(--color-fg);font-weight:700}@supports (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:subgrid;grid-column:1 / 13}}@supports not (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:repeat(12,auto);grid-column:1 / 13}}.titlerow[data-v-e989060d]{grid-column:1 / 13}@supports (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;grid-template-columns:subgrid;grid-column:1 / 13;align-items:top}}@supports not (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;align-items:top;grid-template-columns:repeat(12,auto)}}.widgetname[data-v-e989060d]{font-weight:700;font-size:var(--font-large)}.infotext[data-v-b935eb33]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-b935eb33]{color:var(--color-menu);font-size:var(--font-settings)}.titlecolumn[data-v-b935eb33]{color:var(--color-fg);font-size:var(--font-settings)}.selectors[data-v-b935eb33],.configitem[data-v-b935eb33]{font-size:var(--font-settings)}.minlabel[data-v-267ede95],.maxlabel[data-v-267ede95]{color:var(--color-menu)}.valuelabel[data-v-267ede95]{color:var(--color-fg)}.minusButton[data-v-267ede95],.plusButton[data-v-267ede95]{color:var(--color-menu)}.rangeIndicator[data-v-267ede95]{margin:0;padding:0;line-height:10px}.radiobutton[data-v-df222cbe]{border:.5px solid var(--color-input);opacity:.5;font-size:var(--font-settings)}.btn-outline-secondary.active[data-v-df222cbe]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #00000026;opacity:1}.chargeConfigSelect[data-v-0303d179]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-0303d179]{color:var(--color-charging)}.chargeConfigSelect[data-v-faa69015]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-faa69015]{color:var(--color-pv)}.tablecell[data-v-e8f5ad9d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-e8f5ad9d]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-e8f5ad9d]{color:var(--color-battery)}.left[data-v-e8f5ad9d]{text-align:left}.tablecell[data-v-192e287b]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-192e287b]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-192e287b]{color:var(--color-battery)}.left[data-v-192e287b]{text-align:left}.right[data-v-192e287b]{text-align:right}.status-string[data-v-fcb57a44]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-fcb57a44]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-fcb57a44]{background:green;color:#00f}.nav-tabs .nav-link[data-v-fcb57a44]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-fcb57a44]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-fcb57a44]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-fcb57a44]{color:var(--color-charging)}.status-string[data-v-e348a34c]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-e348a34c]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-e348a34c]{background:green;color:#00f}.nav-tabs .nav-link[data-v-e348a34c]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-e348a34c]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-e348a34c]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-e348a34c]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-e348a34c]{color:var(--color-menu)}.color-charging[data-v-8d837517]{color:var(--color-charging)}.fa-circle-check[data-v-8d837517]{color:var(--color-menu)}.settingsheader[data-v-8d837517]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-8d837517]{color:var(--color-axis);font-size:16px}.jumpbutton[data-v-8d837517]{background-color:var(--color-menu);color:var(--color-bg);border:0}.status-string[data-v-1164316d]{font-size:var(--font-settings);font-style:italic;color:var(--color-battery)}.nav-tabs .nav-link[data-v-1164316d]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1164316d]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1164316d]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.heading[data-v-1164316d]{color:var(--color-menu)}.item[data-v-1164316d]{grid-column:span 12}.tabarea[data-v-1164316d]{justify-self:stretch}.batIcon[data-v-a68c844a]{color:var(--color-menu)}.wb-widget[data-v-1d5bc1d9]{width:100%;height:100%;border-radius:30px}.widgetname[data-v-1d5bc1d9]{font-weight:700;color:var(--color-fg);font-size:var(--font-large)}.pillWbBadge[data-v-36112fa3]{font-size:(var--font-small);font-weight:regular;display:flex;justify-content:center;align-items:center}.fa-star[data-v-3a733de3]{color:var(--color-evu)}.fa-clock[data-v-3a733de3]{color:var(--color-charging)}.fa-car[data-v-3a733de3],.fa-ellipsis-vertical[data-v-3a733de3],.fa-circle-check[data-v-3a733de3]{color:var(--color-menu)}.fa-coins[data-v-3a733de3]{color:var(--color-battery)}.socEditor[data-v-3a733de3]{border:1px solid var(--color-menu);justify-self:stretch}.targetCurrent[data-v-3a733de3]{color:var(--color-menu)}.priceEditor[data-v-3a733de3]{border:1px solid var(--color-menu);justify-self:stretch}.chargemodes[data-v-3a733de3]{grid-column:1 / 13;justify-self:center}.chargeinfo[data-v-3a733de3]{display:grid;grid-template-columns:repeat(12,auto);justify-content:space-between}.errorWbBadge[data-v-3a733de3]{color:var(--color-bg);background-color:var(--color-evu);font-size:var(--font-small)}.divider[data-v-3a733de3]{color:var(--color-fg)}.blue[data-v-3a733de3]{color:var(--color-charging)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-25e4aa5d]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-25e4aa5d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-25e4aa5d]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-25e4aa5d]{text-align:left}.tablecell.right[data-v-25e4aa5d]{text-align:right}.tablecolum1[data-v-25e4aa5d]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-25e4aa5d]{color:var(--color-menu)}.fa-star[data-v-25e4aa5d]{color:var(--color-evu)}.fa-clock[data-v-25e4aa5d]{color:var(--color-battery)}.socEditor[data-v-25e4aa5d]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-25e4aa5d]{background-color:var(--color-bg)}.fa-circle-check[data-v-25e4aa5d]{color:var(--color-menu)}.socEditTitle[data-v-25e4aa5d]{color:var(--color-fg)}.statusbadge[data-v-25e4aa5d]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-25e4aa5d]{color:var(--color-bg)}.cpname[data-v-25e4aa5d]{font-size:var(--font-small)}.fa-edit[data-v-25e4aa5d]{color:var(--color-menu)}.infolist[data-v-25e4aa5d]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-31df6764]{color:#fff;border:1px solid white}.chargeButton[data-v-31df6764]{color:#fff}.left[data-v-31df6764]{float:left}.right[data-v-31df6764]{float:right}.center[data-v-31df6764]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-cc4da23c]{color:var(--color-battery)}.fg-color[data-v-cc4da23c]{color:var(--color-fg)}.menu-color[data-v-cc4da23c],.todaystring[data-v-cc4da23c]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-9e2cb63e]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-9e2cb63e]{text-align:center}.vehiclename[data-v-9e2cb63e]{font-size:var(--font-medium)}.statusbutton[data-v-23b437ea]{font-size:var(--font-large)}.modebutton[data-v-23b437ea]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-23b437ea]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-6000c955]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-6000c955]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-6000c955]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-6000c955]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-d82b4b16]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-d82b4b16]{justify-self:end}.nav-tabs[data-v-0542a138]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-0542a138]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-0542a138]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-0542a138]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-0542a138]{color:var(--color-fg)}.fa-charging-station[data-v-0542a138]{color:var(--color-charging)}.fa-car-battery[data-v-0542a138]{color:var(--color-battery)}.fa-plug[data-v-0542a138]{color:var(--color-devices)}.fa-bolt[data-v-0542a138]{color:var(--color-evu)}.fa-car[data-v-0542a138]{color:var(--color-charging)}.fa-coins[data-v-0542a138]{color:var(--color-battery)}.fa-solar-panel[data-v-0542a138]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2022 Fonticons, Inc. - */:host,:root{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/openWB/web/display/themes/colors/assets/fa-solid-900-DByUvYfa.woff2) format("woff2"),url(/openWB/web/display/themes/colors/assets/fa-solid-900-CG7ny7S5.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}.fixeddisplay[data-v-f43b9e47]{display:grid;grid-template-rows:440px 40px;grid-template-columns:800px}/*! + */:host,:root{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/openWB/web/themes/colors/assets/fa-solid-900-DByUvYfa.woff2) format("woff2"),url(/openWB/web/themes/colors/assets/fa-solid-900-CG7ny7S5.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}/*! * Bootstrap v5.3.3 (https://getbootstrap.com/) * Copyright 2011-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}html{min-height:100%;min-width:100%}body{color:var(--color-fg);background:var(--color-bg);font-family:San Francisco,Arial,Liberation sans,sans-serif}body>.container{padding:55px 15px 0}html{font-size:12px}html .settingscolumn{grid-column:span 12}.verySmallTextSize{font-size:var(--font-verysmall)}.smallTextSize{font-size:var(--font-small)}.mediumTextSize{font-size:var(--font-medium)}.regularTextSize{font-size:var(--font-normal)}.largeTextSize,.buttonTextSize{font-size:var(--font-large)}h3{font-size:var(--font-extralarge);color:var(--color-title);font-weight:700;transform:scaleX(.9294)}h4{color:var(--color-axis)}body>.container-fluid{padding:55px 15px 0}.tablecell{font-size:var(--font-normal);line-height:1rem;vertical-align:middle;padding:0;background-color:var(--color-bg)}.maxPrice{text-align:center}:root{--fontCol: rgba(160, 160, 160, .82);--gridCol: rgba(160, 160, 160, .82);--xgridCol: rgba(160, 160, 160, .82);--tickCol: rgba(160, 160, 160, .82);--evuCol: rgba(178, 34, 34, 1);--color-switchRed: #d12020;--color-switchGreen: #4db662;--color-switchBlue: steelblue;--color-cp0: #6baed6;--color-cp1: #4292c6;--color-cp2: #2171b5;--color-cp3: #9ecae1;--color-cp4: #c6dbef;--color-cp5: #deebf7;--color-cp6: #08519c;--color-cp7: #6baed6;--color-evu: firebrick;--color-pv: #33a02c;--color-house: #7f7f7f;--color-charging: #1f78b4;--color-export: #b2df8a;--color-battery: goldenrod;--color-input: lightgrey;--font-normal: 1.4rem;--font-large: 1.6rem;--font-medium: 1.2rem;--font-small: 1rem;--font-verysmall: .7rem;--font-extralarge: 1.6rem;--font-settings: 16px;--font-chargebutton: 16px}.theme-light{--color-bg: white;--color-axis: gray;--color-grid: #bbbbbb;--color-menu: gray;--color-frame: white;--color-subframe: lightgrey;--color-fg: black;--color-scale: lightgrey;--color-title: rgba(0, 0, 0, .644);--padding-widget: 5px;--fontCol: rgba(255, 255, 255, .82);--gridCol: rgba(255, 255, 255, .82);--xgridCol: rgba(255, 255, 255, .1);--tickCol: rgba(255, 255, 255, .82);--evuCol: rgba(255, 0, 0, .7)}.theme-blue{--color-bg: midnightblue;--color-axis: steelblue;--color-grid: steelblue;--color-menu: lightskyblue;--color-frame: lightskyblue;--color-subframe: midnightblue;--color-fg: white;--color-scale: steelblue;--color-title: lightgrey;--padding-widget: 0px}.theme-dark{--color-bg: #333333;--color-export: #b2df8a;--color-axis: #666666;--color-grid: black;--color-menu: #999999;--color-frame: #666666;--color-subframe: #333333;--color-fg: white;--color-scale: #999999;--color-title: lightgrey;--padding-widget: 0px}.shcolors-normal{--color-devices: #f16913;--color-sh1: #fd8d3c;--color-sh2: #f16913;--color-sh3: #d94801;--color-sh4: #fdae6b;--color-sh5: #fdd0a2;--color-sh6: #fee6ce;--color-sh7: #a63603;--color-sh8: #fe4b83;--color-sh9: #e4419d}.shcolors-advanced{--color-devices: #ff4d4d;--color-sh1: #ffffff;--color-sh2: #ff4d4d;--color-sh3: #668cff;--color-sh4: #ff6600;--color-sh5: #00ff00;--color-sh6: #ffff00;--color-sh7: #ff00ff;--color-sh8: #993300;--color-sh9: #a366ff}.shcolors-standard{--color-devices: rgba(200, 50, 200, .7);--color-sh1: rgba(200, 150, 200, .7);--color-sh2: rgba(200, 100, 200, .7);--color-sh3: rgba(200, 50, 200, .7);--color-sh4: rgba(200, 0, 200, .7);--color-sh5: rgba(150, 200, 200, .7);--color-sh6: rgba(100, 200, 200, .7);--color-sh7: rgba(50, 200, 200, .7);--color-sh8: rgba(0, 200, 200, .7);--color-sh9: rgba(200, 200, 200, .7)}.openwb-devices{color:#cff;background-color:#009696}.colormenu{background-color:var(--color-frame)}.grid12{display:grid;grid-template-columns:repeat(12,auto);gap:.2em;justify-items:left}.grid-col-2{grid-column:span 2}.grid-col-3{grid-column:span 3}.grid-col-4{grid-column:span 4}.grid-col-6{grid-column:span 6}.grid-col-12{grid-column:span 12}.subgrid{display:grid;grid-column:span 12;grid-template-columns:repeat(12,auto);justify-content:top;width:100%}.grid-left{justify-self:start}.grid-right{justify-self:end}th{color:var(--color-axis)}.table-borderless td{border:0}.popup-header{color:#191970}.axis text{color:var(--color-axis);stroke-width:0}.phasesInUse{font-family:monospace;color:#fff;background:var(--color-menu);font-size:var(--font-verysmall);padding:.2rem .4rem .1rem;margin:0rem .2rem}.swiper-slide-active,.swiper-slide{display:flex}swiper-slide{display:flex}option{color:#00f}.ttarea .ttmessage{visibility:hidden}.ttarea:hover .ttmessage{visibility:visible}.scaled{transform:scaleX(.9294)}.fa-car-battery{color:var(--color-battery)}.fa-car{color:var(--color-charging)}.fa-clock,.fa-coins{color:var(--color-battery)}.fa-sliders{color:var(--color-pv)} + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}html{min-height:100%;min-width:100%}body{color:var(--color-fg);background:var(--color-bg)}body>.container{padding:55px 15px 0}html{font-size:12px}html .settingscolumn{grid-column:span 12}@media screen and (min-width: 240px){html{font-size:13px}}@media screen and (min-width: 330px){html{font-size:14px}}@media screen and (min-width: 400px){html{font-size:15px}}@media screen and (min-width: 435px){html{font-size:16px}}@media screen and (min-width: 470px){html{font-size:17px}}@media screen and (min-width: 505px){html{font-size:18px}}@media screen and (min-width: 540px){html{font-size:19px}}@media screen and (min-width: 576px){html{font-size:20px}}@media screen and (min-width: 672px){html{font-size:21px}}@media screen and (min-width: 768px){html{font-size:22px}}@media screen and (min-width: 992px){html{font-size:11px}html .settingscolumn{grid-column:span 4}}@media screen and (min-width: 1200px){html{font-size:13px}}@media screen and (min-width: 1400px){html{font-size:16px}}@media screen and (min-width: 2000px){html{font-size:16px}}.verySmallTextSize{font-size:var(--font-verysmall)}.smallTextSize{font-size:var(--font-small)}.mediumTextSize{font-size:var(--font-medium)}.regularTextSize{font-size:var(--font-normal)}.largeTextSize,.buttonTextSize{font-size:var(--font-large)}h3{font-size:var(--font-large);color:var(--color-title);font-weight:700}h4{color:var(--color-axis)}body>.container-fluid{padding:55px 15px 0}.tablecell{font-size:var(--font-normal);line-height:1rem;vertical-align:middle;padding:0;background-color:var(--color-bg)}.maxPrice{text-align:center}:root{--fontCol: rgba(160, 160, 160, .82);--gridCol: rgba(160, 160, 160, .82);--xgridCol: rgba(160, 160, 160, .82);--tickCol: rgba(160, 160, 160, .82);--evuCol: rgba(178, 34, 34, 1);--color-switchRed: #d12020;--color-switchGreen: #4db662;--color-switchBlue: steelblue;--color-cp0: #6baed6;--color-cp1: #4292c6;--color-cp2: #2171b5;--color-cp3: #9ecae1;--color-cp4: #c6dbef;--color-cp5: #deebf7;--color-cp6: #08519c;--color-cp7: #6baed6;--color-evu: firebrick;--color-pv: #33a02c;--color-house: #7f7f7f;--color-charging: #1f78b4;--color-export: #b2df8a;--color-battery: goldenrod;--color-input: lightgrey;--color-pv1: #33a02c;--color-pv2: #4db662;--color-pv3: #a1d99b;--color-pv4: #74c476;--color-pv5: #41ab5d;--color-pv6: #238b45;--color-pv7: #006d2c;--color-pv8: #00441b;--color-pv9: #33a02c;--font-normal: 1.4rem;--font-large: 1.6rem;--font-medium: 1.2rem;--font-small: 1rem;--font-verysmall: .7rem;--font-extralarge: 1.7rem;--font-settings: 16px}.theme-light{--color-bg: white;--color-axis: gray;--color-grid: #bbbbbb;--color-menu: gray;--color-frame: white;--color-subframe: lightgrey;--color-fg: black;--color-scale: lightgrey;--color-title: rgba(0, 0, 0, .644);--padding-widget: 5px;--fontCol: rgba(255, 255, 255, .82);--gridCol: rgba(255, 255, 255, .82);--xgridCol: rgba(255, 255, 255, .1);--tickCol: rgba(255, 255, 255, .82);--evuCol: rgba(255, 0, 0, .7)}.theme-blue{--color-bg: midnightblue;--color-axis: steelblue;--color-grid: steelblue;--color-menu: lightskyblue;--color-frame: lightskyblue;--color-subframe: midnightblue;--color-fg: white;--color-scale: steelblue;--color-title: lightgrey;--padding-widget: 0px}.theme-dark{--color-bg: #333333;--color-export: #b2df8a;--color-axis: #666666;--color-grid: black;--color-menu: #999999;--color-frame: #666666;--color-subframe: #333333;--color-fg: white;--color-scale: #999999;--color-title: lightgrey;--padding-widget: 0px}.shcolors-normal{--color-devices: #f16913;--color-sh1: #fd8d3c;--color-sh2: #f16913;--color-sh3: #d94801;--color-sh4: #fdae6b;--color-sh5: #fdd0a2;--color-sh6: #fee6ce;--color-sh7: #a63603;--color-sh8: #fe4b83;--color-sh9: #e4419d}.shcolors-advanced{--color-devices: #ff4d4d;--color-sh1: #ffffff;--color-sh2: #ff4d4d;--color-sh3: #668cff;--color-sh4: #ff6600;--color-sh5: #00ff00;--color-sh6: #ffff00;--color-sh7: #ff00ff;--color-sh8: #993300;--color-sh9: #a366ff}.shcolors-standard{--color-devices: rgba(200, 50, 200, .7);--color-sh1: rgba(200, 150, 200, .7);--color-sh2: rgba(200, 100, 200, .7);--color-sh3: rgba(200, 50, 200, .7);--color-sh4: rgba(200, 0, 200, .7);--color-sh5: rgba(150, 200, 200, .7);--color-sh6: rgba(100, 200, 200, .7);--color-sh7: rgba(50, 200, 200, .7);--color-sh8: rgba(0, 200, 200, .7);--color-sh9: rgba(200, 200, 200, .7)}.openwb-devices{color:#cff;background-color:#009696}.colormenu{background-color:var(--color-frame)}.wb-widget{background-color:var(--color-bg);border:.1px dotted var(--color-frame);align-self:stretch;width:100%;border-radius:30px}.wb-subwidget{border:0px solid var(--color-subframe);padding:var(--padding-widget)}.grid12{display:grid;grid-template-columns:repeat(12,auto);gap:.2em;justify-items:center}.grid-col-3{grid-column:span 3}.grid-col-4{grid-column:span 4}.grid-col-6{grid-column:span 6}.grid-col-12{grid-column:span 12}@supports (grid-template-columns: subgrid){.subgrid{display:grid;grid-column:span 12;grid-template-columns:subgrid;justify-content:top}}@supports not (grid-template-columns: subgrid){.subgrid{display:grid;grid-column:span 12;grid-template-columns:auto auto auto auto auto auto auto auto auto auto auto auto;justify-content:top;width:100%}}.grid-left{justify-self:start}.grid-right{justify-self:end}th{color:var(--color-axis)}.table-borderless td{border:0}.popup-header{color:#191970}.axis text{color:var(--color-axis);stroke-width:0}.phasesInUse{font-family:monospace;color:#fff;background:var(--color-menu);font-size:var(--font-verysmall);padding:.2rem .4rem .1rem;margin:0rem .2rem}.swiper-slide-active,.swiper-slide{display:flex}swiper-slide{display:flex}option{color:#00f}.ttarea .ttmessage{visibility:hidden}.ttarea:hover .ttmessage{visibility:visible} diff --git a/packages/modules/web_themes/colors/web/assets/index-CIr-OUyK.js b/packages/modules/web_themes/colors/web/assets/index-CIr-OUyK.js new file mode 100644 index 0000000000..d7ae970e54 --- /dev/null +++ b/packages/modules/web_themes/colors/web/assets/index-CIr-OUyK.js @@ -0,0 +1,6 @@ +var Ua=Object.defineProperty;var Fa=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as le,m as Na,c as m,a as ee,i as Ha,e as Ve,u as Ft,t as et,b as xt,s as ce,d as L,p as wa,f as ka,w as Ra,o as l,g as f,h as S,j as n,n as q,k as $,l as w,q as pe,v as _,x as H,y as i,z as v,F,A as te,B as xa,C as He,D as ft,E as nt,G as rt,H as dt,I as ht,J as st,K as Ja,L as Ne,M as K,N as Ya,O as Le,P as vt,Q as qa,R as Qa,S as Sa,T as Za,U as Ma,V as Xa,W as Ka,X as en,Y as tn,Z as an,_ as nn,$ as rn,a0 as on,a1 as sn,a2 as ln}from"./vendor-CmSLe-Fc.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();var ve=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.standby="standby",a.stop="stop",a))(ve||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const cn=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class un{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,T.items["sh"+this.id].showInGraph=e,ne()}setShowInGraph(e){this._showInGraph=e}}const ae=le(new Map);function Yt(a){ae.has(a)?console.info("Duplicate sh device message: "+a):(ae.set(a,new un(a)),ae.get(a).color="var(--color-sh"+ae.size+")")}const dn=0,Pa={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},St={topic:"",qos:dn};let Ce;const{host:hn,port:pn,endpoint:gn,...Ia}=Pa,sa=`${Ia.protocol}://${hn}:${pn}${gn}`;try{console.debug("connectURL",sa),Ce=Na.connect(sa,Ia),Ce.on("connect",()=>{console.info("MQTT connection successful")}),Ce.on("disconnect",()=>{console.info("MQTT disconnected")}),Ce.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function mn(a){Ce?Ce.on("message",a):console.error("MqttRegister: MQTT client not available")}function Xe(a){St.topic=a;const{topic:e,qos:t}=St;Ce.subscribe(e,{qos:t},r=>{if(r){console.error("MQTT Subscription error: "+r);return}})}function ot(a){St.topic=a;const{topic:e}=St;Ce.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function Nt(a,e){let r=Ce.connected,s=0;for(;!r&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await fn(100),r=Ce.connected,s+=1;if(s<20)try{Ce.publish(a,e,{qos:0},o=>{o&&console.warn("MQTT publish error: ",o),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(o){console.warn("MQTT publish: caught error: "+o)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function qt(){return Pa.clientId}function fn(a){return new Promise(e=>setTimeout(e,a))}class vn{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",0);b(this,"evTemplate",0);b(this,"_chargeMode",ve.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,oe("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,oe("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].soc:0}set soc(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,oe("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,oe("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return _e[this.chargeTemplate]?_e[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){_e[this.chargeTemplate].time_charging.active=e,oe("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,oe("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,oe("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,oe("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,oe("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,oe("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,oe("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,oe("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,oe("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,oe("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].etActive:!1}set etActive(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].etActive=e)}get etMaxPrice(){return Y[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){oe("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class yn{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,oe("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,oe("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return _e[this.chargeTemplateId]?_e[this.chargeTemplateId].et.active:!1}set etActive(e){_e[this.chargeTemplateId]&&oe("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(_e[this.chargeTemplateId]&&_e[this.chargeTemplateId].et.active)return _e[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||g.showStandardVehicle)}}const O=le({}),Y=le({}),_e=le({}),pt=le({}),gt=le({}),Ht=le({});function bn(a){if(!(a in O)){O[a]=new vn(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;ie[t]?ie["cp"+a].color=e:ie[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function _n(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const me=m(()=>{const a=[],e=Object.values(O),t=Object.values(Y).filter(o=>o.visible);let r=-1;switch(e.length){case 0:r=t[0]?t[0].id:-1;break;default:r=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return r==s&&(s=t[1]?t[1].id:-1),r!=-1&&a.push(r),s!=-1&&a.push(s),a}),wn={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function oe(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let r=wn[a];if(!r){console.warn("No topic for update type "+a);return}switch(a){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":r=r.replace("%",O[t].chargeTemplate.toString());break;default:r=r.replace("%",String(t))}switch(typeof e){case"number":Nt(r,JSON.stringify(+e));break;default:Nt(r,JSON.stringify(e))}}function Qt(a){Nt("openWB/set/command/"+qt()+"/todo",JSON.stringify(a))}const be=500,Se=500,j={top:15,right:20,bottom:10,left:25},Zt=["charging","house","batIn","devices"];class kn{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=le(new kn),Ca=ee(Ha),Ye=m(()=>[0,be-j.left-2*j.right].map(a=>Ca.value.applyX(a)));let mt=!0,it=!0;function ia(){mt=!1}function la(){mt=!0}function ca(){it=!1}function ua(){it=!0}function xn(a){it=a}function yt(a){y.data=a,y.waitForData=!1}const ge=le({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Xe(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],In(),lt.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),ot(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Xe(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)ot(this.refreshTopicPrefix+a)},subscribeUpdates(){Xe(this.updateTopic)},unsubscribeUpdates(){ot(this.updateTopic)}}),ue=le({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getDailyLog",data:{day:e}})}},deactivate(){ot(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=le({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getMonthlyLog",data:{month:e}})},deactivate(){ot(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Re=le({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getYearlyLog",data:{year:e}})},deactivate(){ot(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(T.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function $n(a,e){e[a]>0&&(T.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Pn=["evuIn","pv","batOut","evuOut"],qe=ee(!1);function Xt(a,e){Object.entries(a).length>0?(qe.value=!1,Object.entries(a.counter).forEach(([t,r])=>{(e.length==0||e.includes(t))&&(T.items.evuIn.energy+=r.energy_imported,T.items.evuOut.energy+=r.energy_exported)}),T.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(T.items.batIn.energy=a.bat.all.energy_imported,T.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,r])=>{t=="all"?(T.setEnergy("charging",r.energy_imported),r.energy_imported_pv!=null&&(T.setEnergyPv("charging",r.energy_imported_pv),T.setEnergyBat("charging",r.energy_imported_bat))):T.setEnergy(t,r.energy_imported)}),T.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,r])=>{T.setEnergy(t,r.energy_imported);const s=t.substring(2);ae.get(+s).countAsHouse||(T.items.devices.energy+=r.energy_imported)}),a.hc&&a.hc.all?(T.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(T.setEnergyPv("house",a.hc.all.energy_imported_pv),T.setEnergyBat("house",a.hc.all.energy_imported_bat))):T.calculateHouseEnergy(),T.keys().forEach(t=>{Pn.includes(t)||(T.setPvPercentage(t,Math.round((T.items[t].energyPv+T.items[t].energyBat)/T.items[t].energy*100)),Zt.includes(t)&&(U[t].energy=T.items[t].energy,U[t].energyPv=T.items[t].energyPv,U[t].energyBat=T.items[t].energyBat,U[t].pvPercentage=T.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const r=T.items["cp"+t.id];r&&(t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}),ae.forEach(t=>{const r=T.items["sh"+t.id];r&&(t.energy=r.energy,t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}))):qe.value=!0,lt.value=!0}const Be=m(()=>{const a=Ve(y.data,e=>new Date(e.date));return a[0]&&a[1]?Ft().domain(a).range([0,be-j.left-2*j.right]):et().range([0,0])});function In(){T.keys().forEach(a=>{Zt.includes(a)&&(U[a].energy=T.items[a].energy,U[a].energyPv=0,U[a].energyBat=0,U[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),ae.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Je=m(()=>{const a=Ve(y.data,e=>e.date);return a[1]?xt().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,be-j.left-2]):xt().range([0,0])});function It(){switch(y.graphMode){case"live":y.graphMode="today",g.showRightButton=!0,fe();break;case"today":y.graphMode="day",ue.deactivate(),ue.back(),ue.activate(),fe();break;case"day":ue.back(),fe();break;case"month":Ee.back();break;case"year":Re.back();break}}function Kt(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",g.showRightButton=!1,fe();break;case"day":ue.forward(),ue.date.getDate()==a.getDate()&&ue.date.getMonth()==a.getMonth()&&ue.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),fe();break;case"month":Ee.forward();break;case"year":Re.forward();break}}function ea(){switch(y.graphMode){case"live":It();break;case"day":case"today":y.graphMode="month",fe();break;case"month":y.graphMode="year",fe();break}}function ta(){switch(y.graphMode){case"year":y.graphMode="month",fe();break;case"month":y.graphMode="today",fe();break;case"today":case"day":y.graphMode="live",fe();break}}function da(a){if(y.graphMode=="day"||y.graphMode=="today"){ue.setDate(a);const e=new Date;ue.date.getDate()==e.getDate()&&ue.date.getMonth()==e.getMonth()&&ue.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",fe()}}const Fe=ee(new Map);class Cn{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,ne()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,ne()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,ne()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,On(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,ne()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,ne()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,ha(e),ne()}setSmartHomeColors(e){this._smartHomeColors=e,ha(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,ne()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,ne()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,ne()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,ne()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,ne()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,ne()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,ne()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,ne()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,ne()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,ne()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,ne()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,ne()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,ne()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,ne()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,ne()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,la(),ua(),ne()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,la(),ua(),ne()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,ne()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,ne()}setUpperPriceBound(e){this._upperPriceBound=e}}const g=le(new Cn);function Ba(){En();const a=ce("html");a.classed("theme-dark",g.displayMode=="dark"),a.classed("theme-light",g.displayMode=="light"),a.classed("theme-blue",g.displayMode=="blue"),a.classed("shcolors-standard",g.smartHomeColors=="standard"),a.classed("shcolors-advanced",g.smartHomeColors=="advanced"),a.classed("shcolors-normal",g.smartHomeColors=="normal")}const Bn=992,Mt=le({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Vn(){Mt.x=document.documentElement.clientWidth,Mt.y=document.documentElement.clientHeight,Ba()}const De=m(()=>Mt.x>=Bn),ye={instant_charging:{mode:ve.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:ve.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},scheduled_charging:{mode:ve.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:ve.standby,name:"Standby",color:"var(--color-axis",icon:"fa-pause"},stop:{mode:ve.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Ln{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,oe("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function ne(){Tn()}function On(a){const e=ce("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),ne()}function An(){g.maxPower=Q.evuIn.power+Q.pv.power+Q.batOut.power,ne()}function ha(a){const e=ce("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Te={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function Tn(){const a={};a.hideSH=[...ae.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=g.graphPreference=="live",a.displayM=g.displayMode,a.stackO=g.usageStackOrder,a.showGr=g.showGrid,a.decimalP=g.decimalPlaces,a.smartHomeC=g.smartHomeColors,a.relPM=g.showRelativeArcs,a.maxPow=g.maxPower,a.showQA=g.showQuickAccess,a.simpleCP=g.simpleCpList,a.shortCP=g.shortCpList,a.animation=g.showAnimations,a.wideB=g.preferWideBoxes,a.fluidD=g.fluidDisplay,a.clock=g.showClock,a.showButtonBar=g.showButtonBar,a.showCounters=g.showCounters,a.showVehicles=g.showVehicles,a.showStandardV=g.showStandardVehicle,a.showPrices=g.showPrices,a.showInv=g.showInverters,a.altEngy=g.alternativeEnergy,a.lowerP=g.lowerPriceBound,a.upperP=g.upperPriceBound,a.sslPrefs=g.sslPrefs,a.debug=g.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(g.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function En(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&g.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&g.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(r=>{ae.get(r)==null&&Yt(r),ae.get(r).setShowInGraph(!1)}),t.showLG!==void 0&&g.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&g.setMaxPower(+t.maxPow),t.relPM!==void 0&&g.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&g.setDisplayMode(t.displayM),t.stackO!==void 0&&g.setUsageStackOrder(t.stackO),t.showGr!==void 0&&g.setShowGrid(t.showGr),t.showQA!==void 0&&g.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&g.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&g.setShortCpList(t.shortCP),t.animation!=null&&g.setShowAnimations(t.animation),t.wideB!=null&&g.setPreferWideBoxes(t.wideB),t.fluidD!=null&&g.setFluidDisplay(t.fluidD),t.clock!=null&&g.setShowClock(t.clock),t.showButtonBar!==void 0&&g.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&g.setShowCounters(t.showCounters),t.showVehicles!==void 0&&g.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&g.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&g.setShowPrices(t.showPrices),t.showInv!==void 0&&g.setShowInverters(t.showInv),t.altEngy!==void 0&&g.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&g.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&g.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&g.setSslPrefs(t.sslPrefs),t.debug!==void 0&&g.setDebug(t.debug)}}const ie=le({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let T=le(new Va);function aa(){T=new Va}const Q=le({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),U=le({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),de=le(new Ln);ee("");const lt=ee(!1);function ze(a,e){return{name:ie[a]?ie[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(ie[a]?ie[a].color:"var(--color-charging)"),icon:ie[a]?ie[a].icon:"",showInGraph:!0}}const Rt=ee(new Date),we=ee(new Map),zn=a=>{we.value.set(a,new $a(a)),we.value.get(a).color=ie["pv"+we.value.size].color},Wn=["origin"],Dn=L({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=Q;s["zz-empty"]=r;const o=Object.values(Q).length-1,h=wa().value(p=>p.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=ce("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(h(Object.values(s))).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmSourceArc.vue"});return Ra(()=>{let r=Q.pv.power+Q.evuIn.power+Q.batOut.power;r>g.maxPower&&(g.maxPower=r)}),(r,s)=>(l(),f("g",{id:"pmSourceArc",origin:t.value},null,8,Wn))}}),Gn=["origin"],jn=L({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[U.evuOut,U.charging].concat([...ae.values()].filter(p=>p.configured&&!p.countAsHouse).sort((p,c)=>c.power-p.power)).concat([U.batIn,U.house]).concat(r),o=s.length-1,h=wa().value(p=>p.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=ce("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(h(s)).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmUsageArc.vue"});return(r,s)=>(l(),f("g",{id:"pmUsageArc",origin:t.value},null,8,Gn))}});function $e(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function ct(a,e=1,t=!1){let r;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:r=Math.round(a/1e3);break;case 1:r=Math.round(a/100)/10;break;case 2:r=Math.round(a/10)/100;break;case 3:r=Math.round(a)/1e3;break;default:r=Math.round(a/100)/10;break}return r.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function Un(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Fn(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Nn(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const bt=L({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=m(()=>$e(e.watt,g.decimalPlaces));return(r,s)=>S(t.value)}}),Hn={key:0,id:"pmLabel"},Rn=["x","y","fill","text-anchor"],Jn=22,Ae=L({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),r=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=m(()=>!e.data||e.data.power>0),o=m(()=>e.labeltext?"":"fas");return(h,d)=>s.value?(l(),f("g",Hn,[n("text",{x:h.x,y:h.y,fill:r.value,"text-anchor":h.anchor,"font-size":Jn,class:"pmLabel"},[n("tspan",{class:q(o.value)},S(t.value),3),n("tspan",null,[h.data!==void 0?(l(),$(bt,{key:0,watt:h.data.power},null,8,["watt"])):w("",!0)])],8,Rn)])):w("",!0)}}),Yn={class:"wb-widget p-0 m-0 shadow"},qn={class:"d-flex justify-content-between"},Qn={class:"m-4 me-0 mb-0"},Zn={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Xn={class:"px-4 pt-4 pb-2 wb-subwidget"},Kn={class:"row"},er={class:"col m-0 p-0"},tr={class:"container-fluid m-0 p-0"},ar={key:0},nr={class:"px-4 py-2 wb-subwidget"},rr={class:"row"},or={class:"col"},sr={class:"container-fluid m-0 p-0"},_t=L({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:q(["p-2 m-0 d-flex",t.value])},[n("div",Yn,[n("div",qn,[n("h3",Qn,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))]),pe(r.$slots,"subtitle")]),n("div",Zn,[pe(r.$slots,"buttons")])]),n("div",Xn,[n("div",Kn,[n("div",er,[n("div",tr,[pe(r.$slots,"default")])])])]),r.$slots.footer!=null?(l(),f("div",ar,[s[1]||(s[1]=n("hr",null,null,-1)),n("div",nr,[n("div",rr,[n("div",or,[n("div",sr,[pe(r.$slots,"footer")])])])])])):w("",!0)])],2))}});class ir{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=re.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const re=le(new ir),lr={id:"powermeter",class:"p-0 m-0"},cr=["viewBox"],ur=["transform"],dr=["x"],Ze=500,Ue=20,pa=1,hr=L({__name:"PowerMeter",setup(a){const e=Ze,t=Math.PI/40,r=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],o=m(()=>Ze/2-Ue),h=m(()=>{let B="",A=Object.values(Q).filter(V=>V.power>0);return A.length==1&&A[0].name=="PV"?B="Aktueller Verbrauch: ":B="Bezug/Verbrauch: ",B+$e(U.house.power+U.charging.power+U.devices.power+U.batIn.power,g.decimalPlaces)}),d=m(()=>{let B=Q.pv.power+Q.evuIn.power+Q.batOut.power;return g.maxPower>B?$e(g.maxPower,g.decimalPlaces):$e(B,g.decimalPlaces)}),u=m(()=>Object.values(O)),p=m(()=>{let B=0;return g.showRelativeArcs&&(B=g.maxPower-(Q.pv.power+Q.evuIn.power+Q.batOut.power)),B<0?0:B}),c=m(()=>[U.evuOut,U.charging,U.devices,U.batIn,U.house].filter(B=>B.power>0)),k=m(()=>r[c.value.length-1]);function P(B){return s[k.value[B]]}function z(B){return B.length>12?B.slice(0,11)+".":B}const D=m(()=>{const[B]=re.etPriceList.values();return Math.round(B*10)/10});return(B,A)=>(l(),$(_t,{"full-width":!0},{title:_(()=>A[0]||(A[0]=[H(" Aktuelle Leistung ")])),default:_(()=>[n("figure",lr,[(l(),f("svg",{viewBox:"0 0 "+Ze+" "+i(e)},[n("g",{transform:"translate("+Ze/2+","+i(e)/2+")"},[v(Dn,{radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["radius","empty-power"]),v(jn,{"sh-device":i(ae),radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["sh-device","radius","empty-power"]),v(Ae,{x:0,y:-i(e)/10*2,data:i(Q).pv,props:i(ie).pv,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10*3,data:i(Q).evuIn,props:i(ie).evuIn,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),i(re).active?(l(),$(Ae,{key:0,x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"])):w("",!0),(l(!0),f(F,null,te(c.value,(V,J)=>(l(),$(Ae,{key:J,x:P(J).x,y:P(J).y,data:V,labelicon:V.icon,labelcolor:V.color,anchor:"middle",config:i(g)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(me)[0]!=null&&i(Y)[i(me)[0]]!=null?(l(),$(Ae,{key:1,x:-500/2-Ue/4+10,y:-i(e)/2+Ue+5,labeltext:z(i(Y)[i(me)[0]].name)+": "+Math.round(i(Y)[i(me)[0]].soc)+"%",labelcolor:u.value[0]?u.value[0].color:"var(--color-charging)",anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(me)[1]!=null&&i(Y)[i(me)[1]]!=null?(l(),$(Ae,{key:2,x:Ze/2+Ue/4-10,y:-i(e)/2+Ue+5,labeltext:z(i(Y)[i(me)[1]].name)+": "+Math.round(i(Y)[i(me)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(de).batterySoc>0?(l(),$(Ae,{key:3,x:-500/2-Ue/4+10,y:i(e)/2-Ue+15,labeltext:"Speicher: "+i(de).batterySoc+"%",labelcolor:i(U).batIn.color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(re).active?(l(),$(Ae,{key:4,x:Ze/2+Ue/4-10,y:i(e)/2-Ue+15,value:D.value,labeltext:i(re).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","value","labeltext","config"])):w("",!0),v(Ae,{x:0,y:0,labeltext:h.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(g)},null,8,["labeltext","config"]),i(g).showRelativeArcs?(l(),f("text",{key:5,x:Ze/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+S(d.value),9,dr)):w("",!0)],8,ur)],8,cr))])]),_:1}))}}),pr=["origin","origin2","transform"],gr=L({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var r,s;const o=g.showAnimations?g.animationDuration:0,h=g.showAnimations?g.animationDelay:0,d=m(()=>{const M=ce("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?J(M,Je.value):V(M,Be.value),M.selectAll(".axis").remove();const E=M.append("g").attr("class","axis");E.call(D.value),E.selectAll(".tick").attr("font-size",12),E.selectAll(".tick line").attr("stroke",A.value).attr("stroke-width",B.value),E.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=m(()=>xa().value((M,E)=>M[E]??0).keys(k.value)),p=m(()=>u.value(y.data)),c=m(()=>He().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(P.value[1]*10)/10]:[0,Math.ceil(P.value[1])])),k=m(()=>{let M=[];const E=["batOut","evuIn"];if(g.showInverters){const I=/pv\d+/;y.data.length>0&&(M=Object.keys(y.data[0]).reduce((x,G)=>(G.match(I)&&x.push(G),x),[]))}switch(y.graphMode){case"live":return g.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return M.forEach((I,x)=>{t[I]="var(--color-pv"+(x+1)+")"}),g.showInverters?[...M,...E]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),P=m(()=>{let M=Ve(y.data,E=>Math.max(E.pv+E.evuIn+E.batOut,E.selfUsage+E.evuOut));return M[0]!=null&&M[1]!=null?(y.graphMode=="year"&&(M[0]=M[0]/1e3,M[1]=M[1]/1e3),M):[0,0]}),z=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=m(()=>ft(c.value).tickSizeInner(z.value).ticks(4).tickFormat(M=>(M==0?"":Math.round(M*10)/10).toLocaleString(void 0))),B=m(()=>g.showGrid?"0.5":"1"),A=m(()=>g.showGrid?"var(--color-grid)":"var(--color-bg)");function V(M,E){const I=nt().x((G,xe)=>E(y.data[xe].date)).y(c.value(0)).curve(rt),x=nt().x((G,xe)=>E(y.data[xe].date)).y0(G=>c.value(y.graphMode=="year"?G[0]/1e3:G[0])).y1(G=>c.value(y.graphMode=="year"?G[1]/1e3:G[1])).curve(rt);mt?(M.selectAll("*").remove(),r=M.append("svg").attr("x",0).attr("width",e.width).selectAll(".sourceareas").data(p.value).enter().append("path").attr("fill",(xe,W)=>t[k.value[W]]).attr("d",xe=>I(xe)),r.transition().duration(o).delay(h).ease(dt).attr("d",xe=>x(xe)),ia()):r.data(p.value).transition().duration(0).ease(dt).attr("d",G=>x(G))}function J(M,E){y.data.length>0&&(mt?(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(I,x)=>t[k.value[x]]).selectAll("rect").data(I=>I).enter().append("rect").attr("x",(I,x)=>E(y.data[x].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",E.bandwidth()),s.transition().duration(o).delay(h).ease(dt).attr("height",I=>y.graphMode=="year"?c.value(I[0]/1e3)-c.value(I[1]/1e3):c.value(I[0])-c.value(I[1])).attr("y",I=>y.graphMode=="year"?c.value(I[1]/1e3):c.value(I[1])),ia()):(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(I,x)=>t[k.value[x]]).selectAll("rect").data(I=>I).enter().append("rect").attr("x",(I,x)=>E(y.data[x].date)??0).attr("y",I=>y.graphMode=="year"?c.value(I[1]/1e3):c.value(I[1])).attr("width",E.bandwidth()).attr("height",I=>y.graphMode=="year"?c.value(I[0]/1e3)-c.value(I[1]/1e3):c.value(I[0])-c.value(I[1]))))}const C=m(()=>{const M=ce("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Be.value.range(Ye.value);const E=nt().x((I,x)=>Be.value(y.data[x].date)).y0(I=>c.value(I[0])).y1(I=>c.value(I[1])).curve(rt);M.selectAll("path").attr("d",I=>I?E(I):""),M.selectAll("g#sourceToolTips").select("rect").attr("x",I=>Be.value(I.date)).attr("width",e.width/y.data.length)}return"zoomed"});return(M,E)=>(l(),f("g",{id:"pgSourceGraph",origin:d.value,origin2:C.value,transform:"translate("+M.margin.left+","+M.margin.top+")"},null,8,pr))}}),mr=["origin","origin2","transform"],fr=L({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=m(()=>g.showInverters?[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]:[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]),r={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,o;const h=g.showAnimations?g.animationDuration:0,d=g.showAnimations?g.animationDelay:0,u=m(()=>{const C=ce("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?V(C):A(C),C.selectAll(".axis").remove();const M=C.append("g").attr("class","axis");return M.call(B.value),M.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),g.showGrid?M.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):M.selectAll(".tick line").attr("stroke","var(--color-bg)"),M.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),p=m(()=>xa().value((C,M)=>C[M]??0).keys(P.value)),c=m(()=>p.value(y.data)),k=m(()=>He().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(z.value[1]*10)/10]:[0,Math.ceil(z.value[1])])),P=m(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const C=t.value[e.stackOrder].slice(),M=C.indexOf("charging");C.splice(M,1);const E=/cp\d+/;let I=[];return y.data.length>0&&(I=Object.keys(y.data[0]).reduce((x,G)=>(G.match(E)&&x.push(G),x),[])),I.forEach((x,G)=>{var xe;C.splice(M+G,0,x),r[x]=((xe=O[+x.slice(2)])==null?void 0:xe.color)??"black"}),g.showInverters&&C.push("evuOut"),C}}),z=m(()=>{let C=Ve(y.data,M=>M.house+M.charging+M.batIn+M.devices+M.evuOut);return C[0]!=null&&C[1]!=null?(y.graphMode=="year"&&(C[0]=C[0]/1e3,C[1]=C[1]/1e3),C):[0,0]}),D=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),B=m(()=>ft(k.value).tickSizeInner(D.value).ticks(4).tickFormat(C=>(C==0?"":Math.round(C*10)/10).toLocaleString(void 0)));function A(C){const M=nt().x((I,x)=>Be.value(y.data[x].date)).y(k.value(0)).curve(rt),E=nt().x((I,x)=>Be.value(y.data[x].date)).y0(I=>k.value(I[0])).y1(I=>k.value(I[1])).curve(rt);g.showAnimations?it?(C.selectAll("*").remove(),s=C.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>M(x)).attr("fill",(x,G)=>r[P.value[G]]),s.transition().duration(300).delay(100).ease(dt).attr("d",x=>E(x)),ca()):(C.selectAll("*").remove(),C.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,G)=>r[P.value[G]])):(C.selectAll("*").remove(),C.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,G)=>r[P.value[G]]))}function V(C){it?(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Je.value.bandwidth()),o.transition().duration(h).delay(d).ease(dt).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])),ca()):(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])).attr("width",Je.value.bandwidth()))}const J=m(()=>{const C=ce("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Be.value.range(Ye.value);const M=nt().x((E,I)=>Be.value(y.data[I].date)).y0(E=>k.value(E[0])).y1(E=>k.value(E[1])).curve(rt);C.selectAll("path").attr("d",E=>E?M(E):"")}return"zoomed"});return(C,M)=>(l(),f("g",{id:"pgUsageGraph",origin:u.value,origin2:J.value,transform:"translate("+C.margin.left+","+C.margin.top+")"},null,8,mr))}}),vr=["width"],yr=["transform"],br=["x","width"],_r=["transform"],wr=["origin","origin2","transform"],kr=["origin","transform"],xr={key:0},Sr=["width","height"],Mr={key:1},$r=["y","width","height"],Bt=12,Pr=L({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>ht(Be.value).ticks(6).tickSizeInner(h.value).tickFormat(st("%H:%M"))),r=m(()=>Ja(Be.value).ticks(6).tickSizeInner(h.value+3).tickFormat(st(""))),s=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(c=>c.toString())),o=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(()=>"")),h=m(()=>y.graphMode!=="month"&&y.graphMode!=="year"?g.showGrid?-(e.height/2-7):-10:0),d=m(()=>{let c=ce("g#PGXAxis"),k=ce("g#PgUnit");return c.selectAll("*").remove(),k.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(P,z)=>z>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),k.append("text").attr("x",0).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",Bt).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=m(()=>{let c=ce("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(o.value):c.call(r.value),c.selectAll(".tick > text").attr("fill",(k,P)=>P>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),p=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=ce("g#PGXAxis"),k=ce("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Je.value.range(Ye.value),c.call(s.value),k.call(o.value)):(Be.value.range(Ye.value),c.call(t.value),k.call(r.value))}return"zoomed"});return(c,k)=>(l(),f(F,null,[(l(),f("svg",{x:"0",width:e.width},[n("g",{id:"PgUnit",transform:"translate(0,"+(c.height/2+9)+")"},null,8,yr)],8,vr)),(l(),f("svg",{x:e.margin.left,width:e.width},[n("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[n("g",{id:"PGXAxis",class:"axis",origin:d.value,origin2:p.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,wr),n("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+10)+")"},null,8,kr),i(g).showGrid?(l(),f("g",xr,[n("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Sr)])):w("",!0),i(g).showGrid?(l(),f("g",Mr,[n("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,$r)])):w("",!0)],8,_r)],8,br))],64))}}),Ir=["width"],Cr=["id",".origin","d"],Br=["id","d","stroke"],Vr=["x","y","text-anchor"],Vt=L({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=m(()=>{let P=Ve(y.data,z=>z.date);return P[0]&&P[1]?et().domain(P).range([0,e.width]):et().range([0,0])}),r=m(()=>He().range([e.height-10,0]).domain([0,100])),s=m(()=>{let z=Ne().x(D=>t.value(D.date)).y(D=>r.value(e.order==2?D.batSoc:e.order==0?D["soc"+me.value[0]]:D["soc"+me.value[1]])??r.value(0))(y.data);return z||""}),o=m(()=>e.order),h=m(()=>{switch(e.order){case 2:return"Speicher";case 1:return Y[me.value[1]]!=null?Y[me.value[1]].name:"???";default:return Y[me.value[0]]!=null?Y[me.value[0]].name:"???"}}),d=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=m(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),p=m(()=>{if(y.data.length>0){let P;switch(e.order){case 0:return P=y.data.length-1,r.value(y.data[P]["soc"+me.value[0]]+2);case 1:return P=0,r.value(y.data[P]["soc"+me.value[1]]+2);case 2:return P=Math.round(y.data.length/2),r.value(y.data[P].batSoc+2);default:return 0}}else return 0}),c=m(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const P=ce("path#soc-"+o.value),z=ce("path#socdashes-"+o.value);t.value.range(Ye.value);const D=Ne().x(B=>t.value(B.date)).y(B=>r.value(e.order==2?B.batSoc:e.order==1?B["soc"+me.value[0]]:B["soc"+me.value[1]])??r.value(0));P.attr("d",D(y.data)),z.attr("d",D(y.data))}return"zoomed"});return(P,z)=>(l(),f("svg",{x:"0",width:e.width},[n("path",{id:"soc-"+o.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Cr),n("path",{id:"socdashes-"+o.value,class:"soc-dashes",d:s.value,stroke:d.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,Br),n("text",{class:"cpname",x:u.value,y:p.value,style:K({fill:d.value,fontSize:10}),"text-anchor":c.value},S(h.value),13,Vr)],8,Ir))}}),Lr=["transform"],Or=L({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>He().range([e.height-10,0]).domain([0,100])),r=m(()=>Ya(t.value).ticks(5).tickFormat(o=>o.toString()+"%"));function s(){let o=ce("g#PGSocAxis");o.call(r.value),o.selectAll(".tick").attr("font-size",12),o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)")}return Le(()=>{s()}),(o,h)=>(l(),f("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(o.width-20)+",0)"},null,8,Lr))}}),Ar={class:"d-flex align-self-top justify-content-center align-items-center"},Tr={class:"input-group input-group-xs"},Er={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zr={class:"dropdown-menu"},Wr={class:"table optiontable"},Dr=["onClick"],Gr={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},jr={class:"dropdown-menu"},Ur={class:"table optiontable"},Fr=["onClick"],Nr={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Hr={class:"dropdown-menu"},Rr={class:"table optiontable"},Jr=["onClick"],Yr=L({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=new Date().getFullYear();let s=Array.from({length:10},(z,D)=>r-D);const o=ee(!0),h=e,d=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=ee(t.modelValue.getDate()),p=ee(t.modelValue.getMonth()),c=ee(t.modelValue.getFullYear()),k=m(()=>{const D=new Date(c.value,p.value,1).getDay();let B=0;switch(p.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:B=31;break;case 4:case 6:case 9:case 11:B=30;break;case 2:Math.trunc(c.value/4)*4==c.value?B=29:B=28}let A=[],V=[0,0,0,0,0,0,0],J=D;for(let C=0;C(l(),f("span",Ar,[n("div",Tr,[t.mode=="day"||t.mode=="today"?(l(),f("button",Er,S(u.value),1)):w("",!0),n("div",zr,[n("table",Wr,[(l(!0),f(F,null,te(k.value,(B,A)=>(l(),f("tr",{key:A,class:""},[(l(!0),f(F,null,te(B,(V,J)=>(l(),f("td",{key:J},[V!=0?(l(),f("span",{key:0,type:"button",class:"btn optionbutton",onClick:C=>u.value=V},S(V),9,Dr)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),f("button",Gr,S(p.value+1),1)):w("",!0),n("div",jr,[n("table",Ur,[(l(),f(F,null,te(d,(B,A)=>n("tr",{key:A,class:""},[(l(!0),f(F,null,te(B,(V,J)=>(l(),f("td",{key:J,class:"p-0 m-0"},[n("span",{type:"button",class:"btn btn-sm optionbutton",onClick:C=>p.value=V},S(V+1),9,Fr)]))),128))])),64))])]),t.mode!="live"?(l(),f("button",Nr,S(c.value),1)):w("",!0),n("div",Hr,[n("table",Rr,[(l(!0),f(F,null,te(i(s),(B,A)=>(l(),f("tr",{key:A,class:""},[n("td",null,[n("span",{type:"button",class:"btn optionbutton",onClick:V=>c.value=B},S(B),9,Jr)])]))),128))])]),t.mode!="live"?(l(),f("button",{key:3,class:"button-outline-secondary",type:"button",onClick:P},D[0]||(D[0]=[n("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),R=(a,e)=>{const t=a.__vccOpts||a;for(const[r,s]of e)t[r]=s;return t},qr=R(Yr,[["__scopeId","data-v-98690e5d"]]),Qr={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Zr=["id","value"],Xr=L({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){let u=t.options[d].color?t.options[d].color:"var(--color-fg)";return t.options[d].active?{color:"var(--color-bg)",background:u}:{color:u}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[n("div",Qr,[(l(!0),f(F,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p.value,key:c,class:q(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",p.value==s.value?"active":""]),value:p.value,style:K(o(c)),onClick:h},[n("span",{style:K(o(c))},[p.icon?(l(),f("i",{key:0,class:q(["fa-solid",p.icon])},null,2)):w("",!0),H(" "+S(p.text),1)],4)],14,Zr))),128))])]))}}),Oa=R(Xr,[["__scopeId","data-v-82ab6829"]]),Kr=L({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=ee(0),r=m(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${ge.duration} min`;case"today":return"heute";case"day":return ue.date.getDate()+"."+(ue.date.getMonth()+1)+".";case"month":return Fn(Ee.month-1,Ee.year);case"year":return Re.year.toString();default:return"???"}}),s=["live","today","day","month","year"],o=["Live","Heute","Tag","Monat","Jahr"],h=m({get(){return y.graphMode},set(J){switch(J){case"day":k();break;case"today":P();break;case"live":c();break;case"month":z();break;case"year":D()}}}),d=m(()=>{switch(y.graphMode){case"live":case"today":return ue.getDate();case"month":return Ee.getDate();default:return ue.getDate()}});function u(J){da(J)}function p(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",fe())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",fe())}function P(){y.graphMode!="today"&&(y.graphMode="today",da(new Date),fe())}function z(){y.graphMode!="month"&&(y.graphMode="month",fe())}function D(){y.graphMode!="year"&&(y.graphMode="year",fe())}const B=m(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),A=m(()=>t.value==1?"justify-content-between":"justify-content-end"),V=m(()=>t.value==1?"justify-content-between":"justify-content-center");return(J,C)=>(l(),f("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:K(B.value)},[t.value==2?(l(),$(Oa,{key:0,id:"pgm2",modelValue:h.value,"onUpdate:modelValue":C[0]||(C[0]=M=>h.value=M),class:"m-2",options:s.map((M,E)=>({text:o[E],value:M,color:"var(--color-menu)",active:M==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),f("span",{key:1,type:"button",class:q(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:C[1]||(C[1]=M=>J.$emit("shiftUp"))},C[6]||(C[6]=[n("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),n("div",{class:q(["d-flex align-items-center",V.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:q(["p-1",{disabled:!e.showLeftButton}]),onClick:C[2]||(C[2]=M=>J.$emit("shiftLeft"))},C[7]||(C[7]=[n("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),f("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:p},S(r.value),1)):w("",!0),t.value==2?(l(),$(qr,{key:2,"model-value":d.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),f("span",{key:3,id:"graphRightButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:C[3]||(C[3]=M=>J.$emit("shiftRight"))},null,2)):w("",!0)],2),n("div",{class:q(["d-flex align-items-center",A.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:"p-1",onClick:p},C[8]||(C[8]=[n("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),f("span",{key:1,id:"graphLeftButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:C[4]||(C[4]=M=>J.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),f("span",{key:2,type:"button",class:"p-1",onClick:C[5]||(C[5]=M=>t.value=0)},C[9]||(C[9]=[n("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),na=R(Kr,[["__scopeId","data-v-d75ec1a4"]]),eo=["x","fill"],to=["x"],Ie=L({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,r)=>(l(),f(F,null,[t.power>0?(l(),f("tspan",{key:0,x:t.indent,dy:"1.3em",class:q(t.name?"":"fas"),fill:i(ie)[t.cat].color},S(t.name?t.name:i(ie)[t.cat].icon)+"   ",11,eo)):w("",!0),n("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),$(bt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,to)],64))}}),ao=["transform"],no=["width","height"],ro={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},oo=["x"],so=L({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=m(()=>Object.values(e.entry).filter(u=>u>0).length),r=m(()=>t.value*16),s=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("pv")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Wechselr.",id:u}))),o=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("cp")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Ladep.",id:u}))),h=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("sh")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Gerät",id:u})));function d(u){return u.length>6?u.slice(0,6)+"...":u}return(u,p)=>(l(),f("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[n("rect",{rx:"5",width:u.boxwidth,height:r.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,no),n("text",ro,[n("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},S(i(st)("%H:%M")(new Date(u.entry.date))),9,oo),p[0]||(p[0]=n("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),v(Ie,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(F,null,te(s.value,c=>(l(),$(Ie,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(F,null,te(o.value,c=>(l(),$(Ie,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(F,null,te(h.value,c=>(l(),$(Ie,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,ao))}}),io=["origin","transform"],lo=["x","height","width"],ga=140,co=L({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right]):et().range([0,0])}),r=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right-ga]):et().range([0,0])}),s=m(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(Ye.value),ce("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(o,h)=>e.data.length>h?t.value(e.data[h].date):0).attr("width",e.data.length>0?(Ye.value[1]-Ye.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(o,h)=>(l(),f("g",{id:"pgToolTips",origin:s.value,transform:"translate("+o.margin.left+","+o.margin.top+")"},[(l(!0),f(F,null,te(o.data,d=>(l(),f("g",{key:d.date,class:"ttarea"},[n("rect",{x:t.value(d.date),y:"0",height:o.height,class:"ttrect",width:i(y).data.length>0?o.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,lo),v(so,{entry:d,boxwidth:ga,"x-scale":r.value},null,8,["entry","x-scale"])]))),128))],8,io))}}),uo={class:"d-flex justify-content-end"},ho={id:"powergraphFigure",class:"p-0 m-0"},po=["viewBox"],go=["transform"],mo=["x","y"],fo=2,vo="Leistung / Ladestand ",yo=L({__name:"PowerGraph",setup(a){function e(){let h=g.usageStackOrder+1;h>fo&&(h=0),g.usageStackOrder=h,xn(!0)}function t(h){const d=[[0,j.top],[be,Se-j.top]];h.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[be,Se]]).extent(d).filter(s).on("zoom",r))}function r(h){Ca.value=h.transform}function s(h){return h.preventDefault(),(!h.ctrlKey||h.type==="wheel")&&!h.button}function o(){g.zoomedWidget=1,g.zoomGraph=!g.zoomGraph}return Le(()=>{const h=ce("svg#powergraph");t(h)}),(h,d)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(vo))]),buttons:_(()=>[n("div",uo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:o},d[0]||(d[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[vt(n("figure",ho,[(l(),f("svg",{id:"powergraph",class:"powergraphSvg",viewBox:"0 0 "+i(be)+" "+i(Se)},[v(gr,{width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j)},null,8,["width","height","margin"]),v(fr,{width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),"stack-order":i(g).usageStackOrder},null,8,["width","height","margin","stack-order"]),v(Pr,{width:i(be)-i(j).left-2*i(j).right,height:i(Se)-i(j).top-i(j).bottom,margin:i(j)},null,8,["width","height","margin"]),n("g",{transform:"translate("+i(j).left+","+i(j).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>0?(l(),$(Vt,{key:0,width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>1?(l(),$(Vt,{key:1,width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(de).isBatteryConfigured?(l(),$(Vt,{key:2,width:i(be)-i(j).left-2*i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),$(Or,{key:3,width:i(be)-i(j).left-i(j).right,height:(i(Se)-i(j).top-i(j).bottom)/2,margin:i(j)},null,8,["width","height","margin"])):w("",!0)],8,go),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),$(co,{key:0,width:i(be)-i(j).left-i(j).right,height:i(Se)-i(j).top-i(j).bottom,margin:i(j),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),n("g",{id:"button",type:"button",onClick:e},[n("text",{x:i(be)-10,y:i(Se)-10,color:"var(--color-menu)","text-anchor":"end"},d[1]||(d[1]=[n("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},S(""),-1)]),8,mo)])],8,po))],512),[[qa,i(y).data.length>0]])]),_:1}))}}),bo=R(yo,[["__scopeId","data-v-7cbcf9ef"]]),_o=["id"],wo=["x","width","height","fill"],ko=["x","width","height"],xo=["x","y","width","height"],So=L({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[n("rect",{class:"bar",x:e.xScale(o.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:o.item.color},null,8,wo),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:r.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,ko),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:r.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,xo)],8,_o))}}),Mo={id:"emBargraph"},$o=L({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="day"?U:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="day"?U:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return Math.round((p+c-d-k)/(p+c+u-d-k)*100)}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Mo,[(l(!0),f(F,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(So,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),o[0]||(o[0]=n("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),Po=["origin"],Io=L({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=m(()=>ft(e.yScale).tickFormat(o=>s(o)).ticks(6).tickSizeInner(-e.width)),r=m(()=>{const o=ce("g#emYAxis");return o.attr("class","axis").call(t.value),o.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),o.selectAll(".tick").attr("font-size",e.fontsize),g.showGrid?o.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(o){return o>0?y.graphMode=="year"?(o/1e6).toString():(o/1e3).toString():""}return(o,h)=>(l(),f("g",{id:"emYAxis",class:"axis",origin:r.value},null,8,Po))}}),Co=["id"],Bo=["x","y","font-size"],Vo=["x","y","font-size","fill"],Lo=["x","y","font-size","fill"],Oo=L({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),r=m(()=>{let u=16,p=e.barcount;return p<=5?u=16:p==6?u=14:p>6&&p<=8?u=13:p==9?u=11:p==10?u=10:u=9,u}),s=m(()=>{let u=12,p=e.barcount;return p<=5?u=12:p==6?u=11:p>6&&p<=8||p==9?u=8:p==10?u=7:u=6,u});function o(u,p){return p.length>s.value?p.substring(0,s.value)+".":p}function h(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function d(){return"var(--color-pv)"}return(u,p)=>(l(),f("g",{id:"barlabel-"+e.item.name},[n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":r.value,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(u.item.energy,i(g).decimalPlaces,!1)),9,Bo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":r.value-2,"text-anchor":"middle",fill:d()},S(h()),9,Vo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":r.value,"text-anchor":"middle",fill:u.item.color,class:q(u.item.icon.length<=2?"fas":"")},S(o(u.item.name,u.item.icon)),11,Lo)],8,Co))}}),Ao={id:"emBarLabels"},To=L({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?U:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?U:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Ao,[(l(!0),f(F,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(Oo,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Eo={class:"d-flex justify-content-end"},zo={id:"energymeter",class:"p-0 m-0"},Wo={viewBox:"0 0 500 500"},Do=["transform"],Go=["x"],jo={key:0},ma=500,Lt=500,fa=12,Uo="Energie",Fo=L({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=m(()=>{let u=Object.values(Q),p=o.value;const c=T.items;let k=[];switch(g.debug&&h(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(p);break;case"day":case"month":case"year":Object.values(c).length==0?qe.value=!0:(qe.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(P=>{c["cp"+P]&&k.push(c["cp"+P])}),k.push(c.devices),ae.forEach((P,z)=>{P.showInGraph&&c["sh"+z]&&k.push(c["sh"+z])}),k=k.concat([c.batIn,c.house]))}return k.filter(P=>P.energy&&P.energy>0)}),r=m(()=>xt().range([0,ma-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=m(()=>He().range([Lt-e.bottom-e.top,15]).domain([0,Sa(t.value,u=>u.energy)])),o=m(()=>{const u=Object.values(O).length,p=[...ae.values()].filter(k=>k.configured).length;let c=U;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(p>1?[...ae.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([U.batIn,U.house])]});function h(){console.debug(["source summary:",Q]),console.debug(["usage details:",o.value]),console.debug(["historic summary:",T])}function d(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(u,p)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(Uo))]),buttons:_(()=>[n("div",Eo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:d},p[0]||(p[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",zo,[(l(),f("svg",Wo,[n("g",{transform:"translate("+e.left+","+e.top+")"},[v($o,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e},null,8,["plotdata","x-scale","y-scale"]),v(Io,{"y-scale":s.value,width:ma,fontsize:fa,config:i(g)},null,8,["y-scale","config"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":fa},S(i(y).graphMode=="year"?"MWh":"kWh"),9,Go),v(To,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e,config:i(g)},null,8,["plotdata","x-scale","y-scale","config"])],8,Do)]))]),i(qe)?(l(),f("p",jo,"No data")):w("",!0)]),_:1}))}}),No=R(Fo,[["__scopeId","data-v-32c82102"]]),Ho=["id"],Ro=["y","width","fill"],Jo=["y","width"],Yo=["y","x","width"],qo=L({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=m(()=>e.xScale(e.item.energy)),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.xScale(e.item.energyPv)),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.xScale(e.item.energyBat)),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:`bar-${e.item.name}`},[n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:o.item.color},null,8,Ro),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:r.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Jo),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:r.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,Yo)],8,Ho))}}),Qo={id:"emBargraph"},Zo=L({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,r)=>(l(),f("g",Qo,[(l(!0),f(F,null,te(e.plotdata,(s,o)=>(l(),f("g",{key:o},[v(qo,{id:o.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Xo=["id"],Ko=["y","x","fill"],es=["y","x"],ts=["y","x","font-size"],Ot=24,as=L({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.yscale(e.id)+e.itemHeight/3);function r(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(o){return o.length>14?o.slice(0,13)+"...":o}return(o,h)=>(l(),f("g",{id:"barlabel-"+e.id},[n("text",{y:t.value,x:e.margin.left,"font-size":Ot,"text-anchor":"start",fill:o.item.color,class:q(o.item.icon.length<=2?"fas":"")},S(s(e.item.icon)),11,Ko),n("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Ot,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(o.item.energy,i(g).decimalPlaces,!1)),9,es),n("text",{y:t.value,x:e.width-e.margin.right,"font-size":Ot-2,"text-anchor":"end",fill:"var(--color-pv)"},S(r()),9,ts)],8,Xo))}}),ns={id:"emBarLabels"},rs=L({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?U:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?U:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",ns,[(l(!0),f(F,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(as,{id:d.toString(),item:h,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":r(h),autarchy:t(h)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class os{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class ss{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}le(new ss);const he=ee(new Map),Aa=a=>{he.value.set(a,new os(a)),he.value.get(a).color=ie["bat"+he.value.size].color};function is(){he.value=new Map}const ls={class:"d-flex justify-content-end"},cs={id:"energymeter",class:"p-0 m-0"},us=["viewBox"],ds=["transform"],hs=["x"],ps={key:0},va=500,At=60,gs=12,ms="Energie",fs=L({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=m(()=>r.value.length*At+e.top+e.bottom),r=m(()=>{let c=Object.values(Q),k=h.value;const P=T.items;let z=[];switch(g.debug&&u(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":z=d(c).concat(k);break;case"day":case"month":case"year":Object.values(P).length==0?qe.value=!0:(qe.value=!1,z=[P.evuIn,P.pv,P.evuOut,P.batOut,P.charging],Object.values(O).length>1&&Object.keys(O).forEach(D=>{P["cp"+D]&&z.push(P["cp"+D])}),z.push(P.devices),ae.forEach((D,B)=>{D.showInGraph&&P["sh"+B]&&z.push(P["sh"+B])}),z=z.concat([P.batIn,P.house]))}return z.filter(D=>D.energy&&D.energy>0)}),s=m(()=>He().range([0,va-e.left-e.right]).domain([0,Sa(r.value,c=>c.energy)])),o=m(()=>xt().range([e.top,t.value-e.bottom]).domain(r.value.map((c,k)=>k.toString())).padding(.1)),h=m(()=>{const c=Object.values(O).length,k=[...ae.values()].filter(z=>z.configured).length;let P=U;return[...[P.evuOut,P.charging].concat(c>1?Object.values(O).map(z=>z.toPowerItem()):[]),...[P.devices].concat(k>1?[...ae.values()].filter(z=>z.configured&&z.showInGraph):[]).concat([U.batIn,U.house])]});function d(c){let k=0;return we.value.size>1&&we.value.forEach(P=>{c.splice(2+k++,0,{name:P.name,power:P.power,energy:P.energy,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),he.value.size>1&&he.value.forEach(P=>{c.splice(3+k++,0,{name:P.name,power:P.power,energy:P.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",Q]),console.debug(["usage details:",h.value]),console.debug(["historic summary:",T])}function p(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(c,k)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(ms))]),buttons:_(()=>[n("div",ls,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:p},k[0]||(k[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",cs,[(l(),f("svg",{viewBox:"0 0 500 "+t.value},[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Zo,{plotdata:r.value,xscale:s.value,yscale:o.value,"item-height":At},null,8,["plotdata","xscale","yscale"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":gs},S(i(y).graphMode=="year"?"MWh":"kWh"),9,hs),v(rs,{plotdata:r.value,yscale:o.value,width:va,"item-height":At,margin:e},null,8,["plotdata","yscale"])],8,ds)],8,us))]),i(qe)?(l(),f("p",ps,"No data")):w("",!0)]),_:1}))}}),vs=R(fs,[["__scopeId","data-v-63a4748e"]]),ys={class:"d-flex flex-column align-items-center justify-content-start infoitem"},bs=L({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),r=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=m(()=>e.small?"mt-0":"mt-1");return(o,h)=>(l(),f("span",ys,[n("span",{class:q(["d-flex heading",s.value]),style:K(t.value)},S(e.heading),7),n("span",{class:"d-flex my-0 me-0 align-items-center content",style:K(r.value)},[pe(o.$slots,"default",{},void 0,!0)],4)]))}}),X=R(bs,[["__scopeId","data-v-f6af00e8"]]),_s={class:"d-flex justify-content-between align-items-center titlerow"},ws={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ks={class:"contentrow grid-col-12"},xs=L({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=m(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),r=m(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,o)=>(l(),f("div",{class:q(["wb-subwidget px-3 pt-2 my-0",r.value])},[n("div",_s,[n("div",{class:"d-flex widgetname p-0 m-0",style:K(t.value)},[pe(s.$slots,"title",{},void 0,!0)],4),n("div",ws,[pe(s.$slots,"buttons",{},void 0,!0)])]),n("div",ks,[pe(s.$slots,"default",{},void 0,!0)])],2))}}),tt=R(xs,[["__scopeId","data-v-e989060d"]]),Ss={class:"grid-col-12 mt-2 mb-0 px-0 py-0 configitem"},Ms={class:"titlecolumn m-0 p-0 d-flex align-items-center"},$s={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},Ps={class:"justify-content-stretch d-flex"},Is=L({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=ee(!1);function r(){t.value=!t.value}const s=m(()=>{let o={color:"var(--color-charging)"};return t.value&&(o.color="var(--color-battery)"),o});return(o,h)=>(l(),$(tt,{fullwidth:!!o.fullwidth},{default:_(()=>[n("div",Ss,[n("div",Ms,[n("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:r},[e.icon?(l(),f("i",{key:0,class:q(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),H(" "+S(o.title),1)]),n("span",null,[e.infotext?(l(),f("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:K(s.value),onClick:r},null,4)):w("",!0)])]),t.value?(l(),f("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:r},[h[0]||(h[0]=n("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),H(" "+S(o.infotext),1)])):w("",!0),n("div",$s,[n("span",Ps,[pe(o.$slots,"default",{},void 0,!0)])])])]),_:3},8,["fullwidth"]))}}),N=R(Is,[["__scopeId","data-v-b935eb33"]]),Cs={class:"d-flex flex-column"},Bs={class:"d-flex flex-fill justify-content-between align-items-center"},Vs={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},Ls={key:0,id:"rangeIndicator",class:"rangeIndicator"},Os={viewBox:"0 0 100 2"},As=["width"],Ts=["x","width"],Es=["x","width"],zs=["id","min","max","step"],Ws={class:"d-flex justify-content-between align-items-center"},Ds={class:"minlabel ps-4"},Gs={class:"valuelabel"},js={class:"maxlabel pe-4"},Us=L({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=t.decimals??0,s=e,o=m({get(){return Math.round(t.modelValue*Math.pow(10,r))/Math.pow(10,r)},set(k){s("update:modelValue",k)}});function h(){o.value>t.min&&(o.value=Math.round((o.value-t.step)*Math.pow(10,r))/Math.pow(10,r))}function d(){o.valueHe().domain([t.min,t.max]).range([0,100])),p=m(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=m(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,P)=>(l(),f("span",Cs,[n("span",Bs,[n("span",{type:"button",class:"minusButton",onClick:h},P[1]||(P[1]=[n("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),n("div",Vs,[t.showSubrange?(l(),f("figure",Ls,[(l(),f("svg",Os,[n("g",null,[n("rect",{class:"below",x:0,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,As),n("rect",{class:"bar",x:p.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Ts),n("rect",{class:"above",x:p.value+c.value,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Es)])]))])):w("",!0),vt(n("input",{id:k.id,"onUpdate:modelValue":P[0]||(P[0]=z=>o.value=z),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,zs),[[Za,o.value,void 0,{number:!0}]])]),n("span",{type:"button",class:"plusButton",onClick:d},P[2]||(P[2]=[n("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),n("span",Ws,[n("span",Ds,S(k.min),1),n("span",Gs,S(o.value)+" "+S(k.unit),1),n("span",js,S(k.max),1)])]))}}),Me=R(Us,[["__scopeId","data-v-267ede95"]]),Fs=["id","value"],Ns=L({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){return t.options[d][2]?{color:t.options[d][2]}:{color:"var(--color-fg)"}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[(l(!0),f(F,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p[1],key:c,class:q(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",p[1]==s.value?"active":""]),value:p[1],style:K(o(c)),onClick:h},[n("span",{style:K(o(c))},[p[3]?(l(),f("i",{key:0,class:q(["fa-solid",p[3]])},null,2)):w("",!0),H(" "+S(p[0]),1)],4)],14,Fs))),128))]))}}),We=R(Ns,[["__scopeId","data-v-df222cbe"]]),Hs={class:"mt-2"},Rs={key:0},Js=L({__name:"CPConfigInstant",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),r=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],s=m({get(){return t.value.instantMaxEnergy/1e3},set(o){t.value.instantMaxEnergy=o*1e3}});return(o,h)=>(l(),f("div",Hs,[h[4]||(h[4]=n("p",{class:"heading ms-1"},"Sofortladen:",-1)),v(N,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[v(Me,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":h[0]||(h[0]=d=>t.value.instantTargetCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),f("hr",Rs)):w("",!0),v(N,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(We,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":h[1]||(h[1]=d=>t.value.instantChargeLimitMode=d),options:r.map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),$(N,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Me,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":h[2]||(h[2]=d=>t.value.instantTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),$(N,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Me,{id:"maxEnergy",modelValue:s.value,"onUpdate:modelValue":h[3]||(h[3]=d=>s.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ys=R(Js,[["__scopeId","data-v-0303d179"]]),qs={class:"form-check form-switch"},se=L({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(h){r("update:modelValue",h)}}),o=m(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(h,d)=>(l(),f("div",qs,[vt(n("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:K(o.value)},null,4),[[Ma,s.value]])]))}}),Qs={class:"pt-2"},Zs={key:3},Xs=L({__name:"CPConfigPv",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),r=m({get(){return t.value.pvMinCurrent>5},set(h){h?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),s=m({get(){return t.value.pvMinSoc>0},set(h){h?t.value.pvMinSoc=50:t.value.pvMinSoc=0}}),o=m({get(){return t.value.pvMaxSoc<=100},set(h){h?t.value.pvMaxSoc=100:t.value.pvMaxSoc=101}});return(h,d)=>(l(),f("div",Qs,[d[8]||(d[8]=n("p",{class:"heading ms-1"},"PV-Laden:",-1)),v(N,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(se,{id:"limitSoc",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u)},null,8,["modelValue"])]),_:1}),o.value?(l(),$(N,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(Me,{id:"maxSoc",modelValue:t.value.pvMaxSoc,"onUpdate:modelValue":d[1]||(d[1]=u=>t.value.pvMaxSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),v(N,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(se,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":d[2]||(d[2]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1}),v(N,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Te).minsoc,fullwidth:!0},{default:_(()=>[v(se,{modelValue:s.value,"onUpdate:modelValue":d[3]||(d[3]=u=>s.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),s.value?(l(),$(N,{key:1,title:"...bis SoC",fullwidth:!0},{info:_(()=>[H(S(i(Te).minsoc),1)]),default:_(()=>[v(Me,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":d[4]||(d[4]=u=>t.value.pvMinSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),s.value?(l(),$(N,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:_(()=>[v(Me,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":d[5]||(d[5]=u=>t.value.pvMinSocCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0),r.value||s.value?(l(),f("hr",Zs)):w("",!0),v(N,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Te).minpv,fullwidth:!0},{default:_(()=>[v(se,{modelValue:r.value,"onUpdate:modelValue":d[6]||(d[6]=u=>r.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),r.value?(l(),$(N,{key:4,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:_(()=>[v(Me,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":d[7]||(d[7]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ks=R(Xs,[["__scopeId","data-v-faa69015"]]),ei={class:"table table-borderless"},ti={class:"tablecell"},ai={class:"tablecell"},ni={class:"tablecell"},ri={class:"tablecell"},oi={class:"tablecell left"},si=["href"],ii=L({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>{let d=[];return pt[t.chargeTemplateId]&&(d=Object.values(pt[t.chargeTemplateId])),d});function s(d){return r.value[d].time}function o(d){return{color:r.value[d].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function h(d){return{"font-weight":r.value[d].active?"bold":"regular"}}return(d,u)=>(l(),f(F,null,[u[1]||(u[1]=n("p",{class:"heading ms-1 pt-2"},"Zielladen:",-1)),n("table",ei,[u[0]||(u[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Ziel"),n("th",{class:"tableheader"},"Limit"),n("th",{class:"tableheader"},"Zeit"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader"})])],-1)),n("tbody",null,[(l(!0),f(F,null,te(r.value,(p,c)=>(l(),f("tr",{key:c,style:K(h(c))},[n("td",ti,S(p.limit.soc_scheduled)+"%",1),n("td",ai,S(p.limit.soc_limit)+"%",1),n("td",ni,S(s(c)),1),n("td",ri,S(e[p.frequency.selected]),1),n("td",oi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:q([p.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(o(c)),type:"button"},null,6)],8,si)])],4))),128))])])],64))}}),li=R(ii,[["__scopeId","data-v-e8f5ad9d"]]),ci={class:"table table-borderless"},ui={class:"tablecell"},di={class:"tablecell"},hi={class:"tablecell"},pi={class:"tablecell"},gi={class:"tablecell left"},mi=["href"],fi=L({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>gt[t.chargeTemplateId]?Object.values(gt[t.chargeTemplateId])??[]:[]);function s(h){return{color:r.value[h].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function o(h){return{"font-weight":r.value[h].active?"bold":"regular"}}return(h,d)=>(l(),f(F,null,[d[1]||(d[1]=n("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),n("table",ci,[d[0]||(d[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Von"),n("th",{class:"tableheader"},"Bis"),n("th",{class:"tableheader"},"Ladestrom"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(F,null,te(r.value,(u,p)=>(l(),f("tr",{key:p,style:K(o(p))},[n("td",ui,S(u.time[0]),1),n("td",di,S(u.time[1]),1),n("td",hi,S(u.current)+" A",1),n("td",pi,S(e[u.frequency.selected]),1),n("td",gi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:q([u.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(s(p)),type:"button"},null,6)],8,mi)])],4))),128))])])],64))}}),vi=R(fi,[["__scopeId","data-v-192e287b"]]),yi={class:"settingsheader mt-2 ms-1"},bi=L({__name:"CPConfigVehicle",props:{vehicleId:{}},setup(a){const e=a;return(t,r)=>(l(),f(F,null,[n("p",yi," Profile für "+S(i(Y)[e.vehicleId].name)+": ",1),v(N,{title:"Ladeprofil",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(Y)[e.vehicleId].chargeTemplateId,"onUpdate:modelValue":r[0]||(r[0]=s=>i(Y)[e.vehicleId].chargeTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(_e)).map(s=>[i(_e)[+s].name,s])},null,8,["modelValue","options"])]),_:1}),v(N,{title:"Fahrzeug-Vorlage",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(Y)[e.vehicleId].evTemplateId,"onUpdate:modelValue":r[1]||(r[1]=s=>i(Y)[e.vehicleId].evTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(Ht)).map(s=>[i(Ht)[+s].name,s])},null,8,["modelValue","options"])]),_:1})],64))}}),_i=R(bi,[["__scopeId","data-v-fcb57a44"]]),wi={class:"settingsheader mt-2 ms-1"},ki=L({__name:"CPChargeConfig",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(r,s)=>(l(),f(F,null,[n("p",wi," Ladeeinstellungen für "+S(i(t).vehicleName)+": ",1),v(N,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Te).chargemode,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=o=>i(t).chargeMode=o),options:Object.keys(i(ye)).map(o=>[i(ye)[o].name,o,i(ye)[o].color,i(ye)[o].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(N,{title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Te).vehicle,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=o=>i(t).connectedVehicle=o),modelModifiers:{number:!0},options:Object.values(i(Y)).filter(o=>o.visible).map(o=>[o.name,o.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(N,{title:"Sperren",icon:"fa-lock",infotext:i(Te).locked,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=o=>i(t).isLocked=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(N,{title:"Priorität",icon:"fa-star",infotext:i(Te).priority,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=o=>i(t).hasPriority=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(N,{title:"Zeitplan",icon:"fa-clock",infotext:i(Te).timeplan,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=o=>i(t).timedCharging=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(de).isBatteryConfigured?(l(),$(N,{key:0,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Te).pvpriority,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(de).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=o=>i(de).pvBatteryPriority=o),options:i(cn)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),i(re).active?(l(),$(N,{key:1,title:"Strompreisbasiert laden",icon:"fa-money-bill",infotext:i(Te).pricebased,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).etActive,"onUpdate:modelValue":s[6]||(s[6]=o=>i(t).etActive=o)},null,8,["modelValue"])]),_:1},8,["infotext"])):w("",!0)],64))}}),xi=R(ki,[["__scopeId","data-v-e348a34c"]]),Si={class:"providername ms-1"},Mi={class:"container"},$i={id:"pricechart",class:"p-0 m-0"},Pi={viewBox:"0 0 400 300"},Ii=["id","origin","transform"],Ci={key:0,class:"p-3"},Bi={key:1,class:"d-flex justify-content-end"},Vi=["disabled"],at=400,ya=250,ba=12,Li=L({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?ee(e.chargepoint.etMaxPrice):ee(0);const r=ee(!1),s=ee(e.chargepoint),o=m({get(){return t.value},set(W){t.value=W,r.value=!0}});function h(){s.value&&(O[s.value.id].etMaxPrice=o.value),r.value=!1}const d=ee(!1),u={top:0,bottom:15,left:20,right:5},p=m(()=>{let W=[];return re.etPriceList.size>0&&re.etPriceList.forEach((Z,Oe)=>{W.push([Oe,Z])}),W}),c=m(()=>p.value.length>1?(at-u.left-u.right)/p.value.length-1:0),k=m(()=>r.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),P=m(()=>{let W=Ve(p.value,Z=>Z[0]);return W[1]&&(W[1]=new Date(W[1]),W[1].setTime(W[1].getTime()+36e5)),et().range([u.left,at-u.right]).domain(W)}),z=m(()=>{let W=[0,0];return p.value.length>0?(W=Ve(p.value,Z=>Z[1]),W[0]=Math.floor(W[0]-1),W[1]=Math.floor(W[1]+1)):W=[0,0],W}),D=m(()=>He().range([ya-u.bottom,0]).domain(z.value)),B=m(()=>{const W=Ne(),Z=[[u.left,D.value(o.value)],[at-u.right,D.value(o.value)]];return W(Z)}),A=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.lowerPriceBound)],[at-u.right,D.value(g.lowerPriceBound)]];return W(Z)}),V=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.upperPriceBound)],[at-u.right,D.value(g.upperPriceBound)]];return W(Z)}),J=m(()=>{const W=Ne(),Z=[[u.left,D.value(0)],[at-u.right,D.value(0)]];return W(Z)}),C=m(()=>ht(P.value).ticks(6).tickSize(5).tickFormat(st("%H:%M"))),M=m(()=>ft(D.value).ticks(z.value[1]-z.value[0]).tickSizeInner(-375).tickFormat(W=>W.toString())),E=m(()=>{d.value==!0;const W=ce("g#"+I.value);W.selectAll("*").remove(),W.selectAll("bar").data(p.value).enter().append("g").append("rect").attr("class","bar").attr("x",Qe=>P.value(Qe[0])).attr("y",Qe=>D.value(Qe[1])).attr("width",c.value).attr("height",Qe=>D.value(z.value[0])-D.value(Qe[1])).attr("fill",Qe=>Qe[1]<=o.value?"var(--color-charging)":"var(--color-axis)");const Oe=W.append("g").attr("class","axis").call(C.value);Oe.attr("transform","translate(0,"+(ya-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const wt=W.append("g").attr("class","axis").call(M.value);return wt.attr("transform","translate("+u.left+",0)"),wt.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),wt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width","0.5"),wt.select(".domain").attr("stroke","var(--color-bg)"),z.value[0]<0&&W.append("path").attr("d",J.value).attr("stroke","var(--color-fg)"),W.append("path").attr("d",A.value).attr("stroke","green"),W.append("path").attr("d",V.value).attr("stroke","red"),W.append("path").attr("d",B.value).attr("stroke","yellow"),"PriceChart.vue"}),I=m(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),x=m(()=>{let W=[];return re.etPriceList.forEach(Z=>{W.push(Z)}),W.sort((Z,Oe)=>Z-Oe)});function G(){let W=x.value[0];for(let Z of x.value){if(Z>=o.value)break;W=Z}o.value=W}function xe(){let W=x.value[0];for(let Z of x.value)if(Z>o.value){W=Z;break}else W=Z;o.value=W}return Le(()=>{d.value=!d.value}),(W,Z)=>(l(),f(F,null,[Z[3]||(Z[3]=n("p",{class:"settingsheader mt-2 ms-1"},"Preisbasiertes Laden:",-1)),n("p",Si,"Anbieter: "+S(i(re).etProvider),1),Z[4]||(Z[4]=n("hr",null,null,-1)),n("div",Mi,[n("figure",$i,[(l(),f("svg",Pi,[n("g",{id:I.value,origin:E.value,transform:"translate("+u.top+","+u.right+")"},null,8,Ii)]))])]),W.chargepoint!=null?(l(),f("div",Ci,[W.chargepoint.etActive?(l(),$(Me,{key:0,id:"pricechart_local",modelValue:o.value,"onUpdate:modelValue":Z[0]||(Z[0]=Oe=>o.value=Oe),min:Math.floor(x.value[0]-1),max:Math.ceil(x.value[x.value.length-1]+1),step:.1,decimals:1,"show-subrange":!0,"subrange-min":x.value[0],"subrange-max":x.value[x.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])):w("",!0)])):w("",!0),n("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:G},Z[1]||(Z[1]=[n("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:xe},Z[2]||(Z[2]=[n("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),W.chargepoint!=null?(l(),f("div",Bi,[n("span",{class:"me-3 pt-0",onClick:h},[n("button",{type:"button",class:"btn btn-secondary",style:K(k.value),disabled:!r.value}," Bestätigen ",12,Vi)])])):w("",!0)],64))}}),Ta=R(Li,[["__scopeId","data-v-8d837517"]]),Oi={class:"status-string"},Ai={style:{color:"red"}},Ti={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},Ei={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},zi=["data-bs-target"],Wi=["data-bs-target"],Di=["data-bs-target"],Gi=["data-bs-target"],ji=["data-bs-target"],Ui=["data-bs-target"],Fi=["data-bs-target"],Ni={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},Hi=["id"],Ri=["id"],Ji=["id"],Yi=["id"],qi=["id"],Qi=["id"],Zi=["id"],Xi=L({__name:"CPChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,r=m(()=>_e[t.chargeTemplate]),s=m(()=>t.id);return Le(()=>{}),(o,h)=>(l(),f(F,null,[v(N,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[n("span",Oi,S(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),$(N,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[n("span",Ai,S(i(t).faultStr),1)]),_:1})):w("",!0),n("div",Ti,[n("nav",Ei,[n("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},h[0]||(h[0]=[n("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,zi),o.chargepoint.chargeMode=="instant_charging"?(l(),f("a",{key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},h[1]||(h[1]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,Wi)):w("",!0),o.chargepoint.chargeMode=="pv_charging"?(l(),f("a",{key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},h[2]||(h[2]=[n("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,Di)):w("",!0),o.chargepoint.chargeMode=="scheduled_charging"?(l(),f("a",{key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},h[3]||(h[3]=[n("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,Gi)):w("",!0),o.chargepoint.timedCharging?(l(),f("a",{key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+s.value},h[4]||(h[4]=[n("i",{class:"fa-solid fa-clock"},null,-1)]),8,ji)):w("",!0),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#carSettings"+s.value},h[5]||(h[5]=[n("i",{class:"fa-solid fa-rectangle-list"},null,-1)]),8,Ui),i(re).active&&i(t).etActive?(l(),f("a",{key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceChart"+s.value},h[6]||(h[6]=[n("i",{class:"fa-solid fa-chart-line"},null,-1)]),8,Fi)):w("",!0)]),n("div",Ni,[n("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[v(xi,{chargepoint:o.chargepoint},null,8,["chargepoint"])],8,Hi),n("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[v(Ys,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ri),n("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[v(Ks,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ji),n("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[r.value!=null?(l(),$(li,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Yi),n("div",{id:"timeSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[r.value!=null?(l(),$(vi,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,qi),n("div",{id:"carSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"car-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),$(_i,{key:0,"vehicle-id":i(t).connectedVehicle},null,8,["vehicle-id"])):w("",!0)],8,Qi),n("div",{id:"priceChart"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,Zi)])])],64))}}),Jt=R(Xi,[["__scopeId","data-v-1164316d"]]),Ki={class:"d-flex justify-content-center align-items-center"},el=L({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),r=m(()=>({color:e.color??"var(--color-menu)"}));return(s,o)=>(l(),f("span",Ki,[n("i",{class:q(["fa me-1",t.value]),style:K(r.value)},null,6),H(" "+S(Math.round(s.soc)+"%"),1)]))}}),Ct=R(el,[["__scopeId","data-v-a68c844a"]]),Ge=L({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=m(()=>ct(e.wattH,g.decimalPlaces));return(r,s)=>(l(),f("span",null,S(t.value),1))}}),tl={class:"wb-widget p-0 m-0 shadow widgetWidth"},al={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},nl={class:"d-flex align-items-center widgetname p-0 m-0"},rl={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ol={class:"grid12 pb-3"},sl=L({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:q(["p-2 m-0",t.value])},[n("div",tl,[n("div",al,[n("div",nl,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))],!0),pe(r.$slots,"subtitle",{},void 0,!0)]),n("div",rl,[pe(r.$slots,"buttons",{},void 0,!0)])]),n("div",ol,[pe(r.$slots,"default",{},void 0,!0)])])],2))}}),je=R(sl,[["__scopeId","data-v-1d5bc1d9"]]),il=L({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=m(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(r,s)=>(l(),f("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:K(t.value)},[pe(r.$slots,"default",{},void 0,!0)],4))}}),Pe=R(il,[["__scopeId","data-v-36112fa3"]]),ll={class:"d-flex justify-content-center align-items-center"},cl={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},ul={key:0},dl={key:1,class:"row m-0 mt-0 p-0"},hl={class:"col m-0 p-0"},pl={key:0},gl={class:"row"},ml={class:"col"},fl={class:"carTitleLine d-flex justify-content-between align-items-center"},vl={key:0,class:"me-1 fa-solid fa-xs fa-star ps-1"},yl={key:1,class:"me-1 fa-solid fa-xs fa-coins ps-0"},bl={key:2,class:"me-0 fa-solid fa-xs fa-clock ps-1"},_l={class:"grid12"},wl={style:{color:"var(--color-charging)"}},kl={style:{color:"var(--color-charging)"}},xl={style:{color:"var(--color-charging)"}},Sl={class:"targetCurrent"},Ml={key:5,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},$l={class:"d-flex justify-content-stretch align-items-center"},Pl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Il=["id"],Cl=L({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=ee(e.chargepoint),r=m({get(){return e.chargepoint.chargeMode},set(I){O[e.chargepoint.id].chargeMode=I}}),s=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),o=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),h=m(()=>{const I=e.chargepoint.rangeCharged,x=e.chargepoint.chargedSincePlugged,G=e.chargepoint.dailyYield;return x>0?Math.round(I/x*G).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),d=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),u=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),p=m(()=>{let I="";return e.chargepoint.isLocked?I="fa-lock":e.chargepoint.isCharging?I=" fa-bolt":e.chargepoint.isPluggedIn&&(I="fa-plug"),"fa "+I}),c=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ye[e.chargepoint.chargeMode].color}}}),k=m(()=>e.chargepoint.soc),P=m(()=>({color:e.chargepoint.color})),z=m(()=>e.chargepoint.etMaxPrice>=+M.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),D=m(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),B=ee(!1),A=ee(!1);function V(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function J(){oe("setSoc",C.value,e.chargepoint.connectedVehicle),A.value=!1}const C=m({get(){return e.chargepoint.soc},set(I){O[e.chargepoint.id].soc=I}}),M=m(()=>{const[I]=re.etPriceList.values();return(Math.round(I*10)/10).toFixed(1)}),E=ee(!1);return(I,x)=>(l(),f(F,null,[B.value?w("",!0):(l(),$(_t,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[n("span",ll,[n("span",{style:K(P.value),onClick:x[0]||(x[0]=G=>B.value=!B.value)},[x[12]||(x[12]=n("span",{class:"fa-solid fa-charging-station"}," ",-1)),H(" "+S(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),f("span",cl,"Fehler")):w("",!0)])]),buttons:_(()=>[n("span",{type:"button",class:"ms-2 ps-1 pt-1",style:K(c.value),onClick:x[1]||(x[1]=G=>B.value=!B.value)},x[13]||(x[13]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[B.value?w("",!0):(l(),f("div",pl,[n("div",gl,[n("div",ml,[n("div",fl,[n("h3",{onClick:x[3]||(x[3]=G=>B.value=!B.value)},[x[14]||(x[14]=n("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),H(" "+S(I.chargepoint.vehicleName)+" ",1),I.chargepoint.hasPriority?(l(),f("span",vl)):w("",!0),I.chargepoint.etActive?(l(),f("span",yl)):w("",!0),I.chargepoint.timedCharging?(l(),f("span",bl)):w("",!0)]),I.chargepoint.isSocConfigured?(l(),$(Pe,{key:0,bgcolor:D.value},{default:_(()=>[v(Ct,{soc:k.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),I.chargepoint.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:x[4]||(x[4]=G=>A.value=!A.value)})):w("",!0),I.chargepoint.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:q(["fa-solid fa-sm",I.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:V},null,2))]),_:1},8,["bgcolor"])):w("",!0)])])]),n("div",_l,[v(Oa,{id:"chargemode-"+I.chargepoint.name,modelValue:r.value,"onUpdate:modelValue":x[5]||(x[5]=G=>r.value=G),class:"chargemodes mt-3 mb-3",options:Object.keys(i(ye)).map(G=>({text:i(ye)[G].name,value:G,color:i(ye)[G].color,icon:i(ye)[G].icon,active:i(ye)[G].mode==I.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),e.chargepoint.power>0?(l(),$(X,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[n("span",wl,[v(bt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(X,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[n("span",kl,S(o.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(X,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[n("span",xl,S(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(X,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[n("span",Sl,S(s.value),1)]),_:1})):w("",!0),v(X,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":Math.max(I.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),v(X,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[H(S(h.value),1)]),_:1}),I.chargepoint.isSocConfigured?(l(),$(X,{key:4,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Y)[e.chargepoint.connectedVehicle]?Math.round(i(Y)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),A.value?(l(),f("div",Ml,[x[15]||(x[15]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",$l,[n("span",null,[v(Me,{id:"manualSoc",modelValue:C.value,"onUpdate:modelValue":x[6]||(x[6]=G=>C.value=G),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:J})])):w("",!0),x[17]||(x[17]=n("hr",{class:"divider grid-col-12"},null,-1)),i(re).active?(l(),$(X,{key:6,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(se,{modelValue:t.value.etActive,"onUpdate:modelValue":x[7]||(x[7]=G=>t.value.etActive=G)},null,8,["modelValue"])]),_:1})):w("",!0),i(re).active?(l(),$(X,{key:7,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[n("span",{type:"button",onClick:x[8]||(x[8]=G=>E.value=!E.value)},[H(S(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),f("i",Pl)):w("",!0)])]),_:1})):w("",!0),i(re).active?(l(),$(X,{key:8,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:_(()=>[n("span",{style:K(z.value)},S(M.value)+" ct ",5)]),_:1})):w("",!0),E.value?(l(),f("div",{key:9,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(Y)[e.chargepoint.connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),n("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:K(c.value),onClick:x[9]||(x[9]=G=>E.value=!1)},x[16]||(x[16]=[n("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Il)):w("",!0)])]))]),default:_(()=>[B.value?w("",!0):(l(),f("div",ul,[n("div",{class:"grid12",onClick:x[2]||(x[2]=G=>B.value=!B.value)},[v(X,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:K({color:u.value})},[n("i",{class:q(p.value)},null,2),H(" "+S(d.value),1)],4)]),_:1}),v(X,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":I.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),B.value?(l(),f("div",dl,[n("div",hl,[I.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:I.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"])),B.value?(l(),$(je,{key:1,"full-width":e.fullWidth},{title:_(()=>[n("span",{style:K(P.value),onClick:x[10]||(x[10]=G=>B.value=!B.value)},[x[18]||(x[18]=n("span",{class:"fas fa-gear"}," ",-1)),H(" Einstellungen "+S(e.chargepoint.name),1)],4)]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",style:K(c.value),onClick:x[11]||(x[11]=G=>B.value=!B.value)},x[19]||(x[19]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[I.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:I.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["full-width"])):w("",!0)],64))}}),Bl=R(Cl,[["__scopeId","data-v-3a733de3"]]),Vl=["id"],Ll={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Ol={class:"modal-content"},Al={class:"modal-header"},Tl={class:"modal-title"},El={class:"modal-body",style:{"background-color":"var(--color-bg)"}},zl=L({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Le(()=>{}),(t,r)=>(l(),f("div",{id:e.modalId,class:"modal fade"},[n("div",Ll,[n("div",Ol,[n("div",Al,[n("h3",Tl,[pe(t.$slots,"title",{},void 0,!0)]),r[0]||(r[0]=n("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[n("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),n("div",El,[pe(t.$slots,"default",{},void 0,!0),r[1]||(r[1]=n("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,Vl))}}),Ea=R(zl,[["__scopeId","data-v-eaefae30"]]),Wl={class:"d-flex align-items-center"},Dl={class:"cpname"},Gl={class:"d-flex float-right justify-content-end align-items-center"},jl=["data-bs-target"],Ul=["data-bs-target"],Fl={class:"subgrid"},Nl={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},Hl={class:"d-flex flex-column align-items-center px-0"},Rl={class:"d-flex justify-content-center flex-wrap"},Jl={class:"d-flex align-items-center"},Yl={class:"badge phasesInUse rounded-pill"},ql={class:"d-flex flex-wrap justify-content-center chargeinfo"},Ql={class:"me-1"},Zl={key:0,class:"subgrid socEditRow m-0 p-0"},Xl={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},Kl={class:"d-flex justify-content-stretch align-items-center"},ec=L({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=ee(!1),r=m(()=>ye[e.chargepoint.chargeMode].icon),s=m(()=>{let V="";return e.chargepoint.isLocked?V="fa-lock":e.chargepoint.isCharging?V=" fa-bolt":e.chargepoint.isPluggedIn&&(V="fa-plug"),"fa "+V}),o=m(()=>{let V="var(--color-axis)";return e.chargepoint.isLocked?V="var(--color-evu)":e.chargepoint.isCharging?V="var(--color-charging)":e.chargepoint.isPluggedIn&&(V="var(--color-battery)"),{color:V,border:`0.5px solid ${V} `}}),h=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--fg)"};default:return{"background-color":ye[e.chargepoint.chargeMode].color}}}),d=m(()=>$e(e.chargepoint.power,g.decimalPlaces)),u=m(()=>e.chargepoint.current+" A"),p=m(()=>e.chargepoint.phasesInUse),c=m(()=>e.chargepoint.dailyYield>0?ct(e.chargepoint.dailyYield,g.decimalPlaces):"0 Wh"),k=m(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),P=m(()=>ye[e.chargepoint.chargeMode].name);function z(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function D(){oe("setSoc",B.value,e.chargepoint.connectedVehicle),t.value=!1}const B=m({get(){return e.chargepoint.soc},set(V){O[e.chargepoint.id].soc=V}}),A=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(V,J)=>(l(),f(F,null,[v(tt,{titlecolor:V.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[n("div",Wl,[n("span",Dl,S(V.chargepoint.name),1),n("span",{class:"badge rounded-pill statusbadge mx-2",style:K(o.value)},[n("i",{class:q([s.value,"me-1"])},null,2),H(" "+S(A.value),1)],4)])]),buttons:_(()=>[n("div",Gl,[n("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:K(h.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},[n("i",{class:q(["fa me-1",r.value])},null,2),H(" "+S(P.value),1)],12,jl),n("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},null,8,Ul)])]),default:_(()=>[n("div",Fl,[v(X,{heading:V.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[V.chargepoint.isSocConfigured?(l(),f("span",Nl,[V.chargepoint.soc?(l(),$(Ct,{key:0,class:"me-1",soc:V.chargepoint.soc},null,8,["soc"])):w("",!0),V.chargepoint.isSocConfigured&&V.chargepoint.isSocManual?(l(),f("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:J[0]||(J[0]=C=>t.value=!t.value)})):w("",!0),V.chargepoint.isSocConfigured&&!V.chargepoint.isSocManual?(l(),f("i",{key:2,type:"button",class:q(["fa-solid fa-sm me-2",V.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:z},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),v(X,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[n("div",Hl,[n("span",Rl,[n("span",null,S(d.value),1),n("span",Jl,[n("span",Yl,S(p.value),1),n("span",null,S(u.value),1)])])])]),_:1}),v(X,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[n("div",ql,[n("span",Ql,S(c.value),1),n("span",null,S(k.value),1)])]),_:1})]),t.value?(l(),f("div",Zl,[n("div",Xl,[J[2]||(J[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",Kl,[n("span",null,[v(Me,{id:"manualSoc",modelValue:B.value,"onUpdate:modelValue":J[1]||(J[1]=C=>B.value=C),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:D})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),$(Xa,{to:"body"},[(l(),$(Ea,{key:V.chargepoint.id,"modal-id":"cpsconfig-"+V.chargepoint.id},{title:_(()=>[H(" Konfiguration: "+S(V.chargepoint.name),1)]),default:_(()=>[V.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:V.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),tc=R(ec,[["__scopeId","data-v-25e4aa5d"]]),ac=L({__name:"CpSimpleList2",setup(a){const e=m(()=>Object.values(O));return(t,r)=>(l(),$(je,{"variable-width":!0},{title:_(()=>r[0]||(r[0]=[n("span",{class:"fa-solid fa-charging-station"}," ",-1),H(" Ladepunkte ")])),buttons:_(()=>[i(re).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[H("Strompreis: "+S(i(re).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(F,null,te(e.value,(s,o)=>(l(),f("div",{key:o,class:"subgrid pb-2"},[v(tc,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),nc=R(ac,[["__scopeId","data-v-b8c6b557"]]),Tt=L({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const r=a,s=m(()=>{let p=Object.values(O);return u(),p}),o=m(()=>h.value+" "+d.value),h=m(()=>{switch(Object.values(O).length){case 0:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return g.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),d=m(()=>"swiper-chargepoints-"+r.id);function u(){let p=document.querySelector("."+d.value);if(p&&(t=p,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Le(()=>{let p=document.querySelector("."+d.value);p&&(t=p,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(p,c)=>(l(),f(F,null,[r.compact?w("",!0):(l(),f("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:q(["cplist m-0 p-0 d-flex align-items-stretch",o.value])},[(l(!0),f(F,null,te(s.value,k=>(l(),f("swiper-slide",{key:k.id},[n("div",{class:q([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[v(Bl,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),r.compact?(l(),$(nc,{key:1})):w("",!0)],64))}}),rc={class:"container-fluid p-0 m-0"},oc={class:"row p-0 m-0"},sc={class:"d-grid gap-2"},ic=["onClick"],lc={class:"col-md-4 p-1"},cc={class:"d-grid gap-2"},uc={key:0},dc={class:"row justify-content-center m-1 p-0"},hc={class:"col-lg-4 p-1 m-0"},pc={class:"d-grid gap-2"},gc={class:"col-lg-4 p-1 m-0"},mc={class:"d-grid gap-2"},fc={class:"col-lg-4 p-1 m-0"},vc={class:"d-grid gap-2"},yc=L({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"standby",name:"Standby",color:"var(--color-axis)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],r=m(()=>O[e.cpId]);function s(p){return p==r.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function o(p){return de.pvBatteryPriority==p?"btn-success":"btn-secondary"}function h(p){r.value.chargeMode=p}function d(p){r.value.isLocked=p}function u(p){de.pvBatteryPriority=p}return(p,c)=>(l(),f("div",rc,[n("div",oc,[(l(),f(F,null,te(t,(k,P)=>n("div",{key:P,class:"col-md-4 p-1"},[n("div",sc,[n("button",{type:"button",class:q(s(k.mode)),style:{},onClick:z=>h(k.mode)},S(k.name),11,ic)])])),64)),n("div",lc,[n("div",cc,[r.value.isLocked?(l(),f("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>d(!1))}," Entsperren ")):w("",!0),r.value.isLocked?w("",!0):(l(),f("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>d(!0))}," Sperren "))])])]),i(de).isBatteryConfigured?(l(),f("div",uc,[c[8]||(c[8]=n("hr",null,null,-1)),c[9]||(c[9]=n("div",{class:"row"},[n("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),n("div",dc,[n("div",hc,[n("div",pc,[n("button",{id:"evPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[H(" EV "),n("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),n("div",gc,[n("div",mc,[n("button",{id:"batteryPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[H(" Speicher "),n("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),n("div",fc,[n("div",vc,[n("button",{id:"minsocPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[H(" MinSoc "),n("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),bc={class:"col-lg-4 p-0 m-0 mt-1"},_c={class:"d-grid gap-2"},wc=["data-bs-target"],kc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},xc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},Sc={key:0,class:"ms-2"},Mc={class:"m-0 p-0"},$c={key:0,class:"ps-1"},Pc=L({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,r=m(()=>ye[e.chargepoint.chargeMode].name),s=m(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),o=m(()=>{{let c={background:ye[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case ve.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break;case ve.standby:case ve.stop:c.background="darkgrey",c.color="black";break;case ve.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break}return c}}),h=m(()=>ye[e.chargepoint.chargeMode].icon),d=m(()=>{switch(de.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=m(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function p(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),f("div",bc,[n("div",_c,[n("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:K(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[n("div",kc,[n("span",xc,[n("i",{class:q(u.value)},null,2),c.chargepoint.isCharging?(l(),f("span",Sc,S(i($e)(c.chargepoint.power)),1)):w("",!0)]),n("span",Mc,S(c.chargepoint.name),1),n("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:K(o.value)},[n("i",{class:q(["fa me-1",h.value])},null,2),H(" "+S(r.value)+" ",1),c.chargepoint.chargeMode==i(ve).pv_charging&&i(de).isBatteryConfigured?(l(),f("span",$c,[k[0]||(k[0]=H(" ( ")),n("i",{class:q(["fa m-0",d.value])},null,2),k[1]||(k[1]=H(") "))])):w("",!0)],4)])],12,wc)]),v(Ea,{"modal-id":t},{title:_(()=>[H(" Lademodus für "+S(c.chargepoint.vehicleName),1)]),default:_(()=>[v(yc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Ic=R(Pc,[["__scopeId","data-v-31df6764"]]),Cc={class:"row p-0 mt-0 mb-1 m-0"},Bc={class:"col p-0 m-0"},Vc={class:"container-fluid p-0 m-0"},Lc={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},Oc={key:0,class:"col time-display"},Ac=L({__name:"ButtonBar",setup(a){return(e,t)=>(l(),f("div",Cc,[n("div",Bc,[n("div",Vc,[n("div",Lc,[i(g).showClock=="buttonbar"?(l(),f("span",Oc,S(i(La)(i(Rt))),1)):w("",!0),(l(!0),f(F,null,te(i(O),(r,s)=>(l(),$(Ic,{key:s,chargepoint:r,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),Tc=R(Ac,[["__scopeId","data-v-791e4be0"]]),Ec={class:"battery-title"},zc={class:"subgrid pt-1"},Wc=L({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=m(()=>e.bat.power<0?`Liefert (${$e(-e.bat.power)})`:e.bat.power>0?`Lädt (${$e(e.bat.power)})`:"Bereit"),r=m(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Ec,S(s.bat.name),1)]),buttons:_(()=>[v(Pe,{bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",zc,[v(X,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{soc:e.bat.soc},null,8,["soc"])]),_:1}),v(X,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),v(X,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Dc=R(Wc,[["__scopeId","data-v-f7f825f7"]]),Gc={class:"px-3 subgrid grid-12"},jc=L({__name:"BatteryList",setup(a){const e=m(()=>Q.batOut.power>0?`Liefert (${$e(Q.batOut.power)})`:U.batIn.power>0?`Lädt (${$e(U.batIn.power)})`:"Bereit:"),t=m(()=>Q.batOut.power>0?"var(--color-pv)":U.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),r=m(()=>{let s=0;return he.value.forEach(o=>{s+=o.dailyYieldImport}),s});return(s,o)=>i(de).isBatteryConfigured?(l(),$(je,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>o[0]||(o[0]=[n("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Speicher",-1)])),buttons:_(()=>[v(Pe,{bgcolor:t.value},{default:_(()=>[H(S(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",Gc,[v(X,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{color:"var(--color-battery)",soc:i(de).batterySoc},null,8,["soc"])]),_:1}),v(X,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(r.value)),1)]),_:1}),v(X,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(i(Q).batOut.energy)),1)]),_:1})]),(l(!0),f(F,null,te(i(he),([h,d])=>(l(),$(Dc,{key:h,bat:d},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),Et=R(jc,[["__scopeId","data-v-cc4da23c"]]),Uc={class:"devicename"},Fc={class:"subgrid"},Nc=L({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=m(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),r=m(()=>{let d="var(--color-switchRed)";switch(e.device.status){case"on":d="var(--color-switchGreen)";break;case"detection":d="var(--color-switchBlue)";break;case"timeout":d="var(--color-switchWhite)";break;case"waiting":d="var(--color-menu)";break;default:d="var(--color-switchRed)"}return{color:d}});function s(){e.device.isAutomatic||(e.device.status=="on"?oe("shSwitchOn",0,e.device.id):oe("shSwitchOn",1,e.device.id),ae.get(e.device.id).status="waiting")}function o(){e.device.isAutomatic?oe("shSetManual",1,e.device.id):oe("shSetManual",0,e.device.id)}const h=m(()=>e.device.isAutomatic?"Auto":"Man");return(d,u)=>(l(),$(tt,{titlecolor:d.device.color,fullwidth:!0},{title:_(()=>[n("span",Uc,S(d.device.name),1)]),buttons:_(()=>[(l(!0),f(F,null,te(d.device.temp,(p,c)=>(l(),f("span",{key:c},[p<300?(l(),$(Pe,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[n("span",null,S(i(Nn)(p)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),f("span",{key:0,class:q([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:K(r.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),$(Pe,{key:1,type:"button",onClick:o},{default:_(()=>[H(S(h.value),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",Fc,[v(X,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(bt,{watt:d.device.power},null,8,["watt"])]),_:1}),v(X,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":d.device.energy},null,8,["watt-h"])]),_:1}),v(X,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Un)(d.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),Hc=R(Nc,[["__scopeId","data-v-20651ac6"]]),Rc={class:"sh-title py-4"},Jc=["id","onUpdate:modelValue","value"],Yc=["for"],qc=3,Qc=L({__name:"SmartHomeList",setup(a){const e=m(()=>De.value?t.value.reduce((h,d)=>{const u=h;let p=h[h.length-1];return p.length>=qc?h.push([d]):p.push(d),u},[[]]):[t.value]),t=m(()=>[...ae.values()].filter(h=>h.configured));function r(h){return"Geräte"+(De.value&&e.value.length>1?"("+(h+1)+")":"")}function s(){o.value=!o.value}const o=ee(!1);return(h,d)=>(l(),f(F,null,[(l(!0),f(F,null,te(e.value,(u,p)=>(l(),$(je,{key:p,"variable-width":!0},{title:_(()=>[n("span",{onClick:s},[d[0]||(d[0]=n("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),n("span",Rc,S(r(p)),1)])]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[1]||(d[1]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),f(F,null,te(u,c=>(l(),$(Hc,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),o.value?(l(),$(je,{key:0},{title:_(()=>[n("span",{class:"smarthome",onClick:s},d[2]||(d[2]=[n("span",{class:"fas fa-gear"}," ",-1),H(" Einstellungen")]))]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[3]||(d[3]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[v(N,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),f(F,null,te(t.value,(u,p)=>(l(),f("div",{key:p},[vt(n("input",{id:"check"+p,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,Jc),[[Ma,u.showInGraph]]),n("label",{class:"form-check-label px-2",for:"check"+p},S(u.name),9,Yc)]))),128))]),_:1}),n("div",{class:"row p-0 m-0",onClick:s},d[4]||(d[4]=[n("div",{class:"col-12 mb-3 pe-3 mt-0"},[n("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),zt=R(Qc,[["__scopeId","data-v-5b5cf6b3"]]),Zc={class:"countername"},Xc={class:"subgrid pt-1"},Kc=L({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=m(()=>e.counter.power>0?"Bezug":"Export"),r=m(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Zc,S(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),$(Pe,{key:0,bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),v(Pe,{color:"var(--color-bg)"},{default:_(()=>[H(" ID: "+S(e.counter.id),1)]),_:1})]),default:_(()=>[n("div",Xc,[v(X,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(bt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),v(X,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),v(X,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),eu=R(Kc,[["__scopeId","data-v-01dd8c4d"]]);class tu{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const ke=le({});function au(a,e){if(a in ke)console.info("Duplicate counter message: "+a);else switch(ke[a]=new tu(a),ke[a].type=e,e){case"counter":ke[a].color="var(--color-evu)";break;case"inverter":ke[a].color="var(--color-pv)";break;case"cp":ke[a].color="var(--color-charging)";break;case"bat":ke[a].color="var(--color-bat)";break}}const nu=L({__name:"CounterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),n("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),f(F,null,te(i(ke),(r,s)=>(l(),f("div",{key:s,class:"subgrid pb-2"},[v(eu,{counter:r},null,8,["counter"])]))),128))]),_:1}))}}),Wt=R(nu,[["__scopeId","data-v-5f059284"]]),ru={class:"vehiclename"},ou={class:"subgrid"},su=L({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=m(()=>{let s="Unterwegs",o=e.vehicle.chargepoint;return o!=null&&(o.isCharging?s="Lädt ("+o.name+")":o.isPluggedIn&&(s="Bereit ("+o.name+")")),s}),r=m(()=>{let s=e.vehicle.chargepoint;return s!=null?s.isLocked?"var(--color-evu)":s.isCharging?"var(--color-charging)":s.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"});return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",ru,S(e.vehicle.name),1)]),default:_(()=>[n("div",ou,[v(X,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[n("span",{style:K({color:r.value}),class:"d-flex justify-content-center align-items-center status-string"},S(t.value),5)]),_:1}),v(X,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.soc))+" % ",1)]),_:1}),v(X,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.range))+" km ",1)]),_:1})])]),_:1}))}}),iu=R(su,[["__scopeId","data-v-9e2cb63e"]]),lu=L({__name:"VehicleList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),n("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),f(F,null,te(Object.values(i(Y)).filter(r=>r.visible),(r,s)=>(l(),f("div",{key:s,class:"subgrid"},[v(iu,{vehicle:r},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=R(lu,[["__scopeId","data-v-23b437ea"]]),cu={class:"grapharea"},uu={id:"pricechart",class:"p-1 m-0 pricefigure"},du={viewBox:"0 0 400 280"},hu=["id","origin","transform"],ut=380,_a=250,Gt=12,pu=L({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=ee(!1),r={top:0,bottom:15,left:20,right:0},s=m(()=>{let A=[];return re.etPriceList.size>0&&re.etPriceList.forEach((V,J)=>{A.push([J,V])}),A}),o=m(()=>s.value.length>1?(ut-r.left-r.right)/s.value.length:0),h=m(()=>{let A=Ve(s.value,V=>V[0]);return A[1]&&(A[1]=new Date(A[1]),A[1].setTime(A[1].getTime()+36e5)),et().range([r.left,ut-r.right]).domain(A)}),d=m(()=>{let A=[0,0];return s.value.length>0&&(A=Ve(s.value,V=>V[1]),A[0]=Math.floor(A[0])-1,A[1]=Math.floor(A[1])+1),A}),u=m(()=>He().range([_a-r.bottom,0]).domain(d.value)),p=m(()=>{const A=Ne(),V=[[r.left,u.value(g.lowerPriceBound)],[ut-r.right,u.value(g.lowerPriceBound)]];return A(V)}),c=m(()=>{const A=Ne(),V=[[r.left,u.value(g.upperPriceBound)],[ut-r.right,u.value(g.upperPriceBound)]];return A(V)}),k=m(()=>{const A=Ne(),V=[[r.left,u.value(0)],[ut-r.right,u.value(0)]];return A(V)}),P=m(()=>ht(h.value).ticks(s.value.length).tickSize(5).tickSizeInner(-250).tickFormat(A=>A.getHours()%6==0?st("%H:%M")(A):"")),z=m(()=>ft(u.value).ticks(d.value[1]-d.value[0]).tickSize(0).tickSizeInner(-360).tickFormat(A=>A.toString())),D=m(()=>{t.value==!0;const A=ce("g#"+B.value);A.selectAll("*").remove(),A.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("width",o.value).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("fill","var(--color-charging)");const J=A.append("g").attr("class","axis").call(P.value);J.attr("transform","translate(0,"+(_a-r.bottom)+")"),J.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),J.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x.getHours()%6==0?"2":"0.5"),J.select(".domain").attr("stroke","var(--color-bg");const C=A.append("g").attr("class","axis").call(z.value);C.attr("transform","translate("+r.left+",0)"),C.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),C.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x%5==0?"2":"0.5"),C.select(".domain").attr("stroke","var(--color-bg)"),d.value[0]<0&&A.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),A.append("path").attr("d",p.value).attr("stroke","green"),A.append("path").attr("d",c.value).attr("stroke","red");const M=A.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");M.append("rect").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("class","ttrect").attr("width",o.value).attr("opacity","1%").attr("fill","var(--color-charging)");const E=M.append("g").attr("class","ttmessage").attr("transform",x=>"translate("+(h.value(x[0])-30+o.value/2)+","+(u.value(x[1])-16)+")");E.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const I=E.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",Gt).attr("fill","var(--color-bg)");return I.append("tspan").attr("x",30).attr("dy","0em").text(x=>st("%H:%M")(x[0])),I.append("tspan").attr("x",30).attr("dy","1.1em").text(x=>Math.round(x[1]*10)/10+" ct"),"PriceChart.vue"}),B=m(()=>"priceChartCanvas"+e.id);return Le(()=>{t.value=!t.value}),(A,V)=>(l(),$(je,{"variable-width":!0},{title:_(()=>V[0]||(V[0]=[n("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Strompreis",-1)])),buttons:_(()=>[i(re).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[H(S(i(re).etCurrentPriceString),1)]),_:1})):w("",!0),i(re).active?(l(),$(Pe,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[H(S(i(re).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",cu,[n("figure",uu,[(l(),f("svg",du,[n("g",{id:B.value,origin:D.value,transform:"translate("+r.top+","+r.left+") "},null,8,hu)]))])])]),_:1}))}}),jt=R(pu,[["__scopeId","data-v-6000c955"]]),gu={class:"subgrid pt-1"},mu=L({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=m(()=>({color:e.inverter.color}));return(r,s)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",{class:"invertername",style:K(t.value)},S(r.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",gu,[v(X,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),v(X,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),v(X,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),fu=R(mu,[["__scopeId","data-v-258d8f17"]]),vu=L({__name:"InverterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),n("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(Q).pv.power>0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(i(Q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(F,null,te(i(we),([r,s])=>(l(),f("div",{key:r,class:"subgrid pb-2"},[v(fu,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ut=R(vu,[["__scopeId","data-v-b7a71f81"]]),yu={class:"row py-0 px-0 m-0"},bu=["breakpoints"],_u=L({__name:"CarouselFix",setup(a){let e,t;const r=ee(!1),s=m(()=>r.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>g.zoomGraph,o=>{if(e){let h=o?"1":"3";t.setAttribute("slides-per-view",h),e.activeIndex=g.zoomedWidget,e.update()}}),Le(()=>{let o=document.querySelector(".swiper-carousel");o&&(t=o,e=t.swiper)}),(o,h)=>(l(),f("div",yu,[n("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[n("swiper-slide",null,[n("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item1",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item2",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item3",{},void 0,!0)],2)])],8,bu)]))}}),wu=R(_u,[["__scopeId","data-v-17424929"]]);function ku(a,e){a=="openWB/graph/boolDisplayLiveGraph"?de.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?xu(a,e):a=="openWB/graph/lastlivevaluesJson"?Su(a,e):a=="openWB/graph/config/duration"&&(ge.duration=JSON.parse(e))}function xu(a,e){if(!ge.initialized){let t=[];const r=e.toString().split(` +`);r.length>1?t=r.map(h=>JSON.parse(h)):t=[];const s=a.match(/(\d+)$/g),o=s?s[0]:"";o!=""&&typeof ge.rawDataPacks[+o-1]>"u"&&(ge.rawDataPacks[+o-1]=t,ge.initCounter++)}if(ge.initCounter==16){const t=[];ge.unsubscribeRefresh(),ge.initialized=!0,ge.rawDataPacks.forEach(r=>{r.forEach(s=>{const o=za(s);t.push(o)})}),yt(t),ge.subscribeUpdates()}}function Su(a,e){const t=JSON.parse(e),r=za(t);ge.graphRefreshCounter++,yt(y.data.concat(r)),ge.graphRefreshCounter>60&&ge.activate()}function za(a){const e=Object.values(O).length>0?Object.values(O)[0].connectedVehicle:0,t=Object.values(O).length>1?Object.values(O)[1].connectedVehicle:1,r="ev"+e+"-soc",s="ev"+t+"-soc",o={};o.date=+a.timestamp*1e3,+a.grid>0?(o.evuIn=+a.grid,o.evuOut=0):+a.grid<=0?(o.evuIn=0,o.evuOut=-a.grid):(o.evuIn=0,o.evuOut=0),+a["pv-all"]>=0?(o.pv=+a["pv-all"],o.inverter=0):(o.pv=0,o.inverter=-a["pv-all"]),o.house=+a["house-power"],+a["bat-all-power"]>0?(o.batOut=0,o.batIn=+a["bat-all-power"]):+a["bat-all-power"]<0?(o.batOut=-a["bat-all-power"],o.batIn=0):(o.batOut=0,o.batIn=0),a["bat-all-soc"]?o.batSoc=+a["bat-all-soc"]:o.batSoc=0,a[r]&&(o["soc"+e]=+a[r]),a[s]&&(o["soc"+t]=+a[s]),o.charging=+a["charging-all"];for(let h=0;h<10;h++){const d="cp"+h;o[d]=+(a[d+"-power"]??0)}return o.selfUsage=o.pv-o.evuOut,o.selfUsage<0&&(o.selfUsage=0),o.devices=0,o}const Mu=["evuIn","pv","batOut","evuOut","charging","house"];let $t=[];function $u(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),$t=[],Zt.forEach(h=>{T.setEnergyPv(h,0),T.setEnergyBat(h,0)});const o=Pu(t);yt(o),Xt(s,$t),g.debug&&Cu(t,s,o),y.graphMode=="today"&&setTimeout(()=>ue.activate(),3e5)}function Pu(a){const e=[];let t={};return a.forEach(r=>{t=Iu(r);const s=t;e.push(s)}),e}function Iu(a){const e={};e.date=a.timestamp*1e3,e.evuOut=0,e.evuIn=0,Object.entries(a.counter).forEach(([s,o])=>{o.grid&&(e.evuOut+=o.power_exported,e.evuIn+=o.power_imported,$t.includes(s)||$t.push(s))}),e.evuOut==0&&e.evuIn==0&&Object.entries(a.counter).forEach(s=>{e.evuOut+=s[1].power_exported,e.evuIn+=s[1].power_imported}),Object.entries(a.pv).forEach(([s,o])=>{s!="all"?e[s]=o.power_exported:e.pv=o.power_exported}),Object.entries(a.bat).length>0?(e.batIn=a.bat.all.power_imported,e.batOut=a.bat.all.power_exported,e.batSoc=a.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(a.cp).forEach(([s,o])=>{s!="all"?(e[s]=o.power_imported,T.keys().includes(s)||T.addItem(s)):e.charging=o.power_imported}),Object.entries(a.ev).forEach(([s,o])=>{s!="all"&&(e["soc"+s.substring(2)]=o.soc)}),e.devices=0;let t=0;return Object.entries(a.sh).forEach(([s,o])=>{var h;s!="all"&&(e[s]=o.power_imported??0,T.keys().includes(s)||(T.addItem(s),T.items[s].showInGraph=ae.get(+s.slice(2)).showInGraph),(h=ae.get(+s.slice(2)))!=null&&h.countAsHouse?t+=e[s]:e.devices+=o.power_imported??0)}),e.selfUsage=Math.max(0,e.pv-e.evuOut),a.hc&&a.hc.all?e.house=a.hc.all.power_imported-t:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(s=>!Mu.includes(s)&&s!="charging").forEach(s=>{Mn(s,e)}):Object.keys(e).forEach(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}function Cu(a,e,t){console.debug("---------------------------------------- Graph Data -"),console.debug(["--- Incoming graph data:",a]),console.debug(["--- Incoming energy data:",e]),console.debug(["--- Data to be displayed:",t]),console.debug("-----------------------------------------------------")}let kt={};const ra=["charging","house","batIn","devices"],Bu=["evuIn","pv","batOut","batIn","evuOut","devices","sh1","sh2","sh3","sh4","sh5","sh6","sh7","sh8","sh9"];let Ke=[];function Vu(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Lu(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Wa(a){const e=[];let t={};return kt={},a.forEach(r=>{t=Ou(r),e.push(t),Object.keys(t).forEach(s=>{s!="date"&&(t[s]<0&&(console.warn(`Negative energy value for ${s} in row ${t.date}. Ignoring the value.`),t[s]=0),kt[s]?kt[s]+=t[s]:kt[s]=t[s])})}),e}function Ou(a){const e={},t=en("%Y%m%d")(a.date);t&&(e.date=y.graphMode=="month"?t.getDate():t.getMonth()+1),e.evuOut=0,e.evuIn=0;let r=0,s=0;return Object.entries(a.counter).forEach(([h,d])=>{r+=d.energy_exported,s+=d.energy_imported,d.grid&&(e.evuOut+=d.energy_exported,e.evuIn+=d.energy_imported,Ke.includes(h)||Ke.push(h))}),Ke.length==0&&(e.evuOut=r,e.evuIn=s),e.pv=a.pv.all.energy_exported,Object.entries(a.bat).length>0?(a.bat.all.energy_imported>=0?e.batIn=a.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),a.bat.all.energy_exported>=0?e.batOut=a.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(a.cp).forEach(([h,d])=>{h!="all"?(T.keys().includes(h)||T.addItem(h),e[h]=d.energy_imported):e.charging=d.energy_imported}),Object.entries(a.ev).forEach(([h,d])=>{h!="all"&&(e["soc-"+h]=d.soc)}),e.devices=Object.entries(a.sh).reduce((h,d)=>(T.keys().includes(d[0])||T.addItem(d[0]),d[1].energy_imported>=0?h+=d[1].energy_imported:console.warn(`Negative energy value for device ${d[0]} in row ${e.date}. Ignoring this value`),h),0),a.hc&&a.hc.all?e.house=a.hc.all.energy_imported:e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(h=>!Bu.includes(h)).forEach(h=>{$n(h,e)}):ra.map(h=>{e[h+"Pv"]=0,e[h+"Bat"]=0}),e}function Au(a,e){const t=Tu(a);if(t&&!he.value.has(t)){console.warn("Invalid battery index: ",t);return}a=="openWB/bat/config/configured"?de.isBatteryConfigured=e=="true":a=="openWB/bat/get/power"?+e>0?(U.batIn.power=+e,Q.batOut.power=0):(U.batIn.power=0,Q.batOut.power=-e):a=="openWB/bat/get/soc"?de.batterySoc=+e:a=="openWB/bat/get/daily_exported"?Q.batOut.energy=+e:a=="openWB/bat/get/daily_imported"?U.batIn.energy=+e:t&&he.value.has(t)&&(a.match(/^openwb\/bat\/[0-9]+\/get\/daily_exported$/i)?he.value.get(t).dailyYieldExport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/daily_imported$/i)?he.value.get(t).dailyYieldImport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?he.value.get(t).exported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?he.value.get(t).faultState=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?he.value.get(t).faultStr=e:a.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?he.value.get(t).imported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?he.value.get(t).power=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(he.value.get(t).soc=+e))}function Tu(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function Eu(a,e){if(a=="openWB/optional/et/provider")JSON.parse(e).type==null?re.active=!1:(re.active=!0,re.etProvider=JSON.parse(e).name);else if(a=="openWB/optional/et/get/prices"){const t=JSON.parse(e);re.etPriceList=new Map,Object.keys(t).forEach(r=>{re.etPriceList.set(new Date(+r*1e3),t[r]*1e5)})}}function zu(a,e){const t=Da(a);if(t&&!(t in O)){console.warn("Invalid chargepoint id received: "+t);return}if(a=="openWB/chargepoint/get/power"?U.charging.power=+e:a=="openWB/chargepoint/get/daily_imported"&&(U.charging.energy=+e),a=="openWB/chargepoint/get/daily_exported")de.cpDailyExported=+e;else if(t){if(a.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(O[t]){const r=JSON.parse(e);O[t].name=r.name,O[t].icon=r.name,ie["cp"+t]?(ie["cp"+t].name=r.name,ie["cp"+t].icon=r.name):ie["cp"+t]={name:r.name,icon:r.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+t);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))O[t].stateStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))O[t].faultStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))O[t].faultState=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))O[t].power=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))O[t].dailyYield=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))O[t].isPluggedIn=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))O[t].isCharging=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))O[t].updateIsLocked(e=="true");else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))O[t].isEnabled=e=="1";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))O[t].phasesInUse=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))O[t].current=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))O[t].currents=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const r=JSON.parse(e);O[t].chargedSincePlugged=r.imported_since_plugged}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const r=JSON.parse(e);O[t].soc=r.soc,O[t].waitingForSoc=!1,O[t].rangeCharged=r.range_charged,O[t].rangeUnit=r.range_unit}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const r=JSON.parse(e);O[t].vehicleName=String(r.name),O[t].updateConnectedVehicle(+r.id)}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const r=JSON.parse(e);switch(r.chargemode){case"instant_charging":O[t].updateChargeMode(ve.instant_charging);break;case"pv_charging":O[t].updateChargeMode(ve.pv_charging);break;case"scheduled_charging":O[t].updateChargeMode(ve.scheduled_charging);break;case"standby":O[t].updateChargeMode(ve.standby);break;case"stop":O[t].updateChargeMode(ve.stop);break}O[t].chargeTemplate=r.charge_template,O[t].averageConsumption=r.average_consumption}}}function Wu(a,e){const t=Da(a);if(t!=null){if(!(t in Y)){const r=new yn(t);Y[t]=r}if(a.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(O).forEach(r=>{r.connectedVehicle==t&&(r.vehicleName=JSON.parse(e))}),Y[t].name=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))Y[t].soc=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?Y[t].range=0:Y[t].range=+e;else if(a.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))Y[t].updateChargeTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))Y[t].updateEvTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const r=JSON.parse(e);Object.values(O).forEach(s=>{s.connectedVehicle==t&&(s.isSocConfigured=r.type!==null,s.isSocManual=r.type=="manual")})}}}function Du(a,e){if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);_e[r]=s,Gu(r,s)}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in gt||(gt[s]=[]),gt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in pt||(pt[s]=[]),pt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);Ht[r]=s}}}function Gu(a,e){Object.values(O).forEach(t=>{t.chargeTemplate==a&&(t.updateCpPriority(e.prio),t.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),t.updateInstantTargetCurrent(e.chargemode.instant_charging.current),t.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),t.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),t.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),t.updatePvMinCurrent(e.chargemode.pv_charging.min_current),t.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),t.updatePvMinSoc(e.chargemode.pv_charging.min_soc),t.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function Da(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function ju(a,e){a.match(/^openWB\/LegacySmarthome\/config\//i)?Uu(a,e):a.match(/^openWB\/LegacySmarthome\/Devices\//i)&&Fu(a,e)}function Uu(a,e){const t=Ga(a);if(t==null)return;ae.has(t)||Yt(t);const r=ae.get(t);a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?r.configured=e!="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(r.name=e.toString(),r.icon=e.toString(),ie["sh"+t].name=e.toString(),ie["sh"+t].icon=e.toString()):a.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?r.isAutomatic=e=="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?r.canSwitch=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?r.countAsHouse=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(r.tempConfigured=+e)}function Fu(a,e){const t=Ga(a);if(t==null){console.warn("Smarthome: Missing index in "+a);return}ae.has(t)||Yt(t);const r=ae.get(t);if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))r.power=+e,Nu("power");else if(!a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))r.runningTime=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))r.temp[0]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))r.temp[1]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))r.temp[2]=+e;else if(a.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:r.status="off";break;case 11:r.status="on";break;case 20:r.status="detection";break;case 30:r.status="timeout";break;default:r.status="off"}}}function Nu(a){switch(a){case"power":U.devices.power=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.power,0);break;case"energy":U.devices.energy=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.energy,0);break;default:console.error("Unknown category")}}function Ga(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Pt=le([]);class oa{constructor(e,t,r,s){b(this,"name");b(this,"children");b(this,"count");b(this,"lastValue");this.name=e,this.children=t,this.count=r,this.lastValue=s}insert(e,t){if(e.length){const r=e.splice(1);if(e[0]==this.name)if(r.length){let s=!1;if(this.children.forEach(o=>{o.name==r[0]&&(o.insert(r,t),s=!0)}),!s){const o=new oa(r[0],[],0,"");o.insert(r,t),this.children.push(o)}}else this.count=this.count+1,this.lastValue=t}}}function Hu(a,e){const t=a.split("/");if(t.length){let r=!1;if(Pt.forEach(s=>{s.name==t[0]&&(s.insert(t,e),r=!0)}),!r){const s=new oa(t[0],[],0,"");Pt.push(s),s.insert(t,e)}}}const Ru=["openWB/counter/#","openWB/bat/#","openWB/pv/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+qt()+"/#"];function Ju(){mn(Yu),Ru.forEach(a=>{Xe(a)}),fe()}function Yu(a,e){Hu(a,e.toString());const t=e.toString();a.match(/^openwb\/counter\/[0-9]+\//i)?qu(a,t):a.match(/^openwb\/counter\//i)?Qu(a,t):a.match(/^openwb\/bat\//i)?Au(a,t):a.match(/^openwb\/pv\//i)?Zu(a,t):a.match(/^openwb\/chargepoint\//i)?zu(a,t):a.match(/^openwb\/vehicle\/template\//i)?Du(a,t):a.match(/^openwb\/vehicle\//i)?Wu(a,t):a.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?Xu(a,t):a.match(/^openwb\/graph\//i)?ku(a,t):a.match(/^openwb\/log\/daily\//i)?$u(a,t):a.match(/^openwb\/log\/monthly\//i)?Vu(a,t):a.match(/^openwb\/log\/yearly\//i)?Lu(a,t):a.match(/^openwb\/optional\/et\//i)?Eu(a,t):a.match(/^openwb\/system\//i)?ed(a,t):a.match(/^openwb\/LegacySmartHome\//i)?ju(a,t):a.match(/^openwb\/command\//i)&&td(a,t)}function qu(a,e){const t=a.split("/"),r=+t[2];if(r==de.evuId?Ku(a,e):t[3]=="config",t[3]=="get"&&r in ke)switch(t[4]){case"power":ke[r].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":ke[r].energy_imported=+e;break;case"daily_exported":ke[r].energy_exported=+e;break}}function Qu(a,e){if(a.match(/^openwb\/counter\/get\/hierarchy$/i)){const t=JSON.parse(e);if(t.length){_n(),is();for(const r of t)r.type=="counter"&&(de.evuId=r.id);ja(t[0])}}else a.match(/^openwb\/counter\/set\/home_consumption$/i)?U.house.power=+e:a.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(U.house.energy=+e)}function ja(a){switch(a.type){case"counter":au(a.id,a.type);break;case"cp":bn(a.id);break;case"bat":Aa(a.id);break}a.children.forEach(e=>ja(e))}function Zu(a,e){const t=ad(a);t&&!we.value.has(t)&&zn(t),a=="openWB/pv/get/power"?Q.pv.power=-e:a=="openWB/pv/get/daily_exported"?Q.pv.energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/power$/i)?we.value.get(t).power=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/daily_exported$/i)?we.value.get(t).energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/monthly_exported$/i)?we.value.get(t).energy_month=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/yearly_exported$/i)?we.value.get(t).energy_year=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/exported$/i)&&(we.value.get(t).energy_total=+e)}function Xu(a,e){const t=a.split("/");if(t.length>0)switch(t[4]){case"bat_mode":de.updatePvBatteryPriority(JSON.parse(e));break}}function Ku(a,e){switch(a.split("/")[4]){case"power":+e>0?(Q.evuIn.power=+e,U.evuOut.power=0):(Q.evuIn.power=0,U.evuOut.power=-e);break;case"daily_imported":Q.evuIn.energy=+e;break;case"daily_exported":U.evuOut.energy=+e;break}}function ed(a,e){if(a.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const t=JSON.parse(e);switch(t.type){case"counter":case"consumption_counter":ke[t.id]&&(ke[t.id].name=t.name);break;case"inverter":case"inverter_secondary":we.value.has(t.id)||we.value.set(t.id,new $a(t.id)),we.value.get(t.id).name=t.name;break;case"bat":he.value.has(t.id)||Aa(t.id),he.value.get(t.id).name=t.name}}}function td(a,e){const t=a.split("/");if(a.match(/^openWB\/command\/[a-z]+\/error$/i)&&t[2]==qt()){const r=JSON.parse(e);console.error(`Error message from openWB: +Command: ${r.command} +Data: JSON.stringify(err.data) +Error: + ${r.error}`)}}function ad(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const nd={key:0,class:"fas fa-caret-down"},rd={key:1,class:"fas fa-caret-right"},od={key:0,class:"content p-2 m-2"},sd={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},id=L({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=ee(!e.hide),r=ee(!1);const s=m(()=>e.node.name),o=m(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),d=m(()=>e.node.children.length),u=m(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function p(){d.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(r.value=!r.value)}return(c,k)=>{const P=tn("MqttNode",!0);return l(),f(F,null,[n("div",{class:"name py-2 px-2 m-0",style:K(u.value),onClick:p},[(i(t)||e.expandAll)&&d.value>0||i(r)?(l(),f("span",nd)):(l(),f("span",rd)),H(" "+S(s.value)+S(h.value),1)],4),i(r)?(l(),f("div",od,[n("code",null,S(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&d.value>0?(l(),f("div",sd,[(l(!0),f(F,null,te(o.value,(z,D)=>(l(),$(P,{key:D,level:e.level+1,node:z,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),ld=R(id,[["__scopeId","data-v-df7e578a"]]),cd={class:"mqviewer"},ud={class:"row pt-2"},dd={class:"col"},hd={key:0,class:"topiclist"},pd=L({__name:"MQTTViewer",setup(a){Le(()=>{});const e=ee(!1);function t(){e.value=!e.value}const r=m(()=>e.value?"active":"");return(s,o)=>(l(),f("div",cd,[n("div",ud,[n("div",dd,[o[0]||(o[0]=n("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),o[1]||(o[1]=n("hr",null,null,-1)),n("button",{class:q(["btn btn-small btn-outline-primary ms-2",r.value]),onClick:t}," Expand All ",2),o[2]||(o[2]=n("hr",null,null,-1))])]),i(Pt)[0]?(l(),f("div",hd,[(l(!0),f(F,null,te(i(Pt)[0].children.sort((h,d)=>h.name(l(),$(ld,{key:d,node:h,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),gd=R(pd,[["__scopeId","data-v-a349646d"]]),md=["value"],fd=L({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(o){r("update:modelValue",o)}});return(o,h)=>vt((l(),f("select",{id:"selectme","onUpdate:modelValue":h[0]||(h[0]=d=>s.value=d),class:"form-select"},[(l(!0),f(F,null,te(o.options,(d,u)=>(l(),f("option",{key:u,value:d[1]},S(d[0]),9,md))),128))],512)),[[an,s.value]])}}),vd=R(fd,[["__scopeId","data-v-5e33ce1f"]]),yd={class:"subgrid m-0 p-0"},bd={class:"settingscolumn"},_d={class:"settingscolumn"},wd={class:"settingscolumn"},kd=L({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,r=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],o=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],h=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],d=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,p)=>(l(),$(je,{"full-width":!0},{title:_(()=>p[23]||(p[23]=[H(" Look & Feel ")])),buttons:_(()=>p[24]||(p[24]=[n("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[n("span",null,[n("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[n("div",yd,[n("div",bd,[v(N,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[v(We,{modelValue:i(g).displayMode,"onUpdate:modelValue":p[0]||(p[0]=c=>i(g).displayMode=c),options:r},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[v(We,{modelValue:i(g).smartHomeColors,"onUpdate:modelValue":p[1]||(p[1]=c=>i(g).smartHomeColors=c),options:o},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{default:_(()=>[v(se,{modelValue:i(g).showGrid,"onUpdate:modelValue":p[2]||(p[2]=c=>i(g).showGrid=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{default:_(()=>[v(se,{modelValue:i(g).showRelativeArcs,"onUpdate:modelValue":p[3]||(p[3]=c=>i(g).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(g).showRelativeArcs?(l(),$(N,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(g).showRelativeArcs?(l(),f("button",{key:0,class:"btn btn-secondary",onClick:p[4]||(p[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),v(N,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[v(vd,{modelValue:i(g).decimalPlaces,"onUpdate:modelValue":p[5]||(p[5]=c=>i(g).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[v(We,{modelValue:i(g).showClock,"onUpdate:modelValue":p[6]||(p[6]=c=>i(g).showClock=c),options:h},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[v(We,{modelValue:i(g).shortCpList,"onUpdate:modelValue":p[7]||(p[7]=c=>i(g).shortCpList=c),options:d},null,8,["modelValue"])]),_:1})]),n("div",_d,[v(N,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{default:_(()=>[v(se,{modelValue:i(g).showButtonBar,"onUpdate:modelValue":p[8]||(p[8]=c=>i(g).showButtonBar=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{default:_(()=>[v(se,{modelValue:i(g).showQuickAccess,"onUpdate:modelValue":p[9]||(p[9]=c=>i(g).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{default:_(()=>[v(se,{modelValue:i(g).preferWideBoxes,"onUpdate:modelValue":p[10]||(p[10]=c=>i(g).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{default:_(()=>[v(se,{modelValue:i(g).fluidDisplay,"onUpdate:modelValue":p[11]||(p[11]=c=>i(g).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{default:_(()=>[v(se,{modelValue:i(g).showAnimations,"onUpdate:modelValue":p[12]||(p[12]=c=>i(g).showAnimations=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{default:_(()=>[v(se,{modelValue:i(g).showCounters,"onUpdate:modelValue":p[13]||(p[13]=c=>i(g).showCounters=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{default:_(()=>[v(se,{modelValue:i(g).showVehicles,"onUpdate:modelValue":p[14]||(p[14]=c=>i(g).showVehicles=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{default:_(()=>[v(se,{modelValue:i(g).showStandardVehicle,"onUpdate:modelValue":p[15]||(p[15]=c=>i(g).showStandardVehicle=c)},null,8,["modelValue"])]),_:1})]),n("div",wd,[v(N,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{default:_(()=>[v(se,{modelValue:i(g).showInverters,"onUpdate:modelValue":p[16]||(p[16]=c=>i(g).showInverters=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{default:_(()=>[v(se,{modelValue:i(g).alternativeEnergy,"onUpdate:modelValue":p[17]||(p[17]=c=>i(g).alternativeEnergy=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{default:_(()=>[v(se,{modelValue:i(g).showPrices,"onUpdate:modelValue":p[18]||(p[18]=c=>i(g).showPrices=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[v(Me,{id:"lowerPriceBound",modelValue:i(g).lowerPriceBound,"onUpdate:modelValue":p[19]||(p[19]=c=>i(g).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[v(Me,{id:"upperPriceBound",modelValue:i(g).upperPriceBound,"onUpdate:modelValue":p[20]||(p[20]=c=>i(g).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert eine mit SSL verschlüsselte Verbindung über HTTPS! Experimentelles Feature."},{default:_(()=>[v(se,{modelValue:i(g).sslPrefs,"onUpdate:modelValue":p[21]||(p[21]=c=>i(g).sslPrefs=c)},null,8,["modelValue"])]),_:1}),v(N,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{default:_(()=>[v(se,{modelValue:i(g).debug,"onUpdate:modelValue":p[22]||(p[22]=c=>i(g).debug=c)},null,8,["modelValue"])]),_:1})]),p[25]||(p[25]=n("div",{class:"grid-col-12 mb-3 me-3"},[n("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),xd=R(kd,[["__scopeId","data-v-d82b4b16"]]),Sd={class:"container-fluid px-2 m-0 theme-colors"},Md={id:"themesettings",class:"collapse"},$d={class:"row py-0 px-0 m-0"},Pd={key:1,class:"row py-0 m-0 d-flex justify-content-center"},Id={key:2,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Cd={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},Bd={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Vd={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},Ld={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},Od={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},Ad={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},Td={key:3,id:"cpContent",class:"tab-content mx-0 pt-1"},Ed={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},zd={class:"row py-0 m-0 d-flex justify-content-center"},Wd={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},Dd={class:"row py-0 m-0 d-flex justify-content-center"},Gd={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Ud={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},Fd={class:"row py-0 m-0 d-flex justify-content-center"},Nd={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},Hd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Rd={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},Jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Yd={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},qd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Qd={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},Zd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Xd={key:0,class:"row p-2 mt-5"},Kd={class:"col p-2"},eh={class:"d-flex justify-content-between"},th={class:"mx-4"},ah={key:0},nh=L({__name:"ColorsTheme",setup(a){const e=ee(!1),t=m(()=>[...ae.values()].filter(h=>h.configured).length>0);function r(){Ba()}function s(){e.value=!e.value}Le(()=>{r(),window.addEventListener("resize",Vn),window.addEventListener("focus",o),Ju()});function o(){document.hasFocus()&&fe(!0)}return(h,d)=>(l(),f(F,null,[n("div",Sd,[n("div",Md,[v(xd,{onResetArcs:i(An)},null,8,["onResetArcs"])]),i(g).showButtonBar?(l(),$(Tc,{key:0})):w("",!0),n("div",$d,[v(wu,null,nn({item1:_(()=>[v(hr)]),item2:_(()=>[v(bo)]),_:2},[i(g).alternativeEnergy?{name:"item3",fn:_(()=>[v(vs)]),key:"0"}:{name:"item3",fn:_(()=>[v(No)]),key:"1"}]),1024)]),i(g).showQuickAccess?w("",!0):(l(),f("div",Pd,[v(Tt,{id:"1",compact:i(g).shortCpList=="always"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"NoTabs"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])),i(g).showQuickAccess?(l(),f("nav",Id,[d[6]||(d[6]=rn('
AllesLadepunkte',2)),i(g).showPrices?(l(),f("a",Cd,d[0]||(d[0]=[n("i",{class:"fa-solid fa-lg fa-coins"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(g).showVehicles?(l(),f("a",Bd,d[1]||(d[1]=[n("i",{class:"fa-solid fa-lg fa-car"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(de).isBatteryConfigured?(l(),f("a",Vd,d[2]||(d[2]=[n("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),f("a",Ld,d[3]||(d[3]=[n("i",{class:"fa-solid fa-lg fa-plug"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(g).showCounters?(l(),f("a",Od,d[4]||(d[4]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(g).showInverters?(l(),f("a",Ad,d[5]||(d[5]=[n("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(g).showQuickAccess?(l(),f("div",Td,[n("div",Ed,[n("div",zd,[v(Tt,{id:"2",compact:i(g).shortCpList!="no"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"Overview"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])]),n("div",Wd,[n("div",Dd,[v(Tt,{id:"3",compact:i(g).shortCpList=="always"},null,8,["compact"])])]),n("div",Gd,[i(g).showVehicles?(l(),f("div",jd,[v(Dt)])):w("",!0)]),n("div",Ud,[n("div",Fd,[v(Et)])]),n("div",Nd,[t.value?(l(),f("div",Hd,[v(zt)])):w("",!0)]),n("div",Rd,[i(g).showCounters?(l(),f("div",Jd,[v(Wt)])):w("",!0)]),n("div",Yd,[i(g).showInverters?(l(),f("div",qd,[v(Ut)])):w("",!0)]),n("div",Qd,[i(g).showPrices?(l(),f("div",Zd,[v(jt,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(g).debug?(l(),f("div",Xd,[n("div",Kd,[d[7]||(d[7]=n("hr",null,null,-1)),n("div",eh,[n("p",th,"Screen Width: "+S(i(Mt).x),1),n("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),f("hr",ah)):w("",!0),e.value?(l(),$(gd,{key:1})):w("",!0)])])):w("",!0)],64))}}),rh=R(nh,[["__scopeId","data-v-0542a138"]]),oh={class:"navbar navbar-expand-lg px-0 mb-0"},sh={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},ih=L({__name:"NavigationBar",setup(a){let e;const t=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return Le(()=>{e=setInterval(()=>{Rt.value=new Date},1e3)}),on(()=>{clearInterval(e)}),(r,s)=>(l(),f(F,null,[n("nav",oh,[n("div",{class:q(t.value)},[s[0]||(s[0]=n("a",{href:"/",class:"navbar-brand"},[n("span",null,"openWB")],-1)),i(g).showClock=="navbar"?(l(),f("span",sh,S(i(La)(i(Rt))),1)):w("",!0),s[1]||(s[1]=n("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=n("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[n("div",{class:"nav navbar-nav"},[n("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),n("div",{class:"nav-item dropdown"},[n("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Auswertungen "),n("i",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[n("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),n("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),n("div",{class:"nav-item dropdown"},[n("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Einstellungen "),n("span",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[n("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),n("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[n("span",null,[H("Look&Feel"),n("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),n("div",{class:q(t.value)},s[3]||(s[3]=[n("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),lh=R(ih,[["__scopeId","data-v-ed619966"]]),ch={id:"app",class:"m-0 p-0"},uh={class:"row p-0 m-0"},dh={class:"col-12 p-0 m-0"},hh=L({__name:"App",setup(a){const e=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return(t,r)=>(l(),f("div",ch,[v(lh),n("div",{class:q(["p-0",e.value])},[n("div",uh,[n("div",dh,[v(rh)])])],2)]))}}),ph=sn(hh);ln();ph.mount("#app"); diff --git a/packages/modules/web_themes/colors/web/assets/index-DCpWaOs_.js b/packages/modules/web_themes/colors/web/assets/index-DCpWaOs_.js deleted file mode 100644 index a6196c1c4d..0000000000 --- a/packages/modules/web_themes/colors/web/assets/index-DCpWaOs_.js +++ /dev/null @@ -1,6 +0,0 @@ -var Ua=Object.defineProperty;var Fa=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as le,m as Na,c as m,a as X,i as Ha,e as Ve,u as Ft,t as et,b as St,s as ce,d as L,p as wa,f as ka,w as Ra,o as l,g as f,h as S,j as n,n as J,k as $,l as w,q as pe,v as _,x as H,y as i,z as v,F as U,A as te,B as xa,C as He,D as ft,E as nt,G as rt,H as dt,I as ht,J as st,K as Ja,L as Ne,M as ee,N as Ya,O as Le,P as vt,Q as qa,R as Qa,S as Sa,T as Za,U as Ma,V as Xa,W as Ka,X as en,Y as tn,Z as an,_ as nn,$ as rn,a0 as on,a1 as sn,a2 as ln}from"./vendor-CmSLe-Fc.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();var ve=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.standby="standby",a.stop="stop",a))(ve||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const cn=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class un{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,T.items["sh"+this.id].showInGraph=e,re()}setShowInGraph(e){this._showInGraph=e}}const ne=le(new Map);function Yt(a){ne.has(a)?console.info("Duplicate sh device message: "+a):(ne.set(a,new un(a)),ne.get(a).color="var(--color-sh"+ne.size+")")}const dn=0,Pa={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},Mt={topic:"",qos:dn};let Ie;const{host:hn,port:pn,endpoint:gn,...Ca}=Pa,sa=`${Ca.protocol}://${hn}:${pn}${gn}`;try{console.debug("connectURL",sa),Ie=Na.connect(sa,Ca),Ie.on("connect",()=>{console.info("MQTT connection successful")}),Ie.on("disconnect",()=>{console.info("MQTT disconnected")}),Ie.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function mn(a){Ie?Ie.on("message",a):console.error("MqttRegister: MQTT client not available")}function Xe(a){Mt.topic=a;const{topic:e,qos:t}=Mt;Ie.subscribe(e,{qos:t},r=>{if(r){console.error("MQTT Subscription error: "+r);return}})}function ot(a){Mt.topic=a;const{topic:e}=Mt;Ie.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function Nt(a,e){let r=Ie.connected,s=0;for(;!r&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await fn(100),r=Ie.connected,s+=1;if(s<20)try{Ie.publish(a,e,{qos:0},o=>{o&&console.warn("MQTT publish error: ",o),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(o){console.warn("MQTT publish: caught error: "+o)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function qt(){return Pa.clientId}function fn(a){return new Promise(e=>setTimeout(e,a))}class vn{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",0);b(this,"evTemplate",0);b(this,"_chargeMode",ve.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,ae("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,ae("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return N[this.connectedVehicle]?N[this.connectedVehicle].soc:0}set soc(e){N[this.connectedVehicle]&&(N[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,ae("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,ae("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return _e[this.chargeTemplate]?_e[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){_e[this.chargeTemplate].time_charging.active=e,ae("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,ae("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,ae("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,ae("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,ae("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,ae("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,ae("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,ae("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,ae("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,ae("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return N[this.connectedVehicle]?N[this.connectedVehicle].etActive:!1}set etActive(e){N[this.connectedVehicle]&&(N[this.connectedVehicle].etActive=e)}get etMaxPrice(){return N[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){ae("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class yn{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"isSocConfigured",!1);b(this,"isSocManual",!1);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,ae("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,ae("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return _e[this.chargeTemplateId]?_e[this.chargeTemplateId].et.active:!1}set etActive(e){_e[this.chargeTemplateId]&&ae("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(_e[this.chargeTemplateId]&&_e[this.chargeTemplateId].et.active)return _e[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||g.showStandardVehicle)}}const O=le({}),N=le({}),_e=le({}),pt=le({}),gt=le({}),Ht=le({});function bn(a){if(!(a in O)){O[a]=new vn(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;ie[t]?ie["cp"+a].color=e:ie[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function _n(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const me=m(()=>{const a=[],e=Object.values(O),t=Object.values(N).filter(o=>o.visible);let r=-1;switch(e.length){case 0:r=t[0]?t[0].id:-1;break;default:r=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return r==s&&(s=t[1]?t[1].id:-1),r!=-1&&a.push(r),s!=-1&&a.push(s),a}),wn={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function ae(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let r=wn[a];if(!r){console.warn("No topic for update type "+a);return}switch(a){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":r=r.replace("%",O[t].chargeTemplate.toString());break;default:r=r.replace("%",String(t))}switch(typeof e){case"number":Nt(r,JSON.stringify(+e));break;default:Nt(r,JSON.stringify(e))}}function Qt(a){Nt("openWB/set/command/"+qt()+"/todo",JSON.stringify(a))}const be=500,Me=500,G={top:15,right:20,bottom:10,left:25},Zt=["charging","house","batIn","devices"];class kn{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=le(new kn),Ia=X(Ha),Ye=m(()=>[0,be-G.left-2*G.right].map(a=>Ia.value.applyX(a)));let mt=!0,it=!0;function ia(){mt=!1}function la(){mt=!0}function ca(){it=!1}function ua(){it=!0}function xn(a){it=a}function yt(a){y.data=a,y.waitForData=!1}const ge=le({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Xe(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Cn(),lt.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),ot(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Xe(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)ot(this.refreshTopicPrefix+a)},subscribeUpdates(){Xe(this.updateTopic)},unsubscribeUpdates(){ot(this.updateTopic)}}),ue=le({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getDailyLog",data:{day:e}})}},deactivate(){ot(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=le({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getMonthlyLog",data:{month:e}})},deactivate(){ot(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Re=le({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Xe(this.topic),a&&(y.data=[]),y.waitForData=!0,Qt({command:"getYearlyLog",data:{year:e}})},deactivate(){ot(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(T.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function $n(a,e){e[a]>0&&(T.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Pn=["evuIn","pv","batOut","evuOut"],qe=X(!1);function Xt(a,e){Object.entries(a).length>0?(qe.value=!1,Object.entries(a.counter).forEach(([t,r])=>{(e.length==0||e.includes(t))&&(T.items.evuIn.energy+=r.energy_imported,T.items.evuOut.energy+=r.energy_exported)}),T.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(T.items.batIn.energy=a.bat.all.energy_imported,T.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,r])=>{t=="all"?(T.setEnergy("charging",r.energy_imported),r.energy_imported_pv!=null&&(T.setEnergyPv("charging",r.energy_imported_pv),T.setEnergyBat("charging",r.energy_imported_bat))):T.setEnergy(t,r.energy_imported)}),T.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,r])=>{T.setEnergy(t,r.energy_imported);const s=t.substring(2);ne.get(+s).countAsHouse||(T.items.devices.energy+=r.energy_imported)}),a.hc&&a.hc.all?(T.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(T.setEnergyPv("house",a.hc.all.energy_imported_pv),T.setEnergyBat("house",a.hc.all.energy_imported_bat))):T.calculateHouseEnergy(),T.keys().forEach(t=>{Pn.includes(t)||(T.setPvPercentage(t,Math.round((T.items[t].energyPv+T.items[t].energyBat)/T.items[t].energy*100)),Zt.includes(t)&&(j[t].energy=T.items[t].energy,j[t].energyPv=T.items[t].energyPv,j[t].energyBat=T.items[t].energyBat,j[t].pvPercentage=T.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const r=T.items["cp"+t.id];r&&(t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}),ne.forEach(t=>{const r=T.items["sh"+t.id];r&&(t.energy=r.energy,t.energyPv=r.energyPv,t.energyBat=r.energyBat,t.pvPercentage=r.pvPercentage)}))):qe.value=!0,lt.value=!0}const Be=m(()=>{const a=Ve(y.data,e=>new Date(e.date));return a[0]&&a[1]?Ft().domain(a).range([0,be-G.left-2*G.right]):et().range([0,0])});function Cn(){T.keys().forEach(a=>{Zt.includes(a)&&(j[a].energy=T.items[a].energy,j[a].energyPv=0,j[a].energyBat=0,j[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),ne.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Je=m(()=>{const a=Ve(y.data,e=>e.date);return a[1]?St().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,be-G.left-2]):St().range([0,0])});function It(){switch(y.graphMode){case"live":y.graphMode="today",g.showRightButton=!0,fe();break;case"today":y.graphMode="day",ue.deactivate(),ue.back(),ue.activate(),fe();break;case"day":ue.back(),fe();break;case"month":Ee.back();break;case"year":Re.back();break}}function Kt(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",g.showRightButton=!1,fe();break;case"day":ue.forward(),ue.date.getDate()==a.getDate()&&ue.date.getMonth()==a.getMonth()&&ue.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),fe();break;case"month":Ee.forward();break;case"year":Re.forward();break}}function ea(){switch(y.graphMode){case"live":It();break;case"day":case"today":y.graphMode="month",fe();break;case"month":y.graphMode="year",fe();break}}function ta(){switch(y.graphMode){case"year":y.graphMode="month",fe();break;case"month":y.graphMode="today",fe();break;case"today":case"day":y.graphMode="live",fe();break}}function da(a){if(y.graphMode=="day"||y.graphMode=="today"){ue.setDate(a);const e=new Date;ue.date.getDate()==e.getDate()&&ue.date.getMonth()==e.getMonth()&&ue.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",fe()}}const Fe=X(new Map);class In{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,re()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,re()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,re()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,On(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,re()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,re()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,ha(e),re()}setSmartHomeColors(e){this._smartHomeColors=e,ha(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,re()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,re()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,re()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,re()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,re()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,re()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,re()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,re()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,re()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,re()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,re()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,re()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,re()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,re()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,re()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,la(),ua(),re()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,la(),ua(),re()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,re()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,re()}setUpperPriceBound(e){this._upperPriceBound=e}}const g=le(new In);function Ba(){En();const a=ce("html");a.classed("theme-dark",g.displayMode=="dark"),a.classed("theme-light",g.displayMode=="light"),a.classed("theme-blue",g.displayMode=="blue"),a.classed("shcolors-standard",g.smartHomeColors=="standard"),a.classed("shcolors-advanced",g.smartHomeColors=="advanced"),a.classed("shcolors-normal",g.smartHomeColors=="normal")}const Bn=992,$t=le({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Vn(){$t.x=document.documentElement.clientWidth,$t.y=document.documentElement.clientHeight,Ba()}const De=m(()=>$t.x>=Bn),ye={instant_charging:{mode:ve.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:ve.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},scheduled_charging:{mode:ve.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:ve.standby,name:"Standby",color:"var(--color-axis",icon:"fa-pause"},stop:{mode:ve.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Ln{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,ae("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function re(){Tn()}function On(a){const e=ce("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),re()}function An(){g.maxPower=Q.evuIn.power+Q.pv.power+Q.batOut.power,re()}function ha(a){const e=ce("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Te={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function Tn(){const a={};a.hideSH=[...ne.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=g.graphPreference=="live",a.displayM=g.displayMode,a.stackO=g.usageStackOrder,a.showGr=g.showGrid,a.decimalP=g.decimalPlaces,a.smartHomeC=g.smartHomeColors,a.relPM=g.showRelativeArcs,a.maxPow=g.maxPower,a.showQA=g.showQuickAccess,a.simpleCP=g.simpleCpList,a.shortCP=g.shortCpList,a.animation=g.showAnimations,a.wideB=g.preferWideBoxes,a.fluidD=g.fluidDisplay,a.clock=g.showClock,a.showButtonBar=g.showButtonBar,a.showCounters=g.showCounters,a.showVehicles=g.showVehicles,a.showStandardV=g.showStandardVehicle,a.showPrices=g.showPrices,a.showInv=g.showInverters,a.altEngy=g.alternativeEnergy,a.lowerP=g.lowerPriceBound,a.upperP=g.upperPriceBound,a.sslPrefs=g.sslPrefs,a.debug=g.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(g.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function En(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&g.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&g.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(r=>{ne.get(r)==null&&Yt(r),ne.get(r).setShowInGraph(!1)}),t.showLG!==void 0&&g.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&g.setMaxPower(+t.maxPow),t.relPM!==void 0&&g.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&g.setDisplayMode(t.displayM),t.stackO!==void 0&&g.setUsageStackOrder(t.stackO),t.showGr!==void 0&&g.setShowGrid(t.showGr),t.showQA!==void 0&&g.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&g.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&g.setShortCpList(t.shortCP),t.animation!=null&&g.setShowAnimations(t.animation),t.wideB!=null&&g.setPreferWideBoxes(t.wideB),t.fluidD!=null&&g.setFluidDisplay(t.fluidD),t.clock!=null&&g.setShowClock(t.clock),t.showButtonBar!==void 0&&g.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&g.setShowCounters(t.showCounters),t.showVehicles!==void 0&&g.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&g.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&g.setShowPrices(t.showPrices),t.showInv!==void 0&&g.setShowInverters(t.showInv),t.altEngy!==void 0&&g.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&g.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&g.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&g.setSslPrefs(t.sslPrefs),t.debug!==void 0&&g.setDebug(t.debug)}}const ie=le({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let T=le(new Va);function aa(){T=new Va}const Q=le({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),j=le({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),de=le(new Ln);X("");const lt=X(!1);function ze(a,e){return{name:ie[a]?ie[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(ie[a]?ie[a].color:"var(--color-charging)"),icon:ie[a]?ie[a].icon:"",showInGraph:!0}}const Rt=X(new Date),we=X(new Map),zn=a=>{we.value.set(a,new $a(a)),we.value.get(a).color=ie["pv"+we.value.size].color},Wn=["origin"],Dn=L({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=Q;s["zz-empty"]=r;const o=Object.values(Q).length-1,h=wa().value(p=>p.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=ce("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(h(Object.values(s))).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmSourceArc.vue"});return Ra(()=>{let r=Q.pv.power+Q.evuIn.power+Q.batOut.power;r>g.maxPower&&(g.maxPower=r)}),(r,s)=>(l(),f("g",{id:"pmSourceArc",origin:t.value},null,8,Wn))}}),Gn=["origin"],jn=L({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let r={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[j.evuOut,j.charging].concat([...ne.values()].filter(p=>p.configured&&!p.countAsHouse).sort((p,c)=>c.power-p.power)).concat([j.batIn,j.house]).concat(r),o=s.length-1,h=wa().value(p=>p.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=ce("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(h(s)).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmUsageArc.vue"});return(r,s)=>(l(),f("g",{id:"pmUsageArc",origin:t.value},null,8,Gn))}});function $e(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function ct(a,e=1,t=!1){let r;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:r=Math.round(a/1e3);break;case 1:r=Math.round(a/100)/10;break;case 2:r=Math.round(a/10)/100;break;case 3:r=Math.round(a)/1e3;break;default:r=Math.round(a/100)/10;break}return r.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function Un(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString(["de-DE"],{hour:"2-digit",minute:"2-digit"})}function Fn(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Nn(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const bt=L({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=m(()=>$e(e.watt,g.decimalPlaces));return(r,s)=>S(t.value)}}),Hn={key:0,id:"pmLabel"},Rn=["x","y","fill","text-anchor"],Jn=22,Ae=L({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),r=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=m(()=>!e.data||e.data.power>0),o=m(()=>e.labeltext?"":"fas");return(h,d)=>s.value?(l(),f("g",Hn,[n("text",{x:h.x,y:h.y,fill:r.value,"text-anchor":h.anchor,"font-size":Jn,class:"pmLabel"},[n("tspan",{class:J(o.value)},S(t.value),3),n("tspan",null,[h.data!==void 0?(l(),$(bt,{key:0,watt:h.data.power},null,8,["watt"])):w("",!0)])],8,Rn)])):w("",!0)}}),Yn={class:"wb-widget p-0 m-0 shadow"},qn={class:"d-flex justify-content-between"},Qn={class:"m-4 me-0 mb-0"},Zn={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Xn={class:"px-4 pt-4 pb-2 wb-subwidget"},Kn={class:"row"},er={class:"col m-0 p-0"},tr={class:"container-fluid m-0 p-0"},ar={key:0},nr={class:"px-4 py-2 wb-subwidget"},rr={class:"row"},or={class:"col"},sr={class:"container-fluid m-0 p-0"},_t=L({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:J(["p-2 m-0 d-flex",t.value])},[n("div",Yn,[n("div",qn,[n("h3",Qn,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))]),pe(r.$slots,"subtitle")]),n("div",Zn,[pe(r.$slots,"buttons")])]),n("div",Xn,[n("div",Kn,[n("div",er,[n("div",tr,[pe(r.$slots,"default")])])])]),r.$slots.footer!=null?(l(),f("div",ar,[s[1]||(s[1]=n("hr",null,null,-1)),n("div",nr,[n("div",rr,[n("div",or,[n("div",sr,[pe(r.$slots,"footer")])])])])])):w("",!0)])],2))}});class ir{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=oe.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const oe=le(new ir),lr={id:"powermeter",class:"p-0 m-0"},cr=["viewBox"],ur=["transform"],dr=["x"],Ze=500,Ue=20,pa=1,hr=L({__name:"PowerMeter",setup(a){const e=Ze,t=Math.PI/40,r=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],o=m(()=>Ze/2-Ue),h=m(()=>{let B="",A=Object.values(Q).filter(V=>V.power>0);return A.length==1&&A[0].name=="PV"?B="Aktueller Verbrauch: ":B="Bezug/Verbrauch: ",B+$e(j.house.power+j.charging.power+j.devices.power+j.batIn.power,g.decimalPlaces)}),d=m(()=>{let B=Q.pv.power+Q.evuIn.power+Q.batOut.power;return g.maxPower>B?$e(g.maxPower,g.decimalPlaces):$e(B,g.decimalPlaces)}),u=m(()=>Object.values(O)),p=m(()=>{let B=0;return g.showRelativeArcs&&(B=g.maxPower-(Q.pv.power+Q.evuIn.power+Q.batOut.power)),B<0?0:B}),c=m(()=>[j.evuOut,j.charging,j.devices,j.batIn,j.house].filter(B=>B.power>0)),k=m(()=>r[c.value.length-1]);function P(B){return s[k.value[B]]}function z(B){return B.length>12?B.slice(0,11)+".":B}const D=m(()=>{const[B]=oe.etPriceList.values();return Math.round(B*10)/10});return(B,A)=>(l(),$(_t,{"full-width":!0},{title:_(()=>A[0]||(A[0]=[H(" Aktuelle Leistung ")])),default:_(()=>[n("figure",lr,[(l(),f("svg",{viewBox:"0 0 "+Ze+" "+i(e)},[n("g",{transform:"translate("+Ze/2+","+i(e)/2+")"},[v(Dn,{radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["radius","empty-power"]),v(jn,{"sh-device":i(ne),radius:o.value,"corner-radius":pa,"circle-gap-size":t,"empty-power":p.value},null,8,["sh-device","radius","empty-power"]),v(Ae,{x:0,y:-i(e)/10*2,data:i(Q).pv,props:i(ie).pv,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10*3,data:i(Q).evuIn,props:i(ie).evuIn,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),i(oe).active?(l(),$(Ae,{key:0,x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"])):w("",!0),(l(!0),f(U,null,te(c.value,(V,Y)=>(l(),$(Ae,{key:Y,x:P(Y).x,y:P(Y).y,data:V,labelicon:V.icon,labelcolor:V.color,anchor:"middle",config:i(g)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(me)[0]!=null&&i(N)[i(me)[0]]!=null?(l(),$(Ae,{key:1,x:-500/2-Ue/4+10,y:-i(e)/2+Ue+5,labeltext:z(i(N)[i(me)[0]].name)+": "+Math.round(i(N)[i(me)[0]].soc)+"%",labelcolor:u.value[0]?u.value[0].color:"var(--color-charging)",anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(me)[1]!=null&&i(N)[i(me)[1]]!=null?(l(),$(Ae,{key:2,x:Ze/2+Ue/4-10,y:-i(e)/2+Ue+5,labeltext:z(i(N)[i(me)[1]].name)+": "+Math.round(i(N)[i(me)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(de).batterySoc>0?(l(),$(Ae,{key:3,x:-500/2-Ue/4+10,y:i(e)/2-Ue+15,labeltext:"Speicher: "+i(de).batterySoc+"%",labelcolor:i(j).batIn.color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(oe).active?(l(),$(Ae,{key:4,x:Ze/2+Ue/4-10,y:i(e)/2-Ue+15,value:D.value,labeltext:i(oe).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","value","labeltext","config"])):w("",!0),v(Ae,{x:0,y:0,labeltext:h.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(g)},null,8,["labeltext","config"]),i(g).showRelativeArcs?(l(),f("text",{key:5,x:Ze/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+S(d.value),9,dr)):w("",!0)],8,ur)],8,cr))])]),_:1}))}}),pr=["origin","origin2","transform"],gr=L({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var r,s;const o=g.showAnimations?g.animationDuration:0,h=g.showAnimations?g.animationDelay:0,d=m(()=>{const M=ce("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?Y(M,Je.value):V(M,Be.value),M.selectAll(".axis").remove();const E=M.append("g").attr("class","axis");E.call(D.value),E.selectAll(".tick").attr("font-size",12),E.selectAll(".tick line").attr("stroke",A.value).attr("stroke-width",B.value),E.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=m(()=>xa().value((M,E)=>M[E]??0).keys(k.value)),p=m(()=>u.value(y.data)),c=m(()=>He().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(P.value[1]*10)/10]:[0,Math.ceil(P.value[1])])),k=m(()=>{let M=[];const E=["batOut","evuIn"];if(g.showInverters){const C=/pv\d+/;y.data.length>0&&(M=Object.keys(y.data[0]).filter(x=>x.match(C)))}switch(y.graphMode){case"live":return g.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return M.forEach((C,x)=>{t[C]="var(--color-pv"+(x+1)+")"}),g.showInverters?[...M,...E]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),P=m(()=>{let M=Ve(y.data,E=>Math.max(E.pv+E.evuIn+E.batOut,E.selfUsage+E.evuOut));return M[0]!=null&&M[1]!=null?(y.graphMode=="year"&&(M[0]=M[0]/1e3,M[1]=M[1]/1e3),M):[0,0]}),z=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=m(()=>ft(c.value).tickSizeInner(z.value).ticks(4).tickFormat(M=>(M==0?"":Math.round(M*10)/10).toLocaleString(void 0))),B=m(()=>g.showGrid?"0.5":"1"),A=m(()=>g.showGrid?"var(--color-grid)":"var(--color-bg)");function V(M,E){const C=nt().x((q,xe)=>E(y.data[xe].date)).y(c.value(0)).curve(rt),x=nt().x((q,xe)=>E(y.data[xe].date)).y0(q=>c.value(y.graphMode=="year"?q[0]/1e3:q[0])).y1(q=>c.value(y.graphMode=="year"?q[1]/1e3:q[1])).curve(rt);mt?(M.selectAll("*").remove(),r=M.append("svg").attr("x",0).attr("width",e.width).selectAll(".sourceareas").data(p.value).enter().append("path").attr("fill",(xe,W)=>t[k.value[W]]).attr("d",xe=>C(xe)),r.transition().duration(o).delay(h).ease(dt).attr("d",xe=>x(xe)),ia()):r.data(p.value).transition().duration(0).ease(dt).attr("d",q=>x(q))}function Y(M,E){y.data.length>0&&(mt?(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(C,x)=>t[k.value[x]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,x)=>E(y.data[x].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",E.bandwidth()),s.transition().duration(o).delay(h).ease(dt).attr("height",C=>y.graphMode=="year"?c.value(C[0]/1e3)-c.value(C[1]/1e3):c.value(C[0])-c.value(C[1])).attr("y",C=>y.graphMode=="year"?c.value(C[1]/1e3):c.value(C[1])),ia()):(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",(C,x)=>t[k.value[x]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,x)=>E(y.data[x].date)??0).attr("y",C=>y.graphMode=="year"?c.value(C[1]/1e3):c.value(C[1])).attr("width",E.bandwidth()).attr("height",C=>y.graphMode=="year"?c.value(C[0]/1e3)-c.value(C[1]/1e3):c.value(C[0])-c.value(C[1]))))}const I=m(()=>{const M=ce("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Be.value.range(Ye.value);const E=nt().x((C,x)=>Be.value(y.data[x].date)).y0(C=>c.value(C[0])).y1(C=>c.value(C[1])).curve(rt);M.selectAll("path").attr("d",C=>C?E(C):""),M.selectAll("g#sourceToolTips").select("rect").attr("x",C=>Be.value(C.date)).attr("width",e.width/y.data.length)}return"zoomed"});return(M,E)=>(l(),f("g",{id:"pgSourceGraph",origin:d.value,origin2:I.value,transform:"translate("+M.margin.left+","+M.margin.top+")"},null,8,pr))}}),mr=["origin","origin2","transform"],fr=L({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=m(()=>g.showInverters?[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]:[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]),r={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,o;const h=g.showAnimations?g.animationDuration:0,d=g.showAnimations?g.animationDelay:0,u=m(()=>{const I=ce("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?V(I):A(I),I.selectAll(".axis").remove();const M=I.append("g").attr("class","axis");return M.call(B.value),M.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),g.showGrid?M.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):M.selectAll(".tick line").attr("stroke","var(--color-bg)"),M.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),p=m(()=>xa().value((I,M)=>I[M]??0).keys(P.value)),c=m(()=>p.value(y.data)),k=m(()=>He().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(z.value[1]*10)/10]:[0,Math.ceil(z.value[1])])),P=m(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const I=t.value[e.stackOrder].slice(),M=I.indexOf("charging");I.splice(M,1);const E=/cp\d+/;let C=[];return y.data.length>0&&(C=Object.keys(y.data[0]).filter(x=>x.match(E))),C.forEach((x,q)=>{var xe;I.splice(M+q,0,x),r[x]=((xe=O[+x.slice(2)])==null?void 0:xe.color)??"var(--color-charging)"}),I}}),z=m(()=>{let I=Ve(y.data,M=>M.house+M.charging+M.batIn+M.devices+M.evuOut);return I[0]!=null&&I[1]!=null?(y.graphMode=="year"&&(I[0]=I[0]/1e3,I[1]=I[1]/1e3),I):[0,0]}),D=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),B=m(()=>ft(k.value).tickSizeInner(D.value).ticks(4).tickFormat(I=>(I==0?"":Math.round(I*10)/10).toLocaleString(void 0)));function A(I){const M=nt().x((C,x)=>Be.value(y.data[x].date)).y(k.value(0)).curve(rt),E=nt().x((C,x)=>Be.value(y.data[x].date)).y0(C=>k.value(C[0])).y1(C=>k.value(C[1])).curve(rt);g.showAnimations?it?(I.selectAll("*").remove(),s=I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>M(x)).attr("fill",(x,q)=>r[P.value[q]]),s.transition().duration(300).delay(100).ease(dt).attr("d",x=>E(x)),ca()):(I.selectAll("*").remove(),I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,q)=>r[P.value[q]])):(I.selectAll("*").remove(),I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",x=>E(x)).attr("fill",(x,q)=>r[P.value[q]]))}function V(I){it?(I.selectAll("*").remove(),o=I.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Je.value.bandwidth()),o.transition().duration(h).delay(d).ease(dt).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])),ca()):(I.selectAll("*").remove(),o=I.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>r[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Je.value(y.data[E].date)??0).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])).attr("width",Je.value.bandwidth()))}const Y=m(()=>{const I=ce("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Be.value.range(Ye.value);const M=nt().x((E,C)=>Be.value(y.data[C].date)).y0(E=>k.value(E[0])).y1(E=>k.value(E[1])).curve(rt);I.selectAll("path").attr("d",E=>E?M(E):"")}return"zoomed"});return(I,M)=>(l(),f("g",{id:"pgUsageGraph",origin:u.value,origin2:Y.value,transform:"translate("+I.margin.left+","+I.margin.top+")"},null,8,mr))}}),vr=["width"],yr=["transform"],br=["width"],_r=["transform"],wr=["origin","origin2","transform"],kr=["origin","transform"],xr={key:0},Sr=["width","height"],Mr={key:1},$r=["y","width","height"],Bt=12,Pr=L({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>ht(Be.value).ticks(6).tickSizeInner(h.value).tickFormat(st("%H:%M"))),r=m(()=>Ja(Be.value).ticks(6).tickSizeInner(h.value+3).tickFormat(st(""))),s=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(c=>c.toString())),o=m(()=>ht(Je.value).ticks(4).tickSizeInner(h.value).tickFormat(()=>"")),h=m(()=>y.graphMode!=="month"&&y.graphMode!=="year"?g.showGrid?-(e.height/2-7):-10:0),d=m(()=>{let c=ce("g#PGXAxis"),k=ce("g#PgUnit");return c.selectAll("*").remove(),k.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(P,z)=>z>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),k.append("text").attr("x",0).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",Bt).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=m(()=>{let c=ce("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(o.value):c.call(r.value),c.selectAll(".tick > text").attr("fill",(k,P)=>P>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),p=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=ce("g#PGXAxis"),k=ce("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Je.value.range(Ye.value),c.call(s.value),k.call(o.value)):(Be.value.range(Ye.value),c.call(t.value),k.call(r.value))}return"zoomed"});return(c,k)=>(l(),f(U,null,[(l(),f("svg",{x:"0",width:e.width},[n("g",{id:"PgUnit",transform:"translate(0,"+(c.height/2+9)+")"},null,8,yr)],8,vr)),(l(),f("svg",{x:0,width:e.width},[n("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[n("g",{id:"PGXAxis",class:"axis",origin:d.value,origin2:p.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,wr),n("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+10)+")"},null,8,kr),i(g).showGrid?(l(),f("g",xr,[n("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Sr)])):w("",!0),i(g).showGrid?(l(),f("g",Mr,[n("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,$r)])):w("",!0)],8,_r)],8,br))],64))}}),Cr=["width"],Ir=["id",".origin","d"],Br=["id","d","stroke"],Vr=["x","y","text-anchor"],Vt=L({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=m(()=>{let P=Ve(y.data,z=>z.date);return P[0]&&P[1]?et().domain(P).range([0,e.width]):et().range([0,0])}),r=m(()=>He().range([e.height-10,0]).domain([0,100])),s=m(()=>{let z=Ne().x(D=>t.value(D.date)).y(D=>r.value(e.order==2?D.batSoc:e.order==0?D["soc"+me.value[0]]:D["soc"+me.value[1]])??r.value(0))(y.data);return z||""}),o=m(()=>e.order),h=m(()=>{switch(e.order){case 2:return"Speicher";case 1:return N[me.value[1]]!=null?N[me.value[1]].name:"???";default:return N[me.value[0]]!=null?N[me.value[0]].name:"???"}}),d=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=m(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),p=m(()=>{if(y.data.length>0){let P;switch(e.order){case 0:return P=0,r.value(y.data[P]["soc"+me.value[0]]+2);case 1:return P=y.data.length-1,Math.max(12,r.value(y.data[P]["soc"+me.value[1]]+2));case 2:return P=Math.round(y.data.length/2),r.value(y.data[P].batSoc+2);default:return 0}}else return 0}),c=m(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const P=ce("path#soc-"+o.value),z=ce("path#socdashes-"+o.value);t.value.range(Ye.value);const D=Ne().x(B=>t.value(B.date)).y(B=>r.value(e.order==2?B.batSoc:e.order==1?B["soc"+me.value[0]]:B["soc"+me.value[1]])??r.value(0));P.attr("d",D(y.data)),z.attr("d",D(y.data))}return"zoomed"});return(P,z)=>(l(),f("svg",{x:"0",width:e.width},[n("g",null,[n("path",{id:"soc-"+o.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Ir),n("path",{id:"socdashes-"+o.value,class:"soc-dashes",d:s.value,stroke:d.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,Br),n("text",{class:"cpname",x:u.value,y:p.value,style:ee({fill:d.value,fontSize:10}),"text-anchor":c.value},S(h.value),13,Vr)])],8,Cr))}}),Lr=["transform"],Or=L({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>He().range([e.height-10,0]).domain([0,100])),r=m(()=>Ya(t.value).ticks(5).tickFormat(o=>o.toString()+"%"));function s(){let o=ce("g#PGSocAxis");o.call(r.value),o.selectAll(".tick").attr("font-size",12),o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)")}return Le(()=>{s()}),(o,h)=>(l(),f("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(o.width-20)+",0)"},null,8,Lr))}}),Ar={class:"d-flex align-self-top justify-content-center align-items-center"},Tr={class:"input-group input-group-xs"},Er={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zr={class:"dropdown-menu"},Wr={class:"table optiontable"},Dr=["onClick"],Gr={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},jr={class:"dropdown-menu"},Ur={class:"table optiontable"},Fr=["onClick"],Nr={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Hr={class:"dropdown-menu"},Rr={class:"table optiontable"},Jr=["onClick"],Yr=L({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=new Date().getFullYear();let s=Array.from({length:10},(z,D)=>r-D);const o=X(!0),h=e,d=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=X(t.modelValue.getDate()),p=X(t.modelValue.getMonth()),c=X(t.modelValue.getFullYear()),k=m(()=>{const D=new Date(c.value,p.value,1).getDay();let B=0;switch(p.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:B=31;break;case 4:case 6:case 9:case 11:B=30;break;case 2:Math.trunc(c.value/4)*4==c.value?B=29:B=28}let A=[],V=[0,0,0,0,0,0,0],Y=D;for(let I=0;I(l(),f("span",Ar,[n("div",Tr,[t.mode=="day"||t.mode=="today"?(l(),f("button",Er,S(u.value),1)):w("",!0),n("div",zr,[n("table",Wr,[(l(!0),f(U,null,te(k.value,(B,A)=>(l(),f("tr",{key:A,class:""},[(l(!0),f(U,null,te(B,(V,Y)=>(l(),f("td",{key:Y},[V!=0?(l(),f("span",{key:0,type:"button",class:"btn optionbutton",onClick:I=>u.value=V},S(V),9,Dr)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),f("button",Gr,S(p.value+1),1)):w("",!0),n("div",jr,[n("table",Ur,[(l(),f(U,null,te(d,(B,A)=>n("tr",{key:A,class:""},[(l(!0),f(U,null,te(B,(V,Y)=>(l(),f("td",{key:Y,class:"p-0 m-0"},[n("span",{type:"button",class:"btn btn-sm optionbutton",onClick:I=>p.value=V},S(V+1),9,Fr)]))),128))])),64))])]),t.mode!="live"?(l(),f("button",Nr,S(c.value),1)):w("",!0),n("div",Hr,[n("table",Rr,[(l(!0),f(U,null,te(i(s),(B,A)=>(l(),f("tr",{key:A,class:""},[n("td",null,[n("span",{type:"button",class:"btn optionbutton",onClick:V=>c.value=B},S(B),9,Jr)])]))),128))])]),t.mode!="live"?(l(),f("button",{key:3,class:"button-outline-secondary",type:"button",onClick:P},D[0]||(D[0]=[n("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),R=(a,e)=>{const t=a.__vccOpts||a;for(const[r,s]of e)t[r]=s;return t},qr=R(Yr,[["__scopeId","data-v-98690e5d"]]),Qr={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Zr=["id","value"],Xr=L({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){let u=t.options[d].color?t.options[d].color:"var(--color-fg)";return t.options[d].active?{color:"var(--color-bg)",background:u}:{color:u}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[n("div",Qr,[(l(!0),f(U,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p.value,key:c,class:J(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",p.value==s.value?"active":""]),value:p.value,style:ee(o(c)),onClick:h},[n("span",{style:ee(o(c))},[p.icon?(l(),f("i",{key:0,class:J(["fa-solid",p.icon])},null,2)):w("",!0),H(" "+S(p.text),1)],4)],14,Zr))),128))])]))}}),Oa=R(Xr,[["__scopeId","data-v-82ab6829"]]),Kr=L({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=X(0),r=m(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${ge.duration} min`;case"today":return"heute";case"day":return ue.date.getDate()+"."+(ue.date.getMonth()+1)+".";case"month":return Fn(Ee.month-1,Ee.year);case"year":return Re.year.toString();default:return"???"}}),s=["live","today","day","month","year"],o=["Live","Heute","Tag","Monat","Jahr"],h=m({get(){return y.graphMode},set(Y){switch(Y){case"day":k();break;case"today":P();break;case"live":c();break;case"month":z();break;case"year":D()}}}),d=m(()=>{switch(y.graphMode){case"live":case"today":return ue.getDate();case"month":return Ee.getDate();default:return ue.getDate()}});function u(Y){da(Y)}function p(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",fe())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",fe())}function P(){y.graphMode!="today"&&(y.graphMode="today",da(new Date),fe())}function z(){y.graphMode!="month"&&(y.graphMode="month",fe())}function D(){y.graphMode!="year"&&(y.graphMode="year",fe())}const B=m(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),A=m(()=>t.value==1?"justify-content-between":"justify-content-end"),V=m(()=>t.value==1?"justify-content-between":"justify-content-center");return(Y,I)=>(l(),f("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:ee(B.value)},[t.value==2?(l(),$(Oa,{key:0,id:"pgm2",modelValue:h.value,"onUpdate:modelValue":I[0]||(I[0]=M=>h.value=M),class:"m-2",options:s.map((M,E)=>({text:o[E],value:M,color:"var(--color-menu)",active:M==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),f("span",{key:1,type:"button",class:J(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:I[1]||(I[1]=M=>Y.$emit("shiftUp"))},I[6]||(I[6]=[n("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),n("div",{class:J(["d-flex align-items-center",V.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:J(["p-1",{disabled:!e.showLeftButton}]),onClick:I[2]||(I[2]=M=>Y.$emit("shiftLeft"))},I[7]||(I[7]=[n("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),f("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:p},S(r.value),1)):w("",!0),t.value==2?(l(),$(qr,{key:2,"model-value":d.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),f("span",{key:3,id:"graphRightButton",type:"button",class:J(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:I[3]||(I[3]=M=>Y.$emit("shiftRight"))},null,2)):w("",!0)],2),n("div",{class:J(["d-flex align-items-center",A.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:"p-1",onClick:p},I[8]||(I[8]=[n("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),f("span",{key:1,id:"graphLeftButton",type:"button",class:J(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:I[4]||(I[4]=M=>Y.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),f("span",{key:2,type:"button",class:"p-1",onClick:I[5]||(I[5]=M=>t.value=0)},I[9]||(I[9]=[n("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),na=R(Kr,[["__scopeId","data-v-d75ec1a4"]]),eo=["x","fill"],to=["x"],Ce=L({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,r)=>(l(),f(U,null,[t.power>0?(l(),f("tspan",{key:0,x:t.indent,dy:"1.3em",class:J(t.name?"":"fas"),fill:i(ie)[t.cat].color},S(t.name?t.name:i(ie)[t.cat].icon)+"   ",11,eo)):w("",!0),n("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),$(bt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,to)],64))}}),ao=["transform"],no=["width","height"],ro={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},oo=["x"],so=L({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=m(()=>Object.values(e.entry).filter(u=>u>0).length),r=m(()=>t.value*16),s=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("pv")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Wechselr.",id:u}))),o=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("cp")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Ladep.",id:u}))),h=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("sh")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Fe.value.get(u)?d(Fe.value.get(u)):"Gerät",id:u})));function d(u){return u.length>6?u.slice(0,6)+"...":u}return(u,p)=>(l(),f("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[n("rect",{rx:"5",width:u.boxwidth,height:r.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,no),n("text",ro,[n("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},S(i(st)("%H:%M")(new Date(u.entry.date))),9,oo),p[0]||(p[0]=n("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),v(Ce,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(U,null,te(s.value,c=>(l(),$(Ce,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ce,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(U,null,te(o.value,c=>(l(),$(Ce,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ce,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(U,null,te(h.value,c=>(l(),$(Ce,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ce,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),v(Ce,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,ao))}}),io=["origin","transform"],lo=["x","height","width"],ga=140,co=L({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right]):et().range([0,0])}),r=m(()=>{const o=Ve(e.data,h=>new Date(h.date));return o[0]&&o[1]?Ft().domain(o).range([0,e.width-e.margin.right-ga]):et().range([0,0])}),s=m(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(Ye.value),ce("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(o,h)=>e.data.length>h?t.value(e.data[h].date):0).attr("width",e.data.length>0?(Ye.value[1]-Ye.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(o,h)=>(l(),f("g",{id:"pgToolTips",origin:s.value,transform:"translate("+o.margin.left+","+o.margin.top+")"},[(l(!0),f(U,null,te(o.data,d=>(l(),f("g",{key:d.date,class:"ttarea"},[n("rect",{x:t.value(d.date),y:"0",height:o.height,class:"ttrect",width:i(y).data.length>0?o.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,lo),v(so,{entry:d,boxwidth:ga,"x-scale":r.value},null,8,["entry","x-scale"])]))),128))],8,io))}}),uo={class:"d-flex justify-content-end"},ho={id:"powergraphFigure",class:"p-0 m-0"},po=["viewBox"],go=["transform"],mo=["x","y"],fo=2,vo="Leistung / Ladestand ",yo=L({__name:"PowerGraph",setup(a){function e(){let h=g.usageStackOrder+1;h>fo&&(h=0),g.usageStackOrder=h,xn(!0)}function t(h){const d=[[0,G.top],[be,Me-G.top]];h.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[be,Me]]).extent(d).filter(s).on("zoom",r))}function r(h){Ia.value=h.transform}function s(h){return h.preventDefault(),(!h.ctrlKey||h.type==="wheel")&&!h.button}function o(){g.zoomedWidget=1,g.zoomGraph=!g.zoomGraph}return Le(()=>{const h=ce("svg#powergraph");t(h)}),(h,d)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(vo))]),buttons:_(()=>[n("div",uo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:o},d[0]||(d[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[vt(n("figure",ho,[(l(),f("svg",{id:"powergraph",class:"powergraphSvg",viewBox:"0 0 "+i(be)+" "+i(Me)},[v(gr,{width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"]),v(fr,{width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),"stack-order":i(g).usageStackOrder},null,8,["width","height","margin","stack-order"]),v(Pr,{width:i(be)-i(G).left-i(G).right,height:i(Me)-i(G).top-i(G).bottom,margin:i(G)},null,8,["width","height","margin"]),n("g",{transform:"translate("+i(G).left+","+i(G).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(N)).filter(u=>u.visible).length>0?(l(),$(Vt,{key:0,width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(N)).filter(u=>u.visible).length>1?(l(),$(Vt,{key:1,width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(de).isBatteryConfigured?(l(),$(Vt,{key:2,width:i(be)-i(G).left-2*i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),$(Or,{key:3,width:i(be)-i(G).left-i(G).right,height:(i(Me)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"])):w("",!0)],8,go),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),$(co,{key:0,width:i(be)-i(G).left-i(G).right,height:i(Me)-i(G).top-i(G).bottom,margin:i(G),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),n("g",{id:"button",type:"button",onClick:e},[n("text",{x:i(be)-10,y:i(Me)-10,color:"var(--color-menu)","text-anchor":"end"},d[1]||(d[1]=[n("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},S(""),-1)]),8,mo)])],8,po))],512),[[qa,i(y).data.length>0]])]),_:1}))}}),bo=R(yo,[["__scopeId","data-v-47f3d429"]]),_o=["id"],wo=["x","width","height","fill"],ko=["x","width","height"],xo=["x","y","width","height"],So=L({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[n("rect",{class:"bar",x:e.xScale(o.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:o.item.color},null,8,wo),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:r.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,ko),n("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:r.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,xo)],8,_o))}}),Mo={id:"emBargraph"},$o=L({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="day"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="day"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return Math.round((p+c-d-k)/(p+c+u-d-k)*100)}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Mo,[(l(!0),f(U,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(So,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),o[0]||(o[0]=n("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),Po=["origin"],Co=L({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=m(()=>ft(e.yScale).tickFormat(o=>s(o)).ticks(6).tickSizeInner(-e.width)),r=m(()=>{const o=ce("g#emYAxis");return o.attr("class","axis").call(t.value),o.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),o.selectAll(".tick").attr("font-size",e.fontsize),g.showGrid?o.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(o){return o>0?y.graphMode=="year"?(o/1e6).toString():(o/1e3).toString():""}return(o,h)=>(l(),f("g",{id:"emYAxis",class:"axis",origin:r.value},null,8,Po))}}),Io=["id"],Bo=["x","y","font-size"],Vo=["x","y","font-size","fill"],Lo=["x","y","font-size","fill"],Oo=L({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),r=m(()=>{let u=16,p=e.barcount;return p<=5?u=16:p==6?u=14:p>6&&p<=8?u=13:p==9?u=11:p==10?u=10:u=9,u}),s=m(()=>{let u=12,p=e.barcount;return p<=5?u=12:p==6?u=11:p>6&&p<=8||p==9?u=8:p==10?u=7:u=6,u});function o(u,p){return p.length>s.value?p.substring(0,s.value)+".":p}function h(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function d(){return"var(--color-pv)"}return(u,p)=>(l(),f("g",{id:"barlabel-"+e.item.name},[n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":r.value,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(u.item.energy,i(g).decimalPlaces,!1)),9,Bo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":r.value-2,"text-anchor":"middle",fill:d()},S(h()),9,Vo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":r.value,"text-anchor":"middle",fill:u.item.color,class:J(u.item.icon.length<=2?"fas":"")},S(o(u.item.name,u.item.icon)),11,Lo)],8,Io))}}),Ao={id:"emBarLabels"},To=L({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",Ao,[(l(!0),f(U,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(Oo,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":r(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Eo={class:"d-flex justify-content-end"},zo={id:"energymeter",class:"p-0 m-0"},Wo={viewBox:"0 0 500 500"},Do=["transform"],Go=["x"],jo={key:0},ma=500,Lt=500,fa=12,Uo="Energie",Fo=L({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=m(()=>{let u=Object.values(Q),p=o.value;const c=T.items;let k=[];switch(g.debug&&h(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(p);break;case"day":case"month":case"year":Object.values(c).length==0?qe.value=!0:(qe.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(P=>{c["cp"+P]&&k.push(c["cp"+P])}),k.push(c.devices),ne.forEach((P,z)=>{P.showInGraph&&c["sh"+z]&&k.push(c["sh"+z])}),k=k.concat([c.batIn,c.house]))}return k.filter(P=>P.energy&&P.energy>0)}),r=m(()=>St().range([0,ma-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=m(()=>He().range([Lt-e.bottom-e.top,15]).domain([0,Sa(t.value,u=>u.energy)])),o=m(()=>{const u=Object.values(O).length,p=[...ne.values()].filter(k=>k.configured).length;let c=j;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(p>1?[...ne.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([j.batIn,j.house])]});function h(){console.debug(["source summary:",Q]),console.debug(["usage details:",o.value]),console.debug(["historic summary:",T])}function d(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(u,p)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(Uo))]),buttons:_(()=>[n("div",Eo,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:d},p[0]||(p[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",zo,[(l(),f("svg",Wo,[n("g",{transform:"translate("+e.left+","+e.top+")"},[v($o,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e},null,8,["plotdata","x-scale","y-scale"]),v(Co,{"y-scale":s.value,width:ma,fontsize:fa,config:i(g)},null,8,["y-scale","config"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":fa},S(i(y).graphMode=="year"?"MWh":"kWh"),9,Go),v(To,{plotdata:t.value,"x-scale":r.value,"y-scale":s.value,height:Lt,margin:e,config:i(g)},null,8,["plotdata","x-scale","y-scale","config"])],8,Do)]))]),i(qe)?(l(),f("p",jo,"No data")):w("",!0)]),_:1}))}}),No=R(Fo,[["__scopeId","data-v-32c82102"]]),Ho=["id"],Ro=["y","width","fill"],Jo=["y","width"],Yo=["y","x","width"],qo=L({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=m(()=>e.xScale(e.item.energy)),r=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.xScale(e.item.energyPv)),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.xScale(e.item.energyBat)),o>t.value&&(o=t.value),o});return(o,h)=>(l(),f("g",{id:`bar-${e.item.name}`},[n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:o.item.color},null,8,Ro),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:r.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Jo),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:r.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,Yo)],8,Ho))}}),Qo={id:"emBargraph"},Zo=L({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,r)=>(l(),f("g",Qo,[(l(!0),f(U,null,te(e.plotdata,(s,o)=>(l(),f("g",{key:o},[v(qo,{id:o.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Xo=["id"],Ko=["y","x","fill"],es=["y","x"],ts=["y","x","font-size"],Ot=24,as=L({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.yscale(e.id)+e.itemHeight/3);function r(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(o){return o.length>14?o.slice(0,13)+"...":o}return(o,h)=>(l(),f("g",{id:"barlabel-"+e.id},[n("text",{y:t.value,x:e.margin.left,"font-size":Ot,"text-anchor":"start",fill:o.item.color,class:J(o.item.icon.length<=2?"fas":"")},S(s(e.item.icon)),11,Ko),n("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Ot,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ct)(o.item.energy,i(g).decimalPlaces,!1)),9,es),n("text",{y:t.value,x:e.width-e.margin.right,"font-size":Ot-2,"text-anchor":"end",fill:"var(--color-pv)"},S(r()),9,ts)],8,Xo))}}),ns={id:"emBarLabels"},rs=L({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function r(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),f("g",ns,[(l(!0),f(U,null,te(e.plotdata,(h,d)=>(l(),f("g",{key:d},[v(as,{id:d.toString(),item:h,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":r(h),autarchy:t(h)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class os{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class ss{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}le(new ss);const he=X(new Map),Aa=a=>{he.value.set(a,new os(a)),he.value.get(a).color=ie["bat"+he.value.size].color};function is(){he.value=new Map}const ls={class:"d-flex justify-content-end"},cs={id:"energymeter",class:"p-0 m-0"},us=["viewBox"],ds=["transform"],hs=["x"],ps={key:0},va=500,At=60,gs=12,ms="Energie",fs=L({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=m(()=>r.value.length*At+e.top+e.bottom),r=m(()=>{let c=Object.values(Q),k=h.value;const P=T.items;let z=[];switch(g.debug&&u(),lt.value==!0&&(lt.value=!1),y.graphMode){default:case"live":case"today":z=d(c).concat(k);break;case"day":case"month":case"year":Object.values(P).length==0?qe.value=!0:(qe.value=!1,z=[P.evuIn,P.pv,P.evuOut,P.batOut,P.charging],Object.values(O).length>1&&Object.keys(O).forEach(D=>{P["cp"+D]&&z.push(P["cp"+D])}),z.push(P.devices),ne.forEach((D,B)=>{D.showInGraph&&P["sh"+B]&&z.push(P["sh"+B])}),z=z.concat([P.batIn,P.house]))}return z.filter(D=>D.energy&&D.energy>0)}),s=m(()=>He().range([0,va-e.left-e.right]).domain([0,Sa(r.value,c=>c.energy)])),o=m(()=>St().range([e.top,t.value-e.bottom]).domain(r.value.map((c,k)=>k.toString())).padding(.1)),h=m(()=>{const c=Object.values(O).length,k=[...ne.values()].filter(z=>z.configured).length;let P=j;return[...[P.evuOut,P.charging].concat(c>1?Object.values(O).map(z=>z.toPowerItem()):[]),...[P.devices].concat(k>1?[...ne.values()].filter(z=>z.configured&&z.showInGraph):[]).concat([j.batIn,j.house])]});function d(c){let k=0;return we.value.size>1&&we.value.forEach(P=>{c.splice(2+k++,0,{name:P.name,power:P.power,energy:P.energy,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),he.value.size>1&&he.value.forEach(P=>{c.splice(3+k++,0,{name:P.name,power:P.power,energy:P.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",Q]),console.debug(["usage details:",h.value]),console.debug(["historic summary:",T])}function p(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(c,k)=>(l(),$(_t,{"full-width":!0},{title:_(()=>[H(S(ms))]),buttons:_(()=>[n("div",ls,[v(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(Kt),onShiftUp:i(ea),onShiftDown:i(ta)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:p},k[0]||(k[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",cs,[(l(),f("svg",{viewBox:"0 0 500 "+t.value},[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Zo,{plotdata:r.value,xscale:s.value,yscale:o.value,"item-height":At},null,8,["plotdata","xscale","yscale"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":gs},S(i(y).graphMode=="year"?"MWh":"kWh"),9,hs),v(rs,{plotdata:r.value,yscale:o.value,width:va,"item-height":At,margin:e},null,8,["plotdata","yscale"])],8,ds)],8,us))]),i(qe)?(l(),f("p",ps,"No data")):w("",!0)]),_:1}))}}),vs=R(fs,[["__scopeId","data-v-63a4748e"]]),ys={class:"d-flex flex-column align-items-center justify-content-start infoitem"},bs=L({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),r=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=m(()=>e.small?"mt-0":"mt-1");return(o,h)=>(l(),f("span",ys,[n("span",{class:J(["d-flex heading",s.value]),style:ee(t.value)},S(e.heading),7),n("span",{class:"d-flex my-0 me-0 align-items-center content",style:ee(r.value)},[pe(o.$slots,"default",{},void 0,!0)],4)]))}}),K=R(bs,[["__scopeId","data-v-f6af00e8"]]),_s={class:"d-flex justify-content-between align-items-center titlerow"},ws={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ks={class:"contentrow grid-col-12"},xs=L({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=m(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),r=m(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,o)=>(l(),f("div",{class:J(["wb-subwidget px-3 pt-2 my-0",r.value])},[n("div",_s,[n("div",{class:"d-flex widgetname p-0 m-0",style:ee(t.value)},[pe(s.$slots,"title",{},void 0,!0)],4),n("div",ws,[pe(s.$slots,"buttons",{},void 0,!0)])]),n("div",ks,[pe(s.$slots,"default",{},void 0,!0)])],2))}}),tt=R(xs,[["__scopeId","data-v-e989060d"]]),Ss={class:"grid-col-12 mt-2 mb-0 px-0 py-0 configitem"},Ms={class:"titlecolumn m-0 p-0 d-flex align-items-center"},$s={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},Ps={class:"justify-content-stretch d-flex"},Cs=L({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=X(!1);function r(){t.value=!t.value}const s=m(()=>{let o={color:"var(--color-charging)"};return t.value&&(o.color="var(--color-battery)"),o});return(o,h)=>(l(),$(tt,{fullwidth:!!o.fullwidth},{default:_(()=>[n("div",Ss,[n("div",Ms,[n("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:r},[e.icon?(l(),f("i",{key:0,class:J(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),H(" "+S(o.title),1)]),n("span",null,[e.infotext?(l(),f("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:ee(s.value),onClick:r},null,4)):w("",!0)])]),t.value?(l(),f("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:r},[h[0]||(h[0]=n("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),H(" "+S(o.infotext),1)])):w("",!0),n("div",$s,[n("span",Ps,[pe(o.$slots,"default",{},void 0,!0)])])])]),_:3},8,["fullwidth"]))}}),F=R(Cs,[["__scopeId","data-v-b935eb33"]]),Is={class:"d-flex flex-column"},Bs={class:"d-flex flex-fill justify-content-between align-items-center"},Vs={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},Ls={key:0,id:"rangeIndicator",class:"rangeIndicator"},Os={viewBox:"0 0 100 2"},As=["width"],Ts=["x","width"],Es=["x","width"],zs=["id","min","max","step"],Ws={class:"d-flex justify-content-between align-items-center"},Ds={class:"minlabel ps-4"},Gs={class:"valuelabel"},js={class:"maxlabel pe-4"},Us=L({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=t.decimals??0,s=e,o=m({get(){return Math.round(t.modelValue*Math.pow(10,r))/Math.pow(10,r)},set(k){s("update:modelValue",k)}});function h(){o.value>t.min&&(o.value=Math.round((o.value-t.step)*Math.pow(10,r))/Math.pow(10,r))}function d(){o.valueHe().domain([t.min,t.max]).range([0,100])),p=m(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=m(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,P)=>(l(),f("span",Is,[n("span",Bs,[n("span",{type:"button",class:"minusButton",onClick:h},P[1]||(P[1]=[n("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),n("div",Vs,[t.showSubrange?(l(),f("figure",Ls,[(l(),f("svg",Os,[n("g",null,[n("rect",{class:"below",x:0,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,As),n("rect",{class:"bar",x:p.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Ts),n("rect",{class:"above",x:p.value+c.value,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Es)])]))])):w("",!0),vt(n("input",{id:k.id,"onUpdate:modelValue":P[0]||(P[0]=z=>o.value=z),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,zs),[[Za,o.value,void 0,{number:!0}]])]),n("span",{type:"button",class:"plusButton",onClick:d},P[2]||(P[2]=[n("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),n("span",Ws,[n("span",Ds,S(k.min),1),n("span",Gs,S(o.value)+" "+S(k.unit),1),n("span",js,S(k.max),1)])]))}}),Se=R(Us,[["__scopeId","data-v-267ede95"]]),Fs=["id","value"],Ns=L({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(d){r("update:modelValue",d)}});function o(d){return t.options[d][2]?{color:t.options[d][2]}:{color:"var(--color-fg)"}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),f("div",null,[(l(!0),f(U,null,te(d.options,(p,c)=>(l(),f("button",{id:"radio-"+p[1],key:c,class:J(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",p[1]==s.value?"active":""]),value:p[1],style:ee(o(c)),onClick:h},[n("span",{style:ee(o(c))},[p[3]?(l(),f("i",{key:0,class:J(["fa-solid",p[3]])},null,2)):w("",!0),H(" "+S(p[0]),1)],4)],14,Fs))),128))]))}}),We=R(Ns,[["__scopeId","data-v-df222cbe"]]),Hs={class:"mt-2"},Rs={key:0},Js=L({__name:"CPConfigInstant",props:{chargepoint:{}},setup(a){const t=X(a.chargepoint),r=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],s=m({get(){return t.value.instantMaxEnergy/1e3},set(o){t.value.instantMaxEnergy=o*1e3}});return(o,h)=>(l(),f("div",Hs,[h[4]||(h[4]=n("p",{class:"heading ms-1"},"Sofortladen:",-1)),v(F,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[v(Se,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":h[0]||(h[0]=d=>t.value.instantTargetCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),f("hr",Rs)):w("",!0),v(F,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(We,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":h[1]||(h[1]=d=>t.value.instantChargeLimitMode=d),options:r.map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),$(F,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Se,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":h[2]||(h[2]=d=>t.value.instantTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),$(F,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(Se,{id:"maxEnergy",modelValue:s.value,"onUpdate:modelValue":h[3]||(h[3]=d=>s.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ys=R(Js,[["__scopeId","data-v-0303d179"]]),qs={class:"form-check form-switch"},se=L({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(h){r("update:modelValue",h)}}),o=m(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(h,d)=>(l(),f("div",qs,[vt(n("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:ee(o.value)},null,4),[[Ma,s.value]])]))}}),Qs={class:"pt-2"},Zs={key:3},Xs=L({__name:"CPConfigPv",props:{chargepoint:{}},setup(a){const t=X(a.chargepoint),r=m({get(){return t.value.pvMinCurrent>5},set(h){h?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),s=m({get(){return t.value.pvMinSoc>0},set(h){h?t.value.pvMinSoc=50:t.value.pvMinSoc=0}}),o=m({get(){return t.value.pvMaxSoc<=100},set(h){h?t.value.pvMaxSoc=100:t.value.pvMaxSoc=101}});return(h,d)=>(l(),f("div",Qs,[d[8]||(d[8]=n("p",{class:"heading ms-1"},"PV-Laden:",-1)),v(F,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(se,{id:"limitSoc",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u)},null,8,["modelValue"])]),_:1}),o.value?(l(),$(F,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[v(Se,{id:"maxSoc",modelValue:t.value.pvMaxSoc,"onUpdate:modelValue":d[1]||(d[1]=u=>t.value.pvMaxSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),v(F,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(se,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":d[2]||(d[2]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1}),v(F,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Te).minsoc,fullwidth:!0},{default:_(()=>[v(se,{modelValue:s.value,"onUpdate:modelValue":d[3]||(d[3]=u=>s.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),s.value?(l(),$(F,{key:1,title:"...bis SoC",fullwidth:!0},{info:_(()=>[H(S(i(Te).minsoc),1)]),default:_(()=>[v(Se,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":d[4]||(d[4]=u=>t.value.pvMinSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),s.value?(l(),$(F,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:_(()=>[v(Se,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":d[5]||(d[5]=u=>t.value.pvMinSocCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0),r.value||s.value?(l(),f("hr",Zs)):w("",!0),v(F,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Te).minpv,fullwidth:!0},{default:_(()=>[v(se,{modelValue:r.value,"onUpdate:modelValue":d[6]||(d[6]=u=>r.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),r.value?(l(),$(F,{key:4,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:_(()=>[v(Se,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":d[7]||(d[7]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ks=R(Xs,[["__scopeId","data-v-faa69015"]]),ei={class:"table table-borderless"},ti={class:"tablecell"},ai={class:"tablecell"},ni={class:"tablecell"},ri={class:"tablecell"},oi={class:"tablecell left"},si=["href"],ii=L({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>{let d=[];return pt[t.chargeTemplateId]&&(d=Object.values(pt[t.chargeTemplateId])),d});function s(d){return r.value[d].time}function o(d){return{color:r.value[d].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function h(d){return{"font-weight":r.value[d].active?"bold":"regular"}}return(d,u)=>(l(),f(U,null,[u[1]||(u[1]=n("p",{class:"heading ms-1 pt-2"},"Zielladen:",-1)),n("table",ei,[u[0]||(u[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Ziel"),n("th",{class:"tableheader"},"Limit"),n("th",{class:"tableheader"},"Zeit"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader"})])],-1)),n("tbody",null,[(l(!0),f(U,null,te(r.value,(p,c)=>(l(),f("tr",{key:c,style:ee(h(c))},[n("td",ti,S(p.limit.soc_scheduled)+"%",1),n("td",ai,S(p.limit.soc_limit)+"%",1),n("td",ni,S(s(c)),1),n("td",ri,S(e[p.frequency.selected]),1),n("td",oi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:J([p.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:ee(o(c)),type:"button"},null,6)],8,si)])],4))),128))])])],64))}}),li=R(ii,[["__scopeId","data-v-e8f5ad9d"]]),ci={class:"table table-borderless"},ui={class:"tablecell"},di={class:"tablecell"},hi={class:"tablecell"},pi={class:"tablecell"},gi={class:"tablecell left"},mi=["href"],fi=L({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,r=m(()=>gt[t.chargeTemplateId]?Object.values(gt[t.chargeTemplateId])??[]:[]);function s(h){return{color:r.value[h].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function o(h){return{"font-weight":r.value[h].active?"bold":"regular"}}return(h,d)=>(l(),f(U,null,[d[1]||(d[1]=n("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),n("table",ci,[d[0]||(d[0]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader"},"Von"),n("th",{class:"tableheader"},"Bis"),n("th",{class:"tableheader"},"Ladestrom"),n("th",{class:"tableheader"},"Wiederholung"),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(U,null,te(r.value,(u,p)=>(l(),f("tr",{key:p,style:ee(o(p))},[n("td",ui,S(u.time[0]),1),n("td",di,S(u.time[1]),1),n("td",hi,S(u.current)+" A",1),n("td",pi,S(e[u.frequency.selected]),1),n("td",gi,[n("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[n("span",{class:J([u.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:ee(s(p)),type:"button"},null,6)],8,mi)])],4))),128))])])],64))}}),vi=R(fi,[["__scopeId","data-v-192e287b"]]),yi={class:"settingsheader mt-2 ms-1"},bi=L({__name:"CPConfigVehicle",props:{vehicleId:{}},setup(a){const e=a;return(t,r)=>(l(),f(U,null,[n("p",yi," Profile für "+S(i(N)[e.vehicleId].name)+": ",1),v(F,{title:"Ladeprofil",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(N)[e.vehicleId].chargeTemplateId,"onUpdate:modelValue":r[0]||(r[0]=s=>i(N)[e.vehicleId].chargeTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(_e)).map(s=>[i(_e)[+s].name,s])},null,8,["modelValue","options"])]),_:1}),v(F,{title:"Fahrzeug-Vorlage",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(N)[e.vehicleId].evTemplateId,"onUpdate:modelValue":r[1]||(r[1]=s=>i(N)[e.vehicleId].evTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(Ht)).map(s=>[i(Ht)[+s].name,s])},null,8,["modelValue","options"])]),_:1})],64))}}),_i=R(bi,[["__scopeId","data-v-fcb57a44"]]),wi={class:"settingsheader mt-2 ms-1"},ki=L({__name:"CPChargeConfig",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(r,s)=>(l(),f(U,null,[n("p",wi," Ladeeinstellungen für "+S(i(t).vehicleName)+": ",1),v(F,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Te).chargemode,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=o=>i(t).chargeMode=o),options:Object.keys(i(ye)).map(o=>[i(ye)[o].name,o,i(ye)[o].color,i(ye)[o].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(F,{title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Te).vehicle,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=o=>i(t).connectedVehicle=o),modelModifiers:{number:!0},options:Object.values(i(N)).filter(o=>o.visible).map(o=>[o.name,o.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),v(F,{title:"Sperren",icon:"fa-lock",infotext:i(Te).locked,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=o=>i(t).isLocked=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(F,{title:"Priorität",icon:"fa-star",infotext:i(Te).priority,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=o=>i(t).hasPriority=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(F,{title:"Zeitplan",icon:"fa-clock",infotext:i(Te).timeplan,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=o=>i(t).timedCharging=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(de).isBatteryConfigured?(l(),$(F,{key:0,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Te).pvpriority,fullwidth:!0},{default:_(()=>[v(We,{modelValue:i(de).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=o=>i(de).pvBatteryPriority=o),options:i(cn)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),i(oe).active?(l(),$(F,{key:1,title:"Strompreisbasiert laden",icon:"fa-money-bill",infotext:i(Te).pricebased,fullwidth:!0},{default:_(()=>[v(se,{modelValue:i(t).etActive,"onUpdate:modelValue":s[6]||(s[6]=o=>i(t).etActive=o)},null,8,["modelValue"])]),_:1},8,["infotext"])):w("",!0)],64))}}),xi=R(ki,[["__scopeId","data-v-e348a34c"]]),Si={class:"providername ms-1"},Mi={class:"container"},$i={id:"pricechart",class:"p-0 m-0"},Pi={viewBox:"0 0 400 300"},Ci=["id","origin","transform"],Ii={key:0,class:"p-3"},Bi={key:1,class:"d-flex justify-content-end"},Vi=["disabled"],at=400,ya=250,ba=12,Li=L({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?X(e.chargepoint.etMaxPrice):X(0);const r=X(!1),s=X(e.chargepoint),o=m({get(){return t.value},set(W){t.value=W,r.value=!0}});function h(){s.value&&(O[s.value.id].etMaxPrice=o.value),r.value=!1}const d=X(!1),u={top:0,bottom:15,left:20,right:5},p=m(()=>{let W=[];return oe.etPriceList.size>0&&oe.etPriceList.forEach((Z,Oe)=>{W.push([Oe,Z])}),W}),c=m(()=>p.value.length>1?(at-u.left-u.right)/p.value.length-1:0),k=m(()=>r.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),P=m(()=>{let W=Ve(p.value,Z=>Z[0]);return W[1]&&(W[1]=new Date(W[1]),W[1].setTime(W[1].getTime()+36e5)),et().range([u.left,at-u.right]).domain(W)}),z=m(()=>{let W=[0,0];return p.value.length>0?(W=Ve(p.value,Z=>Z[1]),W[0]=Math.floor(W[0]-1),W[1]=Math.floor(W[1]+1)):W=[0,0],W}),D=m(()=>He().range([ya-u.bottom,0]).domain(z.value)),B=m(()=>{const W=Ne(),Z=[[u.left,D.value(o.value)],[at-u.right,D.value(o.value)]];return W(Z)}),A=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.lowerPriceBound)],[at-u.right,D.value(g.lowerPriceBound)]];return W(Z)}),V=m(()=>{const W=Ne(),Z=[[u.left,D.value(g.upperPriceBound)],[at-u.right,D.value(g.upperPriceBound)]];return W(Z)}),Y=m(()=>{const W=Ne(),Z=[[u.left,D.value(0)],[at-u.right,D.value(0)]];return W(Z)}),I=m(()=>ht(P.value).ticks(6).tickSize(5).tickFormat(st("%H:%M"))),M=m(()=>ft(D.value).ticks(z.value[1]-z.value[0]).tickSizeInner(-375).tickFormat(W=>W.toString())),E=m(()=>{d.value==!0;const W=ce("g#"+C.value);W.selectAll("*").remove(),W.selectAll("bar").data(p.value).enter().append("g").append("rect").attr("class","bar").attr("x",Qe=>P.value(Qe[0])).attr("y",Qe=>D.value(Qe[1])).attr("width",c.value).attr("height",Qe=>D.value(z.value[0])-D.value(Qe[1])).attr("fill",Qe=>Qe[1]<=o.value?"var(--color-charging)":"var(--color-axis)");const Oe=W.append("g").attr("class","axis").call(I.value);Oe.attr("transform","translate(0,"+(ya-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const kt=W.append("g").attr("class","axis").call(M.value);return kt.attr("transform","translate("+u.left+",0)"),kt.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),kt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width","0.5"),kt.select(".domain").attr("stroke","var(--color-bg)"),z.value[0]<0&&W.append("path").attr("d",Y.value).attr("stroke","var(--color-fg)"),W.append("path").attr("d",A.value).attr("stroke","green"),W.append("path").attr("d",V.value).attr("stroke","red"),W.append("path").attr("d",B.value).attr("stroke","yellow"),"PriceChart.vue"}),C=m(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),x=m(()=>{let W=[];return oe.etPriceList.forEach(Z=>{W.push(Z)}),W.sort((Z,Oe)=>Z-Oe)});function q(){let W=x.value[0];for(let Z of x.value){if(Z>=o.value)break;W=Z}o.value=W}function xe(){let W=x.value[0];for(let Z of x.value)if(Z>o.value){W=Z;break}else W=Z;o.value=W}return Le(()=>{d.value=!d.value}),(W,Z)=>(l(),f(U,null,[Z[3]||(Z[3]=n("p",{class:"settingsheader mt-2 ms-1"},"Preisbasiertes Laden:",-1)),n("p",Si,"Anbieter: "+S(i(oe).etProvider),1),Z[4]||(Z[4]=n("hr",null,null,-1)),n("div",Mi,[n("figure",$i,[(l(),f("svg",Pi,[n("g",{id:C.value,origin:E.value,transform:"translate("+u.top+","+u.right+")"},null,8,Ci)]))])]),W.chargepoint!=null?(l(),f("div",Ii,[W.chargepoint.etActive?(l(),$(Se,{key:0,id:"pricechart_local",modelValue:o.value,"onUpdate:modelValue":Z[0]||(Z[0]=Oe=>o.value=Oe),min:Math.floor(x.value[0]-1),max:Math.ceil(x.value[x.value.length-1]+1),step:.1,decimals:1,"show-subrange":!0,"subrange-min":x.value[0],"subrange-max":x.value[x.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])):w("",!0)])):w("",!0),n("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:q},Z[1]||(Z[1]=[n("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:xe},Z[2]||(Z[2]=[n("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),W.chargepoint!=null?(l(),f("div",Bi,[n("span",{class:"me-3 pt-0",onClick:h},[n("button",{type:"button",class:"btn btn-secondary",style:ee(k.value),disabled:!r.value}," Bestätigen ",12,Vi)])])):w("",!0)],64))}}),Ta=R(Li,[["__scopeId","data-v-8d837517"]]),Oi={class:"status-string"},Ai={style:{color:"red"}},Ti={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},Ei={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},zi=["data-bs-target"],Wi=["data-bs-target"],Di=["data-bs-target"],Gi=["data-bs-target"],ji=["data-bs-target"],Ui=["data-bs-target"],Fi=["data-bs-target"],Ni={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},Hi=["id"],Ri=["id"],Ji=["id"],Yi=["id"],qi=["id"],Qi=["id"],Zi=["id"],Xi=L({__name:"CPChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,r=m(()=>_e[t.chargeTemplate]),s=m(()=>t.id);return Le(()=>{}),(o,h)=>(l(),f(U,null,[v(F,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[n("span",Oi,S(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),$(F,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[n("span",Ai,S(i(t).faultStr),1)]),_:1})):w("",!0),n("div",Ti,[n("nav",Ei,[n("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},h[0]||(h[0]=[n("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,zi),o.chargepoint.chargeMode=="instant_charging"?(l(),f("a",{key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},h[1]||(h[1]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,Wi)):w("",!0),o.chargepoint.chargeMode=="pv_charging"?(l(),f("a",{key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},h[2]||(h[2]=[n("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,Di)):w("",!0),o.chargepoint.chargeMode=="scheduled_charging"?(l(),f("a",{key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},h[3]||(h[3]=[n("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,Gi)):w("",!0),o.chargepoint.timedCharging?(l(),f("a",{key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+s.value},h[4]||(h[4]=[n("i",{class:"fa-solid fa-clock"},null,-1)]),8,ji)):w("",!0),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#carSettings"+s.value},h[5]||(h[5]=[n("i",{class:"fa-solid fa-rectangle-list"},null,-1)]),8,Ui),i(oe).active&&i(t).etActive?(l(),f("a",{key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceChart"+s.value},h[6]||(h[6]=[n("i",{class:"fa-solid fa-chart-line"},null,-1)]),8,Fi)):w("",!0)]),n("div",Ni,[n("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[v(xi,{chargepoint:o.chargepoint},null,8,["chargepoint"])],8,Hi),n("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[v(Ys,{chargepoint:i(t),vehicles:i(N),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ri),n("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[v(Ks,{chargepoint:i(t),vehicles:i(N),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ji),n("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[r.value!=null?(l(),$(li,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Yi),n("div",{id:"timeSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[r.value!=null?(l(),$(vi,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,qi),n("div",{id:"carSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"car-tab"},[i(N)[i(t).connectedVehicle]!=null?(l(),$(_i,{key:0,"vehicle-id":i(t).connectedVehicle},null,8,["vehicle-id"])):w("",!0)],8,Qi),n("div",{id:"priceChart"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[i(N)[i(t).connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,Zi)])])],64))}}),Jt=R(Xi,[["__scopeId","data-v-1164316d"]]),Ki={class:"d-flex justify-content-center align-items-center"},el=L({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),r=m(()=>({color:e.color??"var(--color-menu)"}));return(s,o)=>(l(),f("span",Ki,[n("i",{class:J(["fa me-1",t.value]),style:ee(r.value)},null,6),H(" "+S(Math.round(s.soc)+"%"),1)]))}}),wt=R(el,[["__scopeId","data-v-a68c844a"]]),Ge=L({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=m(()=>ct(e.wattH,g.decimalPlaces));return(r,s)=>(l(),f("span",null,S(t.value),1))}}),tl={class:"wb-widget p-0 m-0 shadow widgetWidth"},al={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},nl={class:"d-flex align-items-center widgetname p-0 m-0"},rl={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ol={class:"grid12 pb-3"},sl=L({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(r,s)=>(l(),f("div",{class:J(["p-2 m-0",t.value])},[n("div",tl,[n("div",al,[n("div",nl,[pe(r.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))],!0),pe(r.$slots,"subtitle",{},void 0,!0)]),n("div",rl,[pe(r.$slots,"buttons",{},void 0,!0)])]),n("div",ol,[pe(r.$slots,"default",{},void 0,!0)])])],2))}}),je=R(sl,[["__scopeId","data-v-1d5bc1d9"]]),il=L({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=m(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(r,s)=>(l(),f("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:ee(t.value)},[pe(r.$slots,"default",{},void 0,!0)],4))}}),Pe=R(il,[["__scopeId","data-v-36112fa3"]]),ll={class:"d-flex justify-content-center align-items-center"},cl={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},ul={key:0},dl={key:1,class:"row m-0 mt-0 p-0"},hl={class:"col m-0 p-0"},pl={key:0},gl={class:"row"},ml={class:"col"},fl={class:"carTitleLine d-flex justify-content-between align-items-center"},vl={key:0,class:"me-1 fa-solid fa-xs fa-star ps-1"},yl={key:1,class:"me-1 fa-solid fa-xs fa-coins ps-0"},bl={key:2,class:"me-0 fa-solid fa-xs fa-clock ps-1"},_l={class:"grid12"},wl={style:{color:"var(--color-charging)"}},kl={style:{color:"var(--color-charging)"}},xl={style:{color:"var(--color-charging)"}},Sl={class:"targetCurrent"},Ml={key:5,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},$l={class:"d-flex justify-content-stretch align-items-center"},Pl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Cl=["id"],Il=L({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=X(e.chargepoint),r=m({get(){return e.chargepoint.chargeMode},set(C){O[e.chargepoint.id].chargeMode=C}}),s=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),o=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),h=m(()=>{const C=e.chargepoint.rangeCharged,x=e.chargepoint.chargedSincePlugged,q=e.chargepoint.dailyYield;return x>0?Math.round(C/x*q).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),d=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),u=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),p=m(()=>{let C="";return e.chargepoint.isLocked?C="fa-lock":e.chargepoint.isCharging?C=" fa-bolt":e.chargepoint.isPluggedIn&&(C="fa-plug"),"fa "+C}),c=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ye[e.chargepoint.chargeMode].color}}}),k=m(()=>e.chargepoint.soc),P=m(()=>({color:e.chargepoint.color})),z=m(()=>e.chargepoint.etMaxPrice>=+M.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),D=m(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),B=X(!1),A=X(!1);function V(){ae("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function Y(){ae("setSoc",I.value,e.chargepoint.connectedVehicle),A.value=!1}const I=m({get(){return e.chargepoint.soc},set(C){O[e.chargepoint.id].soc=C}}),M=m(()=>{const[C]=oe.etPriceList.values();return(Math.round(C*10)/10).toFixed(1)}),E=X(!1);return(C,x)=>(l(),f(U,null,[B.value?w("",!0):(l(),$(_t,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[n("span",ll,[n("span",{style:ee(P.value),onClick:x[0]||(x[0]=q=>B.value=!B.value)},[x[12]||(x[12]=n("span",{class:"fa-solid fa-charging-station"}," ",-1)),H(" "+S(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),f("span",cl,"Fehler")):w("",!0)])]),buttons:_(()=>[n("span",{type:"button",class:"ms-2 ps-1 pt-1",style:ee(c.value),onClick:x[1]||(x[1]=q=>B.value=!B.value)},x[13]||(x[13]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[B.value?w("",!0):(l(),f("div",pl,[n("div",gl,[n("div",ml,[n("div",fl,[n("h3",{onClick:x[3]||(x[3]=q=>B.value=!B.value)},[x[14]||(x[14]=n("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),H(" "+S(C.chargepoint.vehicleName)+" ",1),C.chargepoint.hasPriority?(l(),f("span",vl)):w("",!0),C.chargepoint.etActive?(l(),f("span",yl)):w("",!0),C.chargepoint.timedCharging?(l(),f("span",bl)):w("",!0)]),C.chargepoint.isSocConfigured?(l(),$(Pe,{key:0,bgcolor:D.value},{default:_(()=>[v(wt,{soc:k.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),C.chargepoint.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:x[4]||(x[4]=q=>A.value=!A.value)})):w("",!0),C.chargepoint.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:J(["fa-solid fa-sm",C.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:V},null,2))]),_:1},8,["bgcolor"])):w("",!0)])])]),n("div",_l,[v(Oa,{id:"chargemode-"+C.chargepoint.name,modelValue:r.value,"onUpdate:modelValue":x[5]||(x[5]=q=>r.value=q),class:"chargemodes mt-3 mb-3",options:Object.keys(i(ye)).map(q=>({text:i(ye)[q].name,value:q,color:i(ye)[q].color,icon:i(ye)[q].icon,active:i(ye)[q].mode==C.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),e.chargepoint.power>0?(l(),$(K,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[n("span",wl,[v(bt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(K,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[n("span",kl,S(o.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(K,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[n("span",xl,S(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(K,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[n("span",Sl,S(s.value),1)]),_:1})):w("",!0),v(K,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":Math.max(C.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),v(K,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[H(S(h.value),1)]),_:1}),C.chargepoint.isSocConfigured?(l(),$(K,{key:4,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(N)[e.chargepoint.connectedVehicle]?Math.round(i(N)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),A.value?(l(),f("div",Ml,[x[15]||(x[15]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",$l,[n("span",null,[v(Se,{id:"manualSoc",modelValue:I.value,"onUpdate:modelValue":x[6]||(x[6]=q=>I.value=q),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:Y})])):w("",!0),x[17]||(x[17]=n("hr",{class:"divider grid-col-12"},null,-1)),i(oe).active?(l(),$(K,{key:6,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(se,{modelValue:t.value.etActive,"onUpdate:modelValue":x[7]||(x[7]=q=>t.value.etActive=q)},null,8,["modelValue"])]),_:1})):w("",!0),i(oe).active?(l(),$(K,{key:7,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[n("span",{type:"button",onClick:x[8]||(x[8]=q=>E.value=!E.value)},[H(S(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),f("i",Pl)):w("",!0)])]),_:1})):w("",!0),i(oe).active?(l(),$(K,{key:8,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:_(()=>[n("span",{style:ee(z.value)},S(M.value)+" ct ",5)]),_:1})):w("",!0),E.value?(l(),f("div",{key:9,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(N)[e.chargepoint.connectedVehicle]!=null?(l(),$(Ta,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),n("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:ee(c.value),onClick:x[9]||(x[9]=q=>E.value=!1)},x[16]||(x[16]=[n("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Cl)):w("",!0)])]))]),default:_(()=>[B.value?w("",!0):(l(),f("div",ul,[n("div",{class:"grid12",onClick:x[2]||(x[2]=q=>B.value=!B.value)},[v(K,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:ee({color:u.value})},[n("i",{class:J(p.value)},null,2),H(" "+S(d.value),1)],4)]),_:1}),v(K,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":C.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),B.value?(l(),f("div",dl,[n("div",hl,[C.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:C.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"])),B.value?(l(),$(je,{key:1,"full-width":e.fullWidth},{title:_(()=>[n("span",{style:ee(P.value),onClick:x[10]||(x[10]=q=>B.value=!B.value)},[x[18]||(x[18]=n("span",{class:"fas fa-gear"}," ",-1)),H(" Einstellungen "+S(e.chargepoint.name),1)],4)]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",style:ee(c.value),onClick:x[11]||(x[11]=q=>B.value=!B.value)},x[19]||(x[19]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[C.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:C.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["full-width"])):w("",!0)],64))}}),Bl=R(Il,[["__scopeId","data-v-f8832de1"]]),Vl=["id"],Ll={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Ol={class:"modal-content"},Al={class:"modal-header"},Tl={class:"modal-title"},El={class:"modal-body",style:{"background-color":"var(--color-bg)"}},zl=L({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Le(()=>{}),(t,r)=>(l(),f("div",{id:e.modalId,class:"modal fade"},[n("div",Ll,[n("div",Ol,[n("div",Al,[n("h3",Tl,[pe(t.$slots,"title",{},void 0,!0)]),r[0]||(r[0]=n("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[n("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),n("div",El,[pe(t.$slots,"default",{},void 0,!0),r[1]||(r[1]=n("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,Vl))}}),Ea=R(zl,[["__scopeId","data-v-eaefae30"]]),Wl={class:"d-flex align-items-center"},Dl={class:"cpname"},Gl={class:"d-flex float-right justify-content-end align-items-center"},jl=["data-bs-target"],Ul=["data-bs-target"],Fl={class:"subgrid"},Nl={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},Hl={class:"d-flex flex-column align-items-center px-0"},Rl={class:"d-flex justify-content-center flex-wrap"},Jl={class:"d-flex align-items-center"},Yl={class:"badge phasesInUse rounded-pill"},ql={class:"d-flex flex-wrap justify-content-center chargeinfo"},Ql={class:"me-1"},Zl={key:0,class:"subgrid socEditRow m-0 p-0"},Xl={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},Kl={class:"d-flex justify-content-stretch align-items-center"},ec=L({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=X(!1),r=m(()=>ye[e.chargepoint.chargeMode].icon),s=m(()=>{let V="";return e.chargepoint.isLocked?V="fa-lock":e.chargepoint.isCharging?V=" fa-bolt":e.chargepoint.isPluggedIn&&(V="fa-plug"),"fa "+V}),o=m(()=>{let V="var(--color-axis)";return e.chargepoint.isLocked?V="var(--color-evu)":e.chargepoint.isCharging?V="var(--color-charging)":e.chargepoint.isPluggedIn&&(V="var(--color-battery)"),{color:V,border:`0.5px solid ${V} `}}),h=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--color-input)"};default:return{"background-color":ye[e.chargepoint.chargeMode].color}}}),d=m(()=>$e(e.chargepoint.power,g.decimalPlaces)),u=m(()=>e.chargepoint.current+" A"),p=m(()=>e.chargepoint.phasesInUse),c=m(()=>e.chargepoint.dailyYield>0?ct(e.chargepoint.dailyYield,g.decimalPlaces):"0 Wh"),k=m(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),P=m(()=>ye[e.chargepoint.chargeMode].name);function z(){ae("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function D(){ae("setSoc",B.value,e.chargepoint.connectedVehicle),t.value=!1}const B=m({get(){return e.chargepoint.soc},set(V){O[e.chargepoint.id].soc=V}}),A=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(V,Y)=>(l(),f(U,null,[v(tt,{titlecolor:V.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[n("div",Wl,[n("span",Dl,S(V.chargepoint.name),1),n("span",{class:"badge rounded-pill statusbadge mx-2",style:ee(o.value)},[n("i",{class:J([s.value,"me-1"])},null,2),H(" "+S(A.value),1)],4)])]),buttons:_(()=>[n("div",Gl,[n("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:ee(h.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},[n("i",{class:J(["fa me-1",r.value])},null,2),H(" "+S(P.value),1)],12,jl),n("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},null,8,Ul)])]),default:_(()=>[n("div",Fl,[v(K,{heading:V.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[V.chargepoint.isSocConfigured?(l(),f("span",Nl,[V.chargepoint.soc?(l(),$(wt,{key:0,class:"me-1",soc:V.chargepoint.soc},null,8,["soc"])):w("",!0),V.chargepoint.isSocConfigured&&V.chargepoint.isSocManual?(l(),f("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:Y[0]||(Y[0]=I=>t.value=!t.value)})):w("",!0),V.chargepoint.isSocConfigured&&!V.chargepoint.isSocManual?(l(),f("i",{key:2,type:"button",class:J(["fa-solid fa-sm me-2",V.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:z},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),v(K,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[n("div",Hl,[n("span",Rl,[n("span",null,S(d.value),1),n("span",Jl,[n("span",Yl,S(p.value),1),n("span",null,S(u.value),1)])])])]),_:1}),v(K,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[n("div",ql,[n("span",Ql,S(c.value),1),n("span",null,S(k.value),1)])]),_:1})]),t.value?(l(),f("div",Zl,[n("div",Xl,[Y[2]||(Y[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",Kl,[n("span",null,[v(Se,{id:"manualSoc",modelValue:B.value,"onUpdate:modelValue":Y[1]||(Y[1]=I=>B.value=I),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:D})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),$(Xa,{to:"body"},[(l(),$(Ea,{key:V.chargepoint.id,"modal-id":"cpsconfig-"+V.chargepoint.id},{title:_(()=>[H(" Konfiguration: "+S(V.chargepoint.name),1)]),default:_(()=>[V.chargepoint!=null?(l(),$(Jt,{key:0,chargepoint:V.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),tc=R(ec,[["__scopeId","data-v-ba15dbc4"]]),ac=L({__name:"CpSimpleList2",setup(a){const e=m(()=>Object.values(O));return(t,r)=>(l(),$(je,{"variable-width":!0},{title:_(()=>r[0]||(r[0]=[n("span",{class:"fa-solid fa-charging-station"}," ",-1),H(" Ladepunkte ")])),buttons:_(()=>[i(oe).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[H("Strompreis: "+S(i(oe).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(U,null,te(e.value,(s,o)=>(l(),f("div",{key:o,class:"subgrid pb-2"},[v(tc,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),nc=R(ac,[["__scopeId","data-v-b8c6b557"]]),Tt=L({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const r=a,s=m(()=>{let p=Object.values(O);return u(),p}),o=m(()=>h.value+" "+d.value),h=m(()=>{switch(Object.values(O).length){case 0:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return g.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),d=m(()=>"swiper-chargepoints-"+r.id);function u(){let p=document.querySelector("."+d.value);if(p&&(t=p,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Le(()=>{let p=document.querySelector("."+d.value);p&&(t=p,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(p,c)=>(l(),f(U,null,[r.compact?w("",!0):(l(),f("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:J(["cplist m-0 p-0 d-flex align-items-stretch",o.value])},[(l(!0),f(U,null,te(s.value,k=>(l(),f("swiper-slide",{key:k.id},[n("div",{class:J([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[v(Bl,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),r.compact?(l(),$(nc,{key:1})):w("",!0)],64))}}),rc={class:"container-fluid p-0 m-0"},oc={class:"row p-0 m-0"},sc={class:"d-grid gap-2"},ic=["onClick"],lc={class:"col-md-4 p-1"},cc={class:"d-grid gap-2"},uc={key:0},dc={class:"row justify-content-center m-1 p-0"},hc={class:"col-lg-4 p-1 m-0"},pc={class:"d-grid gap-2"},gc={class:"col-lg-4 p-1 m-0"},mc={class:"d-grid gap-2"},fc={class:"col-lg-4 p-1 m-0"},vc={class:"d-grid gap-2"},yc=L({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"standby",name:"Standby",color:"var(--color-axis)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],r=m(()=>O[e.cpId]);function s(p){return p==r.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function o(p){return de.pvBatteryPriority==p?"btn-success":"btn-secondary"}function h(p){r.value.chargeMode=p}function d(p){r.value.isLocked=p}function u(p){de.pvBatteryPriority=p}return(p,c)=>(l(),f("div",rc,[n("div",oc,[(l(),f(U,null,te(t,(k,P)=>n("div",{key:P,class:"col-md-4 p-1"},[n("div",sc,[n("button",{type:"button",class:J(s(k.mode)),style:{},onClick:z=>h(k.mode)},S(k.name),11,ic)])])),64)),n("div",lc,[n("div",cc,[r.value.isLocked?(l(),f("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>d(!1))}," Entsperren ")):w("",!0),r.value.isLocked?w("",!0):(l(),f("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>d(!0))}," Sperren "))])])]),i(de).isBatteryConfigured?(l(),f("div",uc,[c[8]||(c[8]=n("hr",null,null,-1)),c[9]||(c[9]=n("div",{class:"row"},[n("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),n("div",dc,[n("div",hc,[n("div",pc,[n("button",{id:"evPriorityBtn",type:"button",class:J(["priorityModeBtn btn btn-secondary buttonTextSize",o("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[H(" EV "),n("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),n("div",gc,[n("div",mc,[n("button",{id:"batteryPriorityBtn",type:"button",class:J(["priorityModeBtn btn btn-secondary buttonTextSize",o("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[H(" Speicher "),n("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),n("div",fc,[n("div",vc,[n("button",{id:"minsocPriorityBtn",type:"button",class:J(["priorityModeBtn btn btn-secondary buttonTextSize",o("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[H(" MinSoc "),n("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),bc={class:"col-lg-4 p-0 m-0 mt-1"},_c={class:"d-grid gap-2"},wc=["data-bs-target"],kc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},xc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},Sc={key:0,class:"ms-2"},Mc={class:"m-0 p-0"},$c={key:0,class:"ps-1"},Pc=L({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,r=m(()=>ye[e.chargepoint.chargeMode].name),s=m(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),o=m(()=>{{let c={background:ye[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case ve.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break;case ve.standby:case ve.stop:c.background="darkgrey",c.color="black";break;case ve.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break}return c}}),h=m(()=>ye[e.chargepoint.chargeMode].icon),d=m(()=>{switch(de.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=m(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function p(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),f("div",bc,[n("div",_c,[n("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:ee(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[n("div",kc,[n("span",xc,[n("i",{class:J(u.value)},null,2),c.chargepoint.isCharging?(l(),f("span",Sc,S(i($e)(c.chargepoint.power)),1)):w("",!0)]),n("span",Mc,S(c.chargepoint.name),1),n("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:ee(o.value)},[n("i",{class:J(["fa me-1",h.value])},null,2),H(" "+S(r.value)+" ",1),c.chargepoint.chargeMode==i(ve).pv_charging&&i(de).isBatteryConfigured?(l(),f("span",$c,[k[0]||(k[0]=H(" ( ")),n("i",{class:J(["fa m-0",d.value])},null,2),k[1]||(k[1]=H(") "))])):w("",!0)],4)])],12,wc)]),v(Ea,{"modal-id":t},{title:_(()=>[H(" Lademodus für "+S(c.chargepoint.vehicleName),1)]),default:_(()=>[v(yc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Cc=R(Pc,[["__scopeId","data-v-31df6764"]]),Ic={class:"row p-0 mt-0 mb-1 m-0"},Bc={class:"col p-0 m-0"},Vc={class:"container-fluid p-0 m-0"},Lc={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},Oc={key:0,class:"col time-display"},Ac=L({__name:"ButtonBar",setup(a){return(e,t)=>(l(),f("div",Ic,[n("div",Bc,[n("div",Vc,[n("div",Lc,[i(g).showClock=="buttonbar"?(l(),f("span",Oc,S(i(La)(i(Rt))),1)):w("",!0),(l(!0),f(U,null,te(i(O),(r,s)=>(l(),$(Cc,{key:s,chargepoint:r,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),Tc=R(Ac,[["__scopeId","data-v-791e4be0"]]),Ec={class:"battery-title"},zc={class:"subgrid pt-1"},Wc=L({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=m(()=>e.bat.power<0?`Liefert (${$e(-e.bat.power)})`:e.bat.power>0?`Lädt (${$e(e.bat.power)})`:"Bereit"),r=m(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Ec,S(s.bat.name),1)]),buttons:_(()=>[v(Pe,{bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",zc,[v(K,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(wt,{soc:e.bat.soc},null,8,["soc"])]),_:1}),v(K,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),v(K,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Dc=R(Wc,[["__scopeId","data-v-f7f825f7"]]),Gc={class:"px-3 subgrid grid-12"},jc=L({__name:"BatteryList",setup(a){const e=m(()=>Q.batOut.power>0?`Liefert (${$e(Q.batOut.power)})`:j.batIn.power>0?`Lädt (${$e(j.batIn.power)})`:"Bereit:"),t=m(()=>Q.batOut.power>0?"var(--color-pv)":j.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),r=m(()=>{let s=0;return he.value.forEach(o=>{s+=o.dailyYieldImport}),s});return(s,o)=>i(de).isBatteryConfigured?(l(),$(je,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>o[0]||(o[0]=[n("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Speicher",-1)])),buttons:_(()=>[v(Pe,{bgcolor:t.value},{default:_(()=>[H(S(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",Gc,[v(K,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[v(wt,{color:"var(--color-battery)",soc:i(de).batterySoc},null,8,["soc"])]),_:1}),v(K,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(r.value)),1)]),_:1}),v(K,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[n("span",null,S(i(ct)(i(Q).batOut.energy)),1)]),_:1})]),(l(!0),f(U,null,te(i(he),([h,d])=>(l(),$(Dc,{key:h,bat:d},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),Et=R(jc,[["__scopeId","data-v-cc4da23c"]]),Uc={class:"devicename"},Fc={class:"subgrid"},Nc=L({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=m(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),r=m(()=>{let d="var(--color-switchRed)";switch(e.device.status){case"on":d="var(--color-switchGreen)";break;case"detection":d="var(--color-switchBlue)";break;case"timeout":d="var(--color-switchWhite)";break;case"waiting":d="var(--color-menu)";break;default:d="var(--color-switchRed)"}return{color:d}});function s(){e.device.isAutomatic||(e.device.status=="on"?ae("shSwitchOn",0,e.device.id):ae("shSwitchOn",1,e.device.id),ne.get(e.device.id).status="waiting")}function o(){e.device.isAutomatic?ae("shSetManual",1,e.device.id):ae("shSetManual",0,e.device.id)}const h=m(()=>e.device.isAutomatic?"Auto":"Man");return(d,u)=>(l(),$(tt,{titlecolor:d.device.color,fullwidth:!0},{title:_(()=>[n("span",Uc,S(d.device.name),1)]),buttons:_(()=>[(l(!0),f(U,null,te(d.device.temp,(p,c)=>(l(),f("span",{key:c},[p<300?(l(),$(Pe,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[n("span",null,S(i(Nn)(p)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),f("span",{key:0,class:J([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:ee(r.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),$(Pe,{key:1,type:"button",onClick:o},{default:_(()=>[H(S(h.value),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",Fc,[v(K,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(bt,{watt:d.device.power},null,8,["watt"])]),_:1}),v(K,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":d.device.energy},null,8,["watt-h"])]),_:1}),v(K,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Un)(d.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),Hc=R(Nc,[["__scopeId","data-v-20651ac6"]]),Rc={class:"sh-title py-4"},Jc=["id","onUpdate:modelValue","value"],Yc=["for"],qc=3,Qc=L({__name:"SmartHomeList",setup(a){const e=m(()=>De.value?t.value.reduce((h,d)=>{const u=h;let p=h[h.length-1];return p.length>=qc?h.push([d]):p.push(d),u},[[]]):[t.value]),t=m(()=>[...ne.values()].filter(h=>h.configured));function r(h){return"Geräte"+(De.value&&e.value.length>1?"("+(h+1)+")":"")}function s(){o.value=!o.value}const o=X(!1);return(h,d)=>(l(),f(U,null,[(l(!0),f(U,null,te(e.value,(u,p)=>(l(),$(je,{key:p,"variable-width":!0},{title:_(()=>[n("span",{onClick:s},[d[0]||(d[0]=n("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),n("span",Rc,S(r(p)),1)])]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[1]||(d[1]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),f(U,null,te(u,c=>(l(),$(Hc,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),o.value?(l(),$(je,{key:0},{title:_(()=>[n("span",{class:"smarthome",onClick:s},d[2]||(d[2]=[n("span",{class:"fas fa-gear"}," ",-1),H(" Einstellungen")]))]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},d[3]||(d[3]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[v(F,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),f(U,null,te(t.value,(u,p)=>(l(),f("div",{key:p},[vt(n("input",{id:"check"+p,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,Jc),[[Ma,u.showInGraph]]),n("label",{class:"form-check-label px-2",for:"check"+p},S(u.name),9,Yc)]))),128))]),_:1}),n("div",{class:"row p-0 m-0",onClick:s},d[4]||(d[4]=[n("div",{class:"col-12 mb-3 pe-3 mt-0"},[n("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),zt=R(Qc,[["__scopeId","data-v-5b5cf6b3"]]),Zc={class:"countername"},Xc={class:"subgrid pt-1"},Kc=L({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=m(()=>e.counter.power>0?"Bezug":"Export"),r=m(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,o)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Zc,S(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),$(Pe,{key:0,bgcolor:r.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),v(Pe,{color:"var(--color-bg)"},{default:_(()=>[H(" ID: "+S(e.counter.id),1)]),_:1})]),default:_(()=>[n("div",Xc,[v(K,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(bt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),v(K,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),v(K,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),eu=R(Kc,[["__scopeId","data-v-01dd8c4d"]]);class tu{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const ke=le({});function au(a,e){if(a in ke)console.info("Duplicate counter message: "+a);else switch(ke[a]=new tu(a),ke[a].type=e,e){case"counter":ke[a].color="var(--color-evu)";break;case"inverter":ke[a].color="var(--color-pv)";break;case"cp":ke[a].color="var(--color-charging)";break;case"bat":ke[a].color="var(--color-bat)";break}}const nu=L({__name:"CounterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),n("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),f(U,null,te(i(ke),(r,s)=>(l(),f("div",{key:s,class:"subgrid pb-2"},[v(eu,{counter:r},null,8,["counter"])]))),128))]),_:1}))}}),Wt=R(nu,[["__scopeId","data-v-5f059284"]]),ru={class:"vehiclename"},ou={class:"subgrid"},su={key:0,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},iu={class:"d-flex justify-content-stretch align-items-center"},lu=L({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=X(!1),r=m(()=>{let c="Unterwegs",k=e.vehicle.chargepoint;return k!=null&&(k.isCharging?c="Lädt ("+k.name+")":k.isPluggedIn&&(c="Bereit ("+k.name+")")),c}),s=m(()=>{let c=e.vehicle.chargepoint;return c!=null?c.isLocked?"var(--color-evu)":c.isCharging?"var(--color-charging)":c.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"}),o=m(()=>e.vehicle.soc);function h(){e.vehicle.chargepoint!=null&&(ae("socUpdate",1,e.vehicle.id),O[e.vehicle.chargepoint.id].waitingForSoc=!0)}function d(){ae("setSoc",u.value,e.vehicle.id),t.value=!1}const u=m({get(){return e.vehicle.soc},set(c){e.vehicle.chargepoint!=null&&(O[e.vehicle.chargepoint.id].soc=c)}}),p=m(()=>e.vehicle.chargepoint?e.vehicle.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync":"");return(c,k)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",ru,S(e.vehicle.name),1)]),default:_(()=>[n("div",ou,[v(K,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[n("span",{style:ee({color:s.value}),class:"d-flex justify-content-center align-items-center status-string"},S(r.value),5)]),_:1}),v(K,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[v(wt,{soc:o.value??0,color:"var(--color-fg)",class:"me-2"},null,8,["soc"]),c.vehicle.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",type:"button",style:{color:"var(--color-fg)"},onClick:k[0]||(k[0]=P=>t.value=!t.value)})):w("",!0),c.vehicle.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:J(["fa-solid fa-sm",p.value]),onClick:h},null,2))]),_:1}),v(K,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.range))+" km ",1)]),_:1}),t.value?(l(),f("div",su,[k[2]||(k[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",iu,[n("span",null,[v(Se,{id:"manualSoc",modelValue:u.value,"onUpdate:modelValue":k[1]||(k[1]=P=>u.value=P),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:d})])):w("",!0)])]),_:1}))}}),cu=R(lu,[["__scopeId","data-v-04addecf"]]),uu=L({__name:"VehicleList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),n("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),f(U,null,te(Object.values(i(N)).filter(r=>r.visible),(r,s)=>(l(),f("div",{key:s,class:"subgrid"},[v(cu,{vehicle:r},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=R(uu,[["__scopeId","data-v-23b437ea"]]),du={class:"grapharea"},hu={id:"pricechart",class:"p-1 m-0 pricefigure"},pu={viewBox:"0 0 400 280"},gu=["id","origin","transform"],ut=380,_a=250,Gt=12,mu=L({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=X(!1),r={top:0,bottom:15,left:20,right:0},s=m(()=>{let A=[];return oe.etPriceList.size>0&&oe.etPriceList.forEach((V,Y)=>{A.push([Y,V])}),A}),o=m(()=>s.value.length>1?(ut-r.left-r.right)/s.value.length:0),h=m(()=>{let A=Ve(s.value,V=>V[0]);return A[1]&&(A[1]=new Date(A[1]),A[1].setTime(A[1].getTime()+36e5)),et().range([r.left,ut-r.right]).domain(A)}),d=m(()=>{let A=[0,0];return s.value.length>0&&(A=Ve(s.value,V=>V[1]),A[0]=Math.floor(A[0])-1,A[1]=Math.floor(A[1])+1),A}),u=m(()=>He().range([_a-r.bottom,0]).domain(d.value)),p=m(()=>{const A=Ne(),V=[[r.left,u.value(g.lowerPriceBound)],[ut-r.right,u.value(g.lowerPriceBound)]];return A(V)}),c=m(()=>{const A=Ne(),V=[[r.left,u.value(g.upperPriceBound)],[ut-r.right,u.value(g.upperPriceBound)]];return A(V)}),k=m(()=>{const A=Ne(),V=[[r.left,u.value(0)],[ut-r.right,u.value(0)]];return A(V)}),P=m(()=>ht(h.value).ticks(s.value.length).tickSize(5).tickSizeInner(-250).tickFormat(A=>A.getHours()%6==0?st("%H:%M")(A):"")),z=m(()=>ft(u.value).ticks(d.value[1]-d.value[0]).tickSize(0).tickSizeInner(-360).tickFormat(A=>A.toString())),D=m(()=>{t.value==!0;const A=ce("g#"+B.value);A.selectAll("*").remove(),A.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("width",o.value).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("fill","var(--color-charging)");const Y=A.append("g").attr("class","axis").call(P.value);Y.attr("transform","translate(0,"+(_a-r.bottom)+")"),Y.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),Y.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x.getHours()%6==0?"2":"0.5"),Y.select(".domain").attr("stroke","var(--color-bg");const I=A.append("g").attr("class","axis").call(z.value);I.attr("transform","translate("+r.left+",0)"),I.selectAll(".tick").attr("font-size",Gt).attr("color","var(--color-bg)"),I.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x%5==0?"2":"0.5"),I.select(".domain").attr("stroke","var(--color-bg)"),d.value[0]<0&&A.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),A.append("path").attr("d",p.value).attr("stroke","green"),A.append("path").attr("d",c.value).attr("stroke","red");const M=A.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");M.append("rect").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("class","ttrect").attr("width",o.value).attr("opacity","1%").attr("fill","var(--color-charging)");const E=M.append("g").attr("class","ttmessage").attr("transform",x=>"translate("+(h.value(x[0])-30+o.value/2)+","+(u.value(x[1])-16)+")");E.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const C=E.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",Gt).attr("fill","var(--color-bg)");return C.append("tspan").attr("x",30).attr("dy","0em").text(x=>st("%H:%M")(x[0])),C.append("tspan").attr("x",30).attr("dy","1.1em").text(x=>Math.round(x[1]*10)/10+" ct"),"PriceChart.vue"}),B=m(()=>"priceChartCanvas"+e.id);return Le(()=>{t.value=!t.value}),(A,V)=>(l(),$(je,{"variable-width":!0},{title:_(()=>V[0]||(V[0]=[n("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Strompreis",-1)])),buttons:_(()=>[i(oe).active?(l(),$(Pe,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[H(S(i(oe).etCurrentPriceString),1)]),_:1})):w("",!0),i(oe).active?(l(),$(Pe,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[H(S(i(oe).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",du,[n("figure",hu,[(l(),f("svg",pu,[n("g",{id:B.value,origin:D.value,transform:"translate("+r.top+","+r.left+") "},null,8,gu)]))])])]),_:1}))}}),jt=R(mu,[["__scopeId","data-v-6000c955"]]),fu={class:"subgrid pt-1"},vu=L({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=m(()=>({color:e.inverter.color}));return(r,s)=>(l(),$(tt,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",{class:"invertername",style:ee(t.value)},S(r.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",fu,[v(K,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),v(K,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),v(K,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(Ge,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),yu=R(vu,[["__scopeId","data-v-258d8f17"]]),bu=L({__name:"InverterList",setup(a){return(e,t)=>(l(),$(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),n("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(Q).pv.power>0?(l(),$(Pe,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i($e)(i(Q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(U,null,te(i(we),([r,s])=>(l(),f("div",{key:r,class:"subgrid pb-2"},[v(yu,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ut=R(bu,[["__scopeId","data-v-b7a71f81"]]),_u={class:"row py-0 px-0 m-0"},wu=["breakpoints"],ku=L({__name:"CarouselFix",setup(a){let e,t;const r=X(!1),s=m(()=>r.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>g.zoomGraph,o=>{if(e){let h=o?"1":"3";t.setAttribute("slides-per-view",h),e.activeIndex=g.zoomedWidget,e.update()}}),Le(()=>{let o=document.querySelector(".swiper-carousel");o&&(t=o,e=t.swiper)}),(o,h)=>(l(),f("div",_u,[n("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[n("swiper-slide",null,[n("div",{class:J([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item1",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:J([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item2",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:J([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item3",{},void 0,!0)],2)])],8,wu)]))}}),xu=R(ku,[["__scopeId","data-v-17424929"]]);function Su(a,e){a=="openWB/graph/boolDisplayLiveGraph"?de.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?Mu(a,e):a=="openWB/graph/lastlivevaluesJson"?$u(a,e):a=="openWB/graph/config/duration"&&(ge.duration=JSON.parse(e))}function Mu(a,e){if(!ge.initialized){let t=[];const r=e.toString().split(` -`);r.length>1?t=r.map(h=>JSON.parse(h)):t=[];const s=a.match(/(\d+)$/g),o=s?s[0]:"";o!=""&&typeof ge.rawDataPacks[+o-1]>"u"&&(ge.rawDataPacks[+o-1]=t,ge.initCounter++)}if(ge.initCounter==16){const t=[];ge.unsubscribeRefresh(),ge.initialized=!0,ge.rawDataPacks.forEach(r=>{r.forEach(s=>{const o=za(s);t.push(o)})}),yt(t),ge.subscribeUpdates()}}function $u(a,e){const t=JSON.parse(e),r=za(t);ge.graphRefreshCounter++,yt(y.data.concat(r)),ge.graphRefreshCounter>60&&ge.activate()}function za(a){const e=Object.values(O).length>0?Object.values(O)[0].connectedVehicle:0,t=Object.values(O).length>1?Object.values(O)[1].connectedVehicle:1,r="ev"+e+"-soc",s="ev"+t+"-soc",o={};o.date=+a.timestamp*1e3,+a.grid>0?(o.evuIn=+a.grid,o.evuOut=0):+a.grid<=0?(o.evuIn=0,o.evuOut=-a.grid):(o.evuIn=0,o.evuOut=0),+a["pv-all"]>=0?(o.pv=+a["pv-all"],o.inverter=0):(o.pv=0,o.inverter=-a["pv-all"]),o.house=+a["house-power"],+a["bat-all-power"]>0?(o.batOut=0,o.batIn=+a["bat-all-power"]):+a["bat-all-power"]<0?(o.batOut=-a["bat-all-power"],o.batIn=0):(o.batOut=0,o.batIn=0),a["bat-all-soc"]?o.batSoc=+a["bat-all-soc"]:o.batSoc=0,a[r]&&(o["soc"+e]=+a[r]),a[s]&&(o["soc"+t]=+a[s]),o.charging=+a["charging-all"];for(let h=0;h<10;h++){const d="cp"+h;o[d]=+(a[d+"-power"]??0)}return o.selfUsage=o.pv-o.evuOut,o.selfUsage<0&&(o.selfUsage=0),o.devices=0,o}const Pu=["evuIn","pv","batOut","evuOut","charging","house"];let Pt=[];function Cu(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Pt=[],Zt.forEach(h=>{T.setEnergyPv(h,0),T.setEnergyBat(h,0)});const o=Iu(t);yt(o),Xt(s,Pt),g.debug&&Vu(t,s,o),y.graphMode=="today"&&setTimeout(()=>ue.activate(),3e5)}function Iu(a){const e=[];let t={};return a.forEach(r=>{t=Bu(r);const s=t;e.push(s)}),e}function Bu(a){const e={};e.date=a.timestamp*1e3,e.evuOut=0,e.evuIn=0,Object.entries(a.counter).forEach(([s,o])=>{o.grid&&(e.evuOut+=o.power_exported,e.evuIn+=o.power_imported,Pt.includes(s)||Pt.push(s))}),e.evuOut==0&&e.evuIn==0&&Object.entries(a.counter).forEach(s=>{e.evuOut+=s[1].power_exported,e.evuIn+=s[1].power_imported}),Object.entries(a.pv).forEach(([s,o])=>{s!="all"?e[s]=o.power_exported:e.pv=o.power_exported}),Object.entries(a.bat).length>0?(e.batIn=a.bat.all.power_imported,e.batOut=a.bat.all.power_exported,e.batSoc=a.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(a.cp).forEach(([s,o])=>{s!="all"?(e[s]=o.power_imported,T.keys().includes(s)||T.addItem(s)):e.charging=o.power_imported}),Object.entries(a.ev).forEach(([s,o])=>{s!="all"&&(e["soc"+s.substring(2)]=o.soc)}),e.devices=0;let t=0;return Object.entries(a.sh).forEach(([s,o])=>{var h;s!="all"&&(e[s]=o.power_imported??0,T.keys().includes(s)||(T.addItem(s),T.items[s].showInGraph=ne.get(+s.slice(2)).showInGraph),(h=ne.get(+s.slice(2)))!=null&&h.countAsHouse?t+=e[s]:e.devices+=o.power_imported??0)}),e.selfUsage=Math.max(0,e.pv-e.evuOut),a.hc&&a.hc.all?e.house=a.hc.all.power_imported-t:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(s=>!Pu.includes(s)&&s!="charging").forEach(s=>{Mn(s,e)}):Object.keys(e).forEach(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}function Vu(a,e,t){console.debug("---------------------------------------- Graph Data -"),console.debug(["--- Incoming graph data:",a]),console.debug(["--- Incoming energy data:",e]),console.debug(["--- Data to be displayed:",t]),console.debug("-----------------------------------------------------")}let xt={};const ra=["charging","house","batIn","devices"],Lu=["evuIn","pv","batOut","batIn","evuOut","devices","sh1","sh2","sh3","sh4","sh5","sh6","sh7","sh8","sh9"];let Ke=[];function Ou(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Au(a,e){const{entries:t,names:r,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(r)),aa(),Ke=[],ra.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Xt(s,Ke)}function Wa(a){const e=[];let t={};return xt={},a.forEach(r=>{t=Tu(r),e.push(t),Object.keys(t).forEach(s=>{s!="date"&&(t[s]<0&&(console.warn(`Negative energy value for ${s} in row ${t.date}. Ignoring the value.`),t[s]=0),xt[s]?xt[s]+=t[s]:xt[s]=t[s])})}),e}function Tu(a){const e={},t=en("%Y%m%d")(a.date);t&&(e.date=y.graphMode=="month"?t.getDate():t.getMonth()+1),e.evuOut=0,e.evuIn=0;let r=0,s=0;return Object.entries(a.counter).forEach(([h,d])=>{r+=d.energy_exported,s+=d.energy_imported,d.grid&&(e.evuOut+=d.energy_exported,e.evuIn+=d.energy_imported,Ke.includes(h)||Ke.push(h))}),Ke.length==0&&(e.evuOut=r,e.evuIn=s),e.pv=a.pv.all.energy_exported,Object.entries(a.bat).length>0?(a.bat.all.energy_imported>=0?e.batIn=a.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),a.bat.all.energy_exported>=0?e.batOut=a.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(a.cp).forEach(([h,d])=>{h!="all"?(T.keys().includes(h)||T.addItem(h),e[h]=d.energy_imported):e.charging=d.energy_imported}),Object.entries(a.ev).forEach(([h,d])=>{h!="all"&&(e["soc-"+h]=d.soc)}),e.devices=Object.entries(a.sh).reduce((h,d)=>(T.keys().includes(d[0])||T.addItem(d[0]),d[1].energy_imported>=0?h+=d[1].energy_imported:console.warn(`Negative energy value for device ${d[0]} in row ${e.date}. Ignoring this value`),h),0),a.hc&&a.hc.all?e.house=a.hc.all.energy_imported:e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(h=>!Lu.includes(h)).forEach(h=>{$n(h,e)}):ra.map(h=>{e[h+"Pv"]=0,e[h+"Bat"]=0}),e}function Eu(a,e){const t=zu(a);if(t&&!he.value.has(t)){console.warn("Invalid battery index: ",t);return}a=="openWB/bat/config/configured"?de.isBatteryConfigured=e=="true":a=="openWB/bat/get/power"?+e>0?(j.batIn.power=+e,Q.batOut.power=0):(j.batIn.power=0,Q.batOut.power=-e):a=="openWB/bat/get/soc"?de.batterySoc=+e:a=="openWB/bat/get/daily_exported"?Q.batOut.energy=+e:a=="openWB/bat/get/daily_imported"?j.batIn.energy=+e:t&&he.value.has(t)&&(a.match(/^openwb\/bat\/[0-9]+\/get\/daily_exported$/i)?he.value.get(t).dailyYieldExport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/daily_imported$/i)?he.value.get(t).dailyYieldImport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?he.value.get(t).exported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?he.value.get(t).faultState=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?he.value.get(t).faultStr=e:a.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?he.value.get(t).imported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?he.value.get(t).power=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(he.value.get(t).soc=+e))}function zu(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function Wu(a,e){if(a=="openWB/optional/et/provider")JSON.parse(e).type==null?oe.active=!1:(oe.active=!0,oe.etProvider=JSON.parse(e).name);else if(a=="openWB/optional/et/get/prices"){const t=JSON.parse(e);oe.etPriceList=new Map,Object.keys(t).forEach(r=>{oe.etPriceList.set(new Date(+r*1e3),t[r]*1e5)})}}function Du(a,e){const t=Da(a);if(t&&!(t in O)){console.warn("Invalid chargepoint id received: "+t);return}if(a=="openWB/chargepoint/get/power"?j.charging.power=+e:a=="openWB/chargepoint/get/daily_imported"&&(j.charging.energy=+e),a=="openWB/chargepoint/get/daily_exported")de.cpDailyExported=+e;else if(t){if(a.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(O[t]){const r=JSON.parse(e);O[t].name=r.name,O[t].icon=r.name,ie["cp"+t]?(ie["cp"+t].name=r.name,ie["cp"+t].icon=r.name):ie["cp"+t]={name:r.name,icon:r.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+t);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))O[t].stateStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))O[t].faultStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))O[t].faultState=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))O[t].power=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))O[t].dailyYield=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))O[t].isPluggedIn=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))O[t].isCharging=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))O[t].updateIsLocked(e=="true");else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))O[t].isEnabled=e=="1";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))O[t].phasesInUse=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))O[t].current=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))O[t].currents=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const r=JSON.parse(e);O[t].chargedSincePlugged=r.imported_since_plugged}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const r=JSON.parse(e);O[t].soc=r.soc,O[t].waitingForSoc=!1,O[t].rangeCharged=r.range_charged,O[t].rangeUnit=r.range_unit}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const r=JSON.parse(e);O[t].vehicleName=String(r.name),O[t].updateConnectedVehicle(+r.id)}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const r=JSON.parse(e);switch(r.chargemode){case"instant_charging":O[t].updateChargeMode(ve.instant_charging);break;case"pv_charging":O[t].updateChargeMode(ve.pv_charging);break;case"scheduled_charging":O[t].updateChargeMode(ve.scheduled_charging);break;case"standby":O[t].updateChargeMode(ve.standby);break;case"stop":O[t].updateChargeMode(ve.stop);break}O[t].chargeTemplate=r.charge_template,O[t].averageConsumption=r.average_consumption}}}function Gu(a,e){const t=Da(a);if(t!=null){if(!(t in N)){const r=new yn(t);N[t]=r}if(a.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(O).forEach(r=>{r.connectedVehicle==t&&(r.vehicleName=JSON.parse(e))}),N[t].name=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))N[t].soc=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?N[t].range=0:N[t].range=+e;else if(a.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))N[t].updateChargeTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))N[t].updateEvTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const r=JSON.parse(e);Object.values(O).forEach(s=>{s.connectedVehicle==t&&(s.isSocConfigured=r.type!==null,s.isSocManual=r.type=="manual")}),N[t].isSocConfigured=r.type!==null,N[t].isSocManual=r.type=="manual"}}}function ju(a,e){if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);_e[r]=s,Uu(r,s)}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in gt||(gt[s]=[]),gt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),r=a.match(/[0-9]+$/i);if(t&&r){const s=+t[0].replace(/[^0-9]+/g,""),o=+r[0],h=JSON.parse(e);s in pt||(pt[s]=[]),pt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const r=+t[0],s=JSON.parse(e);Ht[r]=s}}}function Uu(a,e){Object.values(O).forEach(t=>{t.chargeTemplate==a&&(t.updateCpPriority(e.prio),t.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),t.updateInstantTargetCurrent(e.chargemode.instant_charging.current),t.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),t.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),t.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),t.updatePvMinCurrent(e.chargemode.pv_charging.min_current),t.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),t.updatePvMinSoc(e.chargemode.pv_charging.min_soc),t.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function Da(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function Fu(a,e){a.match(/^openWB\/LegacySmarthome\/config\//i)?Nu(a,e):a.match(/^openWB\/LegacySmarthome\/Devices\//i)&&Hu(a,e)}function Nu(a,e){const t=Ga(a);if(t==null)return;ne.has(t)||Yt(t);const r=ne.get(t);a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?r.configured=e!="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(r.name=e.toString(),r.icon=e.toString(),ie["sh"+t].name=e.toString(),ie["sh"+t].icon=e.toString()):a.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?r.isAutomatic=e=="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?r.canSwitch=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?r.countAsHouse=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(r.tempConfigured=+e)}function Hu(a,e){const t=Ga(a);if(t==null){console.warn("Smarthome: Missing index in "+a);return}ne.has(t)||Yt(t);const r=ne.get(t);if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))r.power=+e,Ru("power");else if(!a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))r.runningTime=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))r.temp[0]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))r.temp[1]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))r.temp[2]=+e;else if(a.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:r.status="off";break;case 11:r.status="on";break;case 20:r.status="detection";break;case 30:r.status="timeout";break;default:r.status="off"}}}function Ru(a){switch(a){case"power":j.devices.power=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.power,0);break;case"energy":j.devices.energy=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.energy,0);break;default:console.error("Unknown category")}}function Ga(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Ct=le([]);class oa{constructor(e,t,r,s){b(this,"name");b(this,"children");b(this,"count");b(this,"lastValue");this.name=e,this.children=t,this.count=r,this.lastValue=s}insert(e,t){if(e.length){const r=e.splice(1);if(e[0]==this.name)if(r.length){let s=!1;if(this.children.forEach(o=>{o.name==r[0]&&(o.insert(r,t),s=!0)}),!s){const o=new oa(r[0],[],0,"");o.insert(r,t),this.children.push(o)}}else this.count=this.count+1,this.lastValue=t}}}function Ju(a,e){const t=a.split("/");if(t.length){let r=!1;if(Ct.forEach(s=>{s.name==t[0]&&(s.insert(t,e),r=!0)}),!r){const s=new oa(t[0],[],0,"");Ct.push(s),s.insert(t,e)}}}const Yu=["openWB/counter/#","openWB/bat/#","openWB/pv/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+qt()+"/#"];function qu(){mn(Qu),Yu.forEach(a=>{Xe(a)}),fe()}function Qu(a,e){Ju(a,e.toString());const t=e.toString();a.match(/^openwb\/counter\/[0-9]+\//i)?Zu(a,t):a.match(/^openwb\/counter\//i)?Xu(a,t):a.match(/^openwb\/bat\//i)?Eu(a,t):a.match(/^openwb\/pv\//i)?Ku(a,t):a.match(/^openwb\/chargepoint\//i)?Du(a,t):a.match(/^openwb\/vehicle\/template\//i)?ju(a,t):a.match(/^openwb\/vehicle\//i)?Gu(a,t):a.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?ed(a,t):a.match(/^openwb\/graph\//i)?Su(a,t):a.match(/^openwb\/log\/daily\//i)?Cu(a,t):a.match(/^openwb\/log\/monthly\//i)?Ou(a,t):a.match(/^openwb\/log\/yearly\//i)?Au(a,t):a.match(/^openwb\/optional\/et\//i)?Wu(a,t):a.match(/^openwb\/system\//i)?ad(a,t):a.match(/^openwb\/LegacySmartHome\//i)?Fu(a,t):a.match(/^openwb\/command\//i)&&nd(a,t)}function Zu(a,e){const t=a.split("/"),r=+t[2];if(r==de.evuId?td(a,e):t[3]=="config",t[3]=="get"&&r in ke)switch(t[4]){case"power":ke[r].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":ke[r].energy_imported=+e;break;case"daily_exported":ke[r].energy_exported=+e;break}}function Xu(a,e){if(a.match(/^openwb\/counter\/get\/hierarchy$/i)){const t=JSON.parse(e);if(t.length){_n(),is();for(const r of t)r.type=="counter"&&(de.evuId=r.id);ja(t[0])}}else a.match(/^openwb\/counter\/set\/home_consumption$/i)?j.house.power=+e:a.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(j.house.energy=+e)}function ja(a){switch(a.type){case"counter":au(a.id,a.type);break;case"cp":bn(a.id);break;case"bat":Aa(a.id);break}a.children.forEach(e=>ja(e))}function Ku(a,e){const t=rd(a);t&&!we.value.has(t)&&zn(t),a=="openWB/pv/get/power"?Q.pv.power=-e:a=="openWB/pv/get/daily_exported"?Q.pv.energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/power$/i)?we.value.get(t).power=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/daily_exported$/i)?we.value.get(t).energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/monthly_exported$/i)?we.value.get(t).energy_month=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/yearly_exported$/i)?we.value.get(t).energy_year=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/exported$/i)&&(we.value.get(t).energy_total=+e)}function ed(a,e){const t=a.split("/");if(t.length>0)switch(t[4]){case"bat_mode":de.updatePvBatteryPriority(JSON.parse(e));break}}function td(a,e){switch(a.split("/")[4]){case"power":+e>0?(Q.evuIn.power=+e,j.evuOut.power=0):(Q.evuIn.power=0,j.evuOut.power=-e);break;case"daily_imported":Q.evuIn.energy=+e;break;case"daily_exported":j.evuOut.energy=+e;break}}function ad(a,e){if(a.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const t=JSON.parse(e);switch(t.type){case"counter":case"consumption_counter":ke[t.id]&&(ke[t.id].name=t.name);break;case"inverter":case"inverter_secondary":we.value.has(t.id)||we.value.set(t.id,new $a(t.id)),we.value.get(t.id).name=t.name;break;case"bat":he.value.has(t.id)||Aa(t.id),he.value.get(t.id).name=t.name}}}function nd(a,e){const t=a.split("/");if(a.match(/^openWB\/command\/[a-z]+\/error$/i)&&t[2]==qt()){const r=JSON.parse(e);console.error(`Error message from openWB: -Command: ${r.command} -Data: JSON.stringify(err.data) -Error: - ${r.error}`)}}function rd(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const od={key:0,class:"fas fa-caret-down"},sd={key:1,class:"fas fa-caret-right"},id={key:0,class:"content p-2 m-2"},ld={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},cd=L({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=X(!e.hide),r=X(!1);const s=m(()=>e.node.name),o=m(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),d=m(()=>e.node.children.length),u=m(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function p(){d.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(r.value=!r.value)}return(c,k)=>{const P=tn("MqttNode",!0);return l(),f(U,null,[n("div",{class:"name py-2 px-2 m-0",style:ee(u.value),onClick:p},[(i(t)||e.expandAll)&&d.value>0||i(r)?(l(),f("span",od)):(l(),f("span",sd)),H(" "+S(s.value)+S(h.value),1)],4),i(r)?(l(),f("div",id,[n("code",null,S(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&d.value>0?(l(),f("div",ld,[(l(!0),f(U,null,te(o.value,(z,D)=>(l(),$(P,{key:D,level:e.level+1,node:z,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),ud=R(cd,[["__scopeId","data-v-df7e578a"]]),dd={class:"mqviewer"},hd={class:"row pt-2"},pd={class:"col"},gd={key:0,class:"topiclist"},md=L({__name:"MQTTViewer",setup(a){Le(()=>{});const e=X(!1);function t(){e.value=!e.value}const r=m(()=>e.value?"active":"");return(s,o)=>(l(),f("div",dd,[n("div",hd,[n("div",pd,[o[0]||(o[0]=n("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),o[1]||(o[1]=n("hr",null,null,-1)),n("button",{class:J(["btn btn-small btn-outline-primary ms-2",r.value]),onClick:t}," Expand All ",2),o[2]||(o[2]=n("hr",null,null,-1))])]),i(Ct)[0]?(l(),f("div",gd,[(l(!0),f(U,null,te(i(Ct)[0].children.sort((h,d)=>h.name(l(),$(ud,{key:d,node:h,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),fd=R(md,[["__scopeId","data-v-a349646d"]]),vd=["value"],yd=L({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,r=e,s=m({get(){return t.modelValue},set(o){r("update:modelValue",o)}});return(o,h)=>vt((l(),f("select",{id:"selectme","onUpdate:modelValue":h[0]||(h[0]=d=>s.value=d),class:"form-select"},[(l(!0),f(U,null,te(o.options,(d,u)=>(l(),f("option",{key:u,value:d[1]},S(d[0]),9,vd))),128))],512)),[[an,s.value]])}}),bd=R(yd,[["__scopeId","data-v-5e33ce1f"]]),_d={class:"subgrid m-0 p-0"},wd={class:"settingscolumn"},kd={class:"settingscolumn"},xd={class:"settingscolumn"},Sd=L({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,r=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],o=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],h=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],d=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,p)=>(l(),$(je,{"full-width":!0},{title:_(()=>p[23]||(p[23]=[H(" Look & Feel ")])),buttons:_(()=>p[24]||(p[24]=[n("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[n("span",null,[n("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[n("div",_d,[n("div",wd,[v(F,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[v(We,{modelValue:i(g).displayMode,"onUpdate:modelValue":p[0]||(p[0]=c=>i(g).displayMode=c),options:r},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[v(We,{modelValue:i(g).smartHomeColors,"onUpdate:modelValue":p[1]||(p[1]=c=>i(g).smartHomeColors=c),options:o},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{default:_(()=>[v(se,{modelValue:i(g).showGrid,"onUpdate:modelValue":p[2]||(p[2]=c=>i(g).showGrid=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{default:_(()=>[v(se,{modelValue:i(g).showRelativeArcs,"onUpdate:modelValue":p[3]||(p[3]=c=>i(g).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(g).showRelativeArcs?(l(),$(F,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(g).showRelativeArcs?(l(),f("button",{key:0,class:"btn btn-secondary",onClick:p[4]||(p[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),v(F,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[v(bd,{modelValue:i(g).decimalPlaces,"onUpdate:modelValue":p[5]||(p[5]=c=>i(g).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[v(We,{modelValue:i(g).showClock,"onUpdate:modelValue":p[6]||(p[6]=c=>i(g).showClock=c),options:h},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[v(We,{modelValue:i(g).shortCpList,"onUpdate:modelValue":p[7]||(p[7]=c=>i(g).shortCpList=c),options:d},null,8,["modelValue"])]),_:1})]),n("div",kd,[v(F,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{default:_(()=>[v(se,{modelValue:i(g).showButtonBar,"onUpdate:modelValue":p[8]||(p[8]=c=>i(g).showButtonBar=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{default:_(()=>[v(se,{modelValue:i(g).showQuickAccess,"onUpdate:modelValue":p[9]||(p[9]=c=>i(g).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{default:_(()=>[v(se,{modelValue:i(g).preferWideBoxes,"onUpdate:modelValue":p[10]||(p[10]=c=>i(g).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{default:_(()=>[v(se,{modelValue:i(g).fluidDisplay,"onUpdate:modelValue":p[11]||(p[11]=c=>i(g).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{default:_(()=>[v(se,{modelValue:i(g).showAnimations,"onUpdate:modelValue":p[12]||(p[12]=c=>i(g).showAnimations=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{default:_(()=>[v(se,{modelValue:i(g).showCounters,"onUpdate:modelValue":p[13]||(p[13]=c=>i(g).showCounters=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{default:_(()=>[v(se,{modelValue:i(g).showVehicles,"onUpdate:modelValue":p[14]||(p[14]=c=>i(g).showVehicles=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{default:_(()=>[v(se,{modelValue:i(g).showStandardVehicle,"onUpdate:modelValue":p[15]||(p[15]=c=>i(g).showStandardVehicle=c)},null,8,["modelValue"])]),_:1})]),n("div",xd,[v(F,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{default:_(()=>[v(se,{modelValue:i(g).showInverters,"onUpdate:modelValue":p[16]||(p[16]=c=>i(g).showInverters=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{default:_(()=>[v(se,{modelValue:i(g).alternativeEnergy,"onUpdate:modelValue":p[17]||(p[17]=c=>i(g).alternativeEnergy=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{default:_(()=>[v(se,{modelValue:i(g).showPrices,"onUpdate:modelValue":p[18]||(p[18]=c=>i(g).showPrices=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[v(Se,{id:"lowerPriceBound",modelValue:i(g).lowerPriceBound,"onUpdate:modelValue":p[19]||(p[19]=c=>i(g).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[v(Se,{id:"upperPriceBound",modelValue:i(g).upperPriceBound,"onUpdate:modelValue":p[20]||(p[20]=c=>i(g).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert eine mit SSL verschlüsselte Verbindung über HTTPS! Experimentelles Feature."},{default:_(()=>[v(se,{modelValue:i(g).sslPrefs,"onUpdate:modelValue":p[21]||(p[21]=c=>i(g).sslPrefs=c)},null,8,["modelValue"])]),_:1}),v(F,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{default:_(()=>[v(se,{modelValue:i(g).debug,"onUpdate:modelValue":p[22]||(p[22]=c=>i(g).debug=c)},null,8,["modelValue"])]),_:1})]),p[25]||(p[25]=n("div",{class:"grid-col-12 mb-3 me-3"},[n("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),Md=R(Sd,[["__scopeId","data-v-d82b4b16"]]),$d={class:"container-fluid px-2 m-0 theme-colors"},Pd={id:"themesettings",class:"collapse"},Cd={class:"row py-0 px-0 m-0"},Id={key:1,class:"row py-0 m-0 d-flex justify-content-center"},Bd={key:2,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Vd={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},Ld={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Od={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},Ad={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},Td={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},Ed={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},zd={key:3,id:"cpContent",class:"tab-content mx-0 pt-1"},Wd={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},Dd={class:"row py-0 m-0 d-flex justify-content-center"},Gd={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},jd={class:"row py-0 m-0 d-flex justify-content-center"},Ud={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},Fd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Nd={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},Hd={class:"row py-0 m-0 d-flex justify-content-center"},Rd={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},Jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Yd={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},qd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Qd={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},Zd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Xd={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},Kd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},eh={key:0,class:"row p-2 mt-5"},th={class:"col p-2"},ah={class:"d-flex justify-content-between"},nh={class:"mx-4"},rh={key:0},oh=L({__name:"ColorsTheme",setup(a){const e=X(!1),t=m(()=>[...ne.values()].filter(h=>h.configured).length>0);function r(){Ba()}function s(){e.value=!e.value}Le(()=>{r(),window.addEventListener("resize",Vn),window.addEventListener("focus",o),qu()});function o(){document.hasFocus()&&fe(!0)}return(h,d)=>(l(),f(U,null,[n("div",$d,[n("div",Pd,[v(Md,{onResetArcs:i(An)},null,8,["onResetArcs"])]),i(g).showButtonBar?(l(),$(Tc,{key:0})):w("",!0),n("div",Cd,[v(xu,null,nn({item1:_(()=>[v(hr)]),item2:_(()=>[v(bo)]),_:2},[i(g).alternativeEnergy?{name:"item3",fn:_(()=>[v(vs)]),key:"0"}:{name:"item3",fn:_(()=>[v(No)]),key:"1"}]),1024)]),i(g).showQuickAccess?w("",!0):(l(),f("div",Id,[v(Tt,{id:"1",compact:i(g).shortCpList=="always"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"NoTabs"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])),i(g).showQuickAccess?(l(),f("nav",Bd,[d[6]||(d[6]=rn('AllesLadepunkte',2)),i(g).showPrices?(l(),f("a",Vd,d[0]||(d[0]=[n("i",{class:"fa-solid fa-lg fa-coins"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(g).showVehicles?(l(),f("a",Ld,d[1]||(d[1]=[n("i",{class:"fa-solid fa-lg fa-car"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(de).isBatteryConfigured?(l(),f("a",Od,d[2]||(d[2]=[n("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),f("a",Ad,d[3]||(d[3]=[n("i",{class:"fa-solid fa-lg fa-plug"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(g).showCounters?(l(),f("a",Td,d[4]||(d[4]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(g).showInverters?(l(),f("a",Ed,d[5]||(d[5]=[n("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(g).showQuickAccess?(l(),f("div",zd,[n("div",Wd,[n("div",Dd,[v(Tt,{id:"2",compact:i(g).shortCpList!="no"},null,8,["compact"]),i(g).showPrices?(l(),$(jt,{key:0,id:"Overview"})):w("",!0),i(g).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(Et),t.value?(l(),$(zt,{key:2})):w("",!0),i(g).showCounters?(l(),$(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),$(Ut,{key:4})):w("",!0)])]),n("div",Gd,[n("div",jd,[v(Tt,{id:"3",compact:i(g).shortCpList=="always"},null,8,["compact"])])]),n("div",Ud,[i(g).showVehicles?(l(),f("div",Fd,[v(Dt)])):w("",!0)]),n("div",Nd,[n("div",Hd,[v(Et)])]),n("div",Rd,[t.value?(l(),f("div",Jd,[v(zt)])):w("",!0)]),n("div",Yd,[i(g).showCounters?(l(),f("div",qd,[v(Wt)])):w("",!0)]),n("div",Qd,[i(g).showInverters?(l(),f("div",Zd,[v(Ut)])):w("",!0)]),n("div",Xd,[i(g).showPrices?(l(),f("div",Kd,[v(jt,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(g).debug?(l(),f("div",eh,[n("div",th,[d[7]||(d[7]=n("hr",null,null,-1)),n("div",ah,[n("p",nh,"Screen Width: "+S(i($t).x),1),n("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),f("hr",rh)):w("",!0),e.value?(l(),$(fd,{key:1})):w("",!0)])])):w("",!0)],64))}}),sh=R(oh,[["__scopeId","data-v-0542a138"]]),ih={class:"navbar navbar-expand-lg px-0 mb-0"},lh={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},ch=L({__name:"NavigationBar",setup(a){let e;const t=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return Le(()=>{e=setInterval(()=>{Rt.value=new Date},1e3)}),on(()=>{clearInterval(e)}),(r,s)=>(l(),f(U,null,[n("nav",ih,[n("div",{class:J(t.value)},[s[0]||(s[0]=n("a",{href:"/",class:"navbar-brand"},[n("span",null,"openWB")],-1)),i(g).showClock=="navbar"?(l(),f("span",lh,S(i(La)(i(Rt))),1)):w("",!0),s[1]||(s[1]=n("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=n("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[n("div",{class:"nav navbar-nav"},[n("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),n("div",{class:"nav-item dropdown"},[n("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Auswertungen "),n("i",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[n("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),n("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),n("div",{class:"nav-item dropdown"},[n("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Einstellungen "),n("span",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[n("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),n("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[n("span",null,[H("Look&Feel"),n("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),n("div",{class:J(t.value)},s[3]||(s[3]=[n("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),uh=R(ch,[["__scopeId","data-v-ed619966"]]),dh={id:"app",class:"m-0 p-0"},hh={class:"row p-0 m-0"},ph={class:"col-12 p-0 m-0"},gh=L({__name:"App",setup(a){const e=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return(t,r)=>(l(),f("div",dh,[v(uh),n("div",{class:J(["p-0",e.value])},[n("div",hh,[n("div",ph,[v(sh)])])],2)]))}}),mh=sn(gh);ln();mh.mount("#app"); diff --git a/packages/modules/web_themes/colors/web/index.html b/packages/modules/web_themes/colors/web/index.html index 95e6c4cd15..69c4c345df 100644 --- a/packages/modules/web_themes/colors/web/index.html +++ b/packages/modules/web_themes/colors/web/index.html @@ -24,9 +24,9 @@ openWB - + - + diff --git a/requirements.txt b/requirements.txt index 705e0604f5..9a16e6df9d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ bs4==0.0.1 pkce==1.0.3 # skodaconnect==1.3.4 evdev==1.5.0 -cryptography==44.0.1 +cryptography==44.0.0 msal==1.31.1 python-dateutil==2.8.2 umodbus==1.0.4 diff --git a/runs/install_zabbix.sh b/runs/install_zabbix.sh old mode 100755 new mode 100644 diff --git a/runs/remoteSupport/remoteSupport.py b/runs/remoteSupport/remoteSupport.py index 15913eae09..8e6c037757 100755 --- a/runs/remoteSupport/remoteSupport.py +++ b/runs/remoteSupport/remoteSupport.py @@ -2,7 +2,6 @@ import logging import re import json -from datetime import datetime from subprocess import Popen from pathlib import Path from time import sleep @@ -10,7 +9,6 @@ import paho.mqtt.client as mqtt import platform - API_VERSION = "1" BASE_PATH = Path(__file__).resolve().parents[2] RAMDISK_PATH = BASE_PATH / "ramdisk" @@ -210,7 +208,7 @@ def is_tunnel_closed(tunnel: Popen) -> bool: lt_executable = get_lt_executable() -client = mqtt.Client(f"openWB-remote-{get_serial()}-{datetime.today().timestamp()}") +client = mqtt.Client("openWB-remote-" + get_serial()) client.on_connect = on_connect client.on_message = on_message client.will_set(STATE_TOPIC, json.dumps("offline"), qos=2, retain=True) diff --git a/runs/setup_network.sh b/runs/setup_network.sh index f3da7a03b3..76854d548f 100755 --- a/runs/setup_network.sh +++ b/runs/setup_network.sh @@ -63,7 +63,7 @@ function setup_pnp_network() { } function check_internet_connection() { - if curl -s --head --connect-timeout 3 --request GET "https://www.github.com" >/dev/null; then + if curl -s --head --request GET "https://www.github.com" >/dev/null; then echo "Internet connection is up" else echo "ERROR: no internet connection!" diff --git a/web/settings/assets/ChargeLog-79458b98.js b/web/settings/assets/ChargeLog-055b2ece.js similarity index 53% rename from web/settings/assets/ChargeLog-79458b98.js rename to web/settings/assets/ChargeLog-055b2ece.js index 04b4609fa8..854aff10de 100644 --- a/web/settings/assets/ChargeLog-79458b98.js +++ b/web/settings/assets/ChargeLog-055b2ece.js @@ -1,3 +1,3 @@ -import{l as N,_ as k,$ as x,F as B}from"./vendor-fortawesome-979a7935.js";import{_ as E,a0 as S,u as h,l as u,m as c,G as g,E as s,x as i,z as V,B as I,y as d,F as n,P as _,q as w}from"./vendor-0c15df0c.js";import{C as W}from"./index-e7db68ea.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";N.add(k,x);const F={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:B},mixins:[W],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.join(";")).join(` +import{l as N,_ as k,$ as x,F as E}from"./vendor-fortawesome-231ff303.js";import{_ as B,a0 as S,u as h,l as c,m as u,x as i,G as g,E as s,z as V,B as I,y as d,F as n,P as _,q as w}from"./vendor-0c15df0c.js";import{C as F}from"./index-8a28b331.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";N.add(k,x);const W={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:E},mixins:[F],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.join(";")).join(` `)+` -`}},chargeLogRead:{get(){return this.chargeLogDataset!=null}},chargeLogHasEntries:{get(){return this.chargeLogDataset==null?!1:this.chargeLogDataset.length>0}},totalRecordCount(){return this.chargeLogDataset.length},chargeModeList(){let t=this.chargeModes.map(e=>({value:e,text:this.translateChargeMode(e)}));return t.unshift({value:void 0,text:"Alle"}),t},chargePointList(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[{value:void 0,text:"Alle"}];for(const[,o]of Object.entries(t))e.push({value:o.id,text:o.name});return e},vehicleList(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[{value:void 0,text:"Alle"}];for(const[o,f]of Object.entries(t)){let l=parseInt(o.match(/\/([0-9]+)\/name$/)[1]);e.push({value:l,text:f})}return e}},beforeMount(){this.mqttTopicsToSubscribe.push("openWB/log/"+this.mqttClientId+"/data")},mounted(){const t=new Date;this.currentMonth=this.chargeLogDate=t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0"),this.requestChargeLog()},methods:{cleanRequestData(){"id"in this.chargeLogRequestData.filter.chargepoint&&(this.chargeLogRequestData.filter.chargepoint.id=this.chargeLogRequestData.filter.chargepoint.id.filter(t=>t!=null)),"chargemode"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.chargemode=this.chargeLogRequestData.filter.vehicle.chargemode.filter(t=>t!=null)),"id"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.id=this.chargeLogRequestData.filter.vehicle.id.filter(t=>t!=null))},requestChargeLog(){if(document.forms.chargeLogForm.reportValidity())this.cleanRequestData(),this.$emit("sendCommand",{command:"getChargeLog",data:this.chargeLogRequestData});else{console.warn("form invalid");return}},makeTextFile(t){var e=new Blob([t],{type:"text/csv"});return this.downloadFile!==null&&window.URL.revokeObjectURL(this.downloadFile),this.downloadFile=window.URL.createObjectURL(e),this.downloadFile},downloadChargeLog(){this.$refs.downloadChargeLogLink.setAttribute("download","Ladeprotokoll-"+this.chargeLogDate+".csv"),this.$refs.downloadChargeLogLink.href=this.makeTextFile(this.chargeLogCsv),this.$refs.downloadChargeLogLink.dispatchEvent(new MouseEvent("click"))},addClasses(t){return this.$store.state.mqtt["openWB/general/charge_log_data_config"]!==void 0&&Object.hasOwn(this.$store.state.mqtt["openWB/general/charge_log_data_config"],t)?this.$store.state.mqtt["openWB/general/charge_log_data_config"][t]?[]:["d-none"]:[]},getProgressTitle(t){return`Netz: ${this.formatNumber(t.grid,0,0)}%, Ladepunkte: ${this.formatNumber(t.cp,0,0)}%, Speicher: ${this.formatNumber(t.bat,0,0)}%, PV: ${this.formatNumber(t.pv,0,0)}%`},formatBool(t){return t?"Ja":"Nein"},formatW(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kW":o},formatWh(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kWh":o},formatRange(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"km":o},formatSoc(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"%":o},formatCosts(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,2));return e?o+"€":o},dashIfNotSet(t){return t==null||t==""||t==null?"-":t},getChargeModeClass(t){switch(t){case"Sofort":return"bg-danger";case"PV":return"bg-success";case"Zielladen":return"bg-primary";case"Zeitladen":return"bg-warning";case"Standby":return"bg-secondary";case"Stop":return"bg-dark";default:return console.warn("unknown charge mode:",t),"bg-light"}}}},y={class:"chargeLog"},T={key:0},U={key:1},M={name:"chargeLogForm"},P=["href"],z=["href"],O={key:1},Z={class:"td-end"},A={class:"td-end"},j=["title"],J=["aria-valuenow"],K=["aria-valuenow"],Y=["aria-valuenow"],G=["aria-valuenow"],H={key:1,class:"td-center"},Q={class:"td-end"},X={class:"no-wrap"},$={class:"no-wrap"},ee={class:"td-end"},te={class:"no-wrap"},ae={class:"no-wrap"},re={class:"td-end"},ie={class:"no-wrap"},se={class:"no-wrap"},oe={class:"td-end"},ne={class:"td-end"},le={key:0},de={class:"row justify-content-center"},ge={ref:"downloadChargeLogLink",class:"hide"},he={class:"td-end"},ue={class:"td-end"},ce={class:"td-end"},_e={class:"td-end"};function me(t,e,o,f,l,r){const m=h("openwb-base-alert"),D=h("openwb-base-text-input"),b=h("font-awesome-icon"),C=h("openwb-base-button-group-input"),p=h("openwb-base-select-input"),q=h("openwb-base-array-input"),v=h("openwb-base-card"),L=h("vue3-table-lite"),R=h("openwb-base-click-button");return u(),c("div",y,[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),c("div",T,[g(m,{subtype:"info"},{default:s(()=>e[13]||(e[13]=[d(' Das Ladeprotokoll ist nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Ladevorgänge in der openWB, die sich im Steuerungsmodus "primary" befindet. ')])),_:1})])):(u(),c("div",U,[i("form",M,[g(v,{title:"Filter"},{default:s(()=>[g(D,{modelValue:r.chargeLogDate,"onUpdate:modelValue":[e[0]||(e[0]=a=>r.chargeLogDate=a),e[1]||(e[1]=a=>r.requestChargeLog())],title:"Zeitraum",subtype:"month",min:"2018-01","show-quick-buttons":!0,max:l.currentMonth},null,8,["modelValue","max"]),g(v,{title:"Erweiterte Optionen",collapsible:!0,collapsed:!0},{header:s(()=>[g(b,{"fixed-width":"",icon:["fas","filter"]}),e[14]||(e[14]=d(" Erweiterte Optionen "))]),default:s(()=>[g(C,{modelValue:l.chargeLogRequestData.filter.vehicle.prio,"onUpdate:modelValue":[e[2]||(e[2]=a=>l.chargeLogRequestData.filter.vehicle.prio=a),e[3]||(e[3]=a=>r.requestChargeLog())],title:"Priorität",buttons:[{buttonValue:void 0,text:"Alle"},{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),g(p,{modelValue:l.chargeLogRequestData.filter.vehicle.chargemode,"onUpdate:modelValue":[e[4]||(e[4]=a=>l.chargeLogRequestData.filter.vehicle.chargemode=a),e[5]||(e[5]=a=>r.requestChargeLog())],title:"Lademodus",multiple:"",options:r.chargeModeList},{help:s(()=>e[15]||(e[15]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(p,{modelValue:l.chargeLogRequestData.filter.chargepoint.id,"onUpdate:modelValue":[e[6]||(e[6]=a=>l.chargeLogRequestData.filter.chargepoint.id=a),e[7]||(e[7]=a=>r.requestChargeLog())],title:"Ladepunkt",multiple:"",options:r.chargePointList},{help:s(()=>e[16]||(e[16]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(p,{modelValue:l.chargeLogRequestData.filter.vehicle.id,"onUpdate:modelValue":[e[8]||(e[8]=a=>l.chargeLogRequestData.filter.vehicle.id=a),e[9]||(e[9]=a=>r.requestChargeLog())],title:"Fahrzeug",multiple:"",options:r.vehicleList},{help:s(()=>e[17]||(e[17]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(q,{modelValue:l.chargeLogRequestData.filter.vehicle.tag,"onUpdate:modelValue":[e[10]||(e[10]=a=>l.chargeLogRequestData.filter.vehicle.tag=a),e[11]||(e[11]=a=>r.requestChargeLog())],title:"ID-Tags"},{help:s(()=>e[18]||(e[18]=[d(" Es können mehrere Tags als Filter verwendet werden. ")])),_:1},8,["modelValue"])]),_:1})]),_:1}),g(m,{subtype:"info"},{default:s(()=>[e[19]||(e[19]=d(" Das Ladeprotokoll kann monatsweise automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlMonth},n(r.downloadUrlMonth),9,P),e[20]||(e[20]=d()),e[21]||(e[21]=i("br",null,null,-1)),e[22]||(e[22]=d(" Das komplette Ladeprotokoll für das gesamte Jahr kann automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlYear},n(r.downloadUrlYear),9,z)]),_:1}),r.chargeLogRead?(u(),c("div",O,[g(L,{class:"charge-log-table","is-static-mode":!0,columns:r.chargeLogColumns,rows:r.chargeLogDataset,total:r.totalRecordCount,sortable:l.table.sortable,messages:l.table.messages,"page-options":l.table.pageOptions,limit:25,"is-slot-mode":!0},{time_begin:s(a=>[d(n(r.dashIfNotSet(a.value.time_begin)),1)]),time_end:s(a=>[d(n(r.dashIfNotSet(a.value.time_end)),1)]),time_time_charged:s(a=>[i("div",Z,n(a.value.time_time_charged),1)]),data_costs:s(a=>[i("div",A,n(r.formatCosts(a.value.data_costs)),1)]),data_power_source:s(a=>[a.value.data_power_source?(u(),c("div",{key:0,class:"progress td-center",title:r.getProgressTitle(a.value.data_power_source)},[i("div",{class:"progress-bar bg-danger",role:"progressbar",style:_({width:a.value.data_power_source.grid+"%"}),"aria-valuenow":a.value.data_power_source.grid,"aria-valuemin":"0","aria-valuemax":"100"},null,12,J),i("div",{class:"progress-bar bg-primary",role:"progressbar",style:_({width:a.value.data_power_source.cp+"%"}),"aria-valuenow":a.value.data_power_source.cp,"aria-valuemin":"0","aria-valuemax":"100"},null,12,K),i("div",{class:"progress-bar bg-warning",role:"progressbar",style:_({width:a.value.data_power_source.bat+"%"}),"aria-valuenow":a.value.data_power_source.bat,"aria-valuemin":"0","aria-valuemax":"100"},null,12,Y),i("div",{class:"progress-bar bg-success",role:"progressbar",style:_({width:a.value.data_power_source.pv+"%"}),"aria-valuenow":a.value.data_power_source.pv,"aria-valuemin":"0","aria-valuemax":"100"},null,12,G)],8,j)):(u(),c("div",H," - "))]),vehicle_chargemode:s(a=>[i("div",{class:w(["td-center tag",r.getChargeModeClass(a.value.vehicle_chargemode)])},n(a.value.vehicle_chargemode),3)]),vehicle_prio:s(a=>[i("div",{class:w(["td-center tag",a.value.vehicle_prio?"bg-success":"bg-danger"])},n(r.formatBool(a.value.vehicle_prio)),3)]),vehicle_rfid:s(a=>[d(n(r.dashIfNotSet(a.value.vehicle_rfid)),1)]),vehicle_soc_at_start:s(a=>[i("div",Q,[i("span",X,n(r.formatSoc(a.value.vehicle_soc_at_start)),1),i("span",$," ("+n(r.formatRange(a.value.vehicle_range_at_start))+") ",1)])]),vehicle_soc_at_end:s(a=>[i("div",ee,[i("span",te,n(r.formatSoc(a.value.vehicle_soc_at_end)),1),i("span",ae," ("+n(r.formatRange(a.value.vehicle_range_at_end))+") ",1)])]),chargepoint_name:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_name)),1)]),chargepoint_serial_number:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_serial_number)),1)]),data_imported_since_mode_switch:s(a=>[i("div",re,[i("span",ie,n(r.formatWh(a.value.data_imported_since_mode_switch)),1),i("span",se," ("+n(r.formatRange(a.value.data_range_charged))+") ",1)])]),chargepoint_imported_at_start:s(a=>[i("div",oe,n(r.formatWh(a.value.chargepoint_imported_at_start)),1)]),chargepoint_imported_at_end:s(a=>[i("div",ne,n(r.formatWh(a.value.chargepoint_imported_at_end)),1)]),_:1},8,["columns","rows","total","sortable","messages","page-options"]),r.totalRecordCount>0?(u(),c("div",le,[i("div",de,[g(R,{class:"col-4 btn-success",onButtonClicked:e[12]||(e[12]=a=>r.downloadChargeLog())},{default:s(()=>[e[24]||(e[24]=d(" Als CSV exportieren ")),g(b,{"fixed-width":"",icon:["fas","download"]})]),_:1}),i("a",ge,null,512)]),e[25]||(e[25]=i("div",{class:"row"},[i("div",{class:"col"},[i("h2",null,"Summe")])],-1)),g(L,{class:"charge-log-totals","is-static-mode":!0,"is-hide-paging":!0,columns:l.totals.columns,rows:r.chargeLogTotals,total:1,"is-slot-mode":!0},{time_charged:s(a=>[i("div",he,n(a.value.time_charged),1)]),imported_since_mode_switch:s(a=>[i("div",ue,n(r.formatWh(a.value.imported_since_mode_switch)),1)]),range_charged:s(a=>[i("div",ce,n(r.formatRange(a.value.range_charged)),1)]),costs:s(a=>[i("div",_e,n(r.formatCosts(a.value.costs)),1)]),_:1},8,["columns","rows"])])):I("",!0)])):(u(),V(m,{key:0,subtype:"info"},{default:s(()=>e[23]||(e[23]=[d(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])]))])}const Ce=E(F,[["render",me],["__scopeId","data-v-8607e7e7"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargeLog.vue"]]);export{Ce as default}; +`}},chargeLogRead:{get(){return this.chargeLogDataset!=null}},chargeLogHasEntries:{get(){return this.chargeLogDataset==null?!1:this.chargeLogDataset.length>0}},totalRecordCount(){return this.chargeLogDataset.length},chargeModeList(){let t=this.chargeModes.map(e=>({value:e,text:this.translateChargeMode(e)}));return t.unshift({value:void 0,text:"Alle"}),t},chargePointList(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[{value:void 0,text:"Alle"}];for(const[,o]of Object.entries(t))e.push({value:o.id,text:o.name});return e},vehicleList(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[{value:void 0,text:"Alle"}];for(const[o,p]of Object.entries(t)){let l=parseInt(o.match(/\/([0-9]+)\/name$/)[1]);e.push({value:l,text:p})}return e}},beforeMount(){this.mqttTopicsToSubscribe.push("openWB/log/"+this.mqttClientId+"/data")},mounted(){const t=new Date;this.currentMonth=this.chargeLogDate=t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0"),this.requestChargeLog()},methods:{cleanRequestData(){"id"in this.chargeLogRequestData.filter.chargepoint&&(this.chargeLogRequestData.filter.chargepoint.id=this.chargeLogRequestData.filter.chargepoint.id.filter(t=>t!=null)),"chargemode"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.chargemode=this.chargeLogRequestData.filter.vehicle.chargemode.filter(t=>t!=null)),"id"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.id=this.chargeLogRequestData.filter.vehicle.id.filter(t=>t!=null))},requestChargeLog(){if(document.forms.chargeLogForm.reportValidity())this.cleanRequestData(),this.$emit("sendCommand",{command:"getChargeLog",data:this.chargeLogRequestData});else{console.warn("form invalid");return}},makeTextFile(t){var e=new Blob([t],{type:"text/csv"});return this.downloadFile!==null&&window.URL.revokeObjectURL(this.downloadFile),this.downloadFile=window.URL.createObjectURL(e),this.downloadFile},downloadChargeLog(){this.$refs.downloadChargeLogLink.setAttribute("download","Ladeprotokoll-"+this.chargeLogDate+".csv"),this.$refs.downloadChargeLogLink.href=this.makeTextFile(this.chargeLogCsv),this.$refs.downloadChargeLogLink.dispatchEvent(new MouseEvent("click"))},addClasses(t){return this.$store.state.mqtt["openWB/general/charge_log_data_config"]!==void 0&&Object.hasOwn(this.$store.state.mqtt["openWB/general/charge_log_data_config"],t)?this.$store.state.mqtt["openWB/general/charge_log_data_config"][t]?[]:["d-none"]:[]},getProgressTitle(t){return`Netz: ${this.formatNumber(t.grid,0,0)}%, Ladepunkte: ${this.formatNumber(t.cp,0,0)}%, Speicher: ${this.formatNumber(t.bat,0,0)}%, PV: ${this.formatNumber(t.pv,0,0)}%`},formatBool(t){return t?"Ja":"Nein"},formatW(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kW":o},formatWh(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kWh":o},formatRange(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"km":o},formatSoc(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"%":o},formatCosts(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,2));return e?o+"€":o},dashIfNotSet(t){return t==null||t==""||t==null?"-":t},getChargeModeClass(t){switch(t){case"Sofort":return"bg-danger";case"PV":return"bg-success";case"Zielladen":return"bg-primary";case"Zeitladen":return"bg-warning";case"Standby":return"bg-secondary";case"Stop":return"bg-dark";default:return console.warn("unknown charge mode:",t),"bg-light"}}}},T={class:"chargeLog"},U={name:"chargeLogForm"},y=["href"],M=["href"],P={key:1},z={class:"td-end"},O={class:"td-end"},Z=["title"],A=["aria-valuenow"],j=["aria-valuenow"],J=["aria-valuenow"],K=["aria-valuenow"],Y={key:1,class:"td-center"},G={class:"td-end"},H={class:"no-wrap"},Q={class:"no-wrap"},X={class:"td-end"},$={class:"no-wrap"},ee={class:"no-wrap"},te={class:"td-end"},ae={class:"no-wrap"},re={class:"no-wrap"},ie={class:"td-end"},se={class:"td-end"},oe={key:0},ne={class:"row justify-content-center"},le={ref:"downloadChargeLogLink",class:"hide"},de={class:"td-end"},ge={class:"td-end"},he={class:"td-end"},ce={class:"td-end"};function ue(t,e,o,p,l,r){const D=h("openwb-base-text-input"),f=h("font-awesome-icon"),C=h("openwb-base-button-group-input"),m=h("openwb-base-select-input"),q=h("openwb-base-array-input"),b=h("openwb-base-card"),v=h("openwb-base-alert"),L=h("vue3-table-lite"),R=h("openwb-base-click-button");return c(),u("div",T,[i("form",U,[g(b,{title:"Filter"},{default:s(()=>[g(D,{modelValue:r.chargeLogDate,"onUpdate:modelValue":[e[0]||(e[0]=a=>r.chargeLogDate=a),e[1]||(e[1]=a=>r.requestChargeLog())],title:"Zeitraum",subtype:"month",min:"2018-01","show-quick-buttons":!0,max:l.currentMonth},null,8,["modelValue","max"]),g(b,{title:"Erweiterte Optionen",collapsible:!0,collapsed:!0},{header:s(()=>[g(f,{"fixed-width":"",icon:["fas","filter"]}),e[13]||(e[13]=d(" Erweiterte Optionen "))]),default:s(()=>[g(C,{modelValue:l.chargeLogRequestData.filter.vehicle.prio,"onUpdate:modelValue":[e[2]||(e[2]=a=>l.chargeLogRequestData.filter.vehicle.prio=a),e[3]||(e[3]=a=>r.requestChargeLog())],title:"Priorität",buttons:[{buttonValue:void 0,text:"Alle"},{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),g(m,{modelValue:l.chargeLogRequestData.filter.vehicle.chargemode,"onUpdate:modelValue":[e[4]||(e[4]=a=>l.chargeLogRequestData.filter.vehicle.chargemode=a),e[5]||(e[5]=a=>r.requestChargeLog())],title:"Lademodus",multiple:"",options:r.chargeModeList},{help:s(()=>e[14]||(e[14]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(m,{modelValue:l.chargeLogRequestData.filter.chargepoint.id,"onUpdate:modelValue":[e[6]||(e[6]=a=>l.chargeLogRequestData.filter.chargepoint.id=a),e[7]||(e[7]=a=>r.requestChargeLog())],title:"Ladepunkt",multiple:"",options:r.chargePointList},{help:s(()=>e[15]||(e[15]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(m,{modelValue:l.chargeLogRequestData.filter.vehicle.id,"onUpdate:modelValue":[e[8]||(e[8]=a=>l.chargeLogRequestData.filter.vehicle.id=a),e[9]||(e[9]=a=>r.requestChargeLog())],title:"Fahrzeug",multiple:"",options:r.vehicleList},{help:s(()=>e[16]||(e[16]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(q,{modelValue:l.chargeLogRequestData.filter.vehicle.tag,"onUpdate:modelValue":[e[10]||(e[10]=a=>l.chargeLogRequestData.filter.vehicle.tag=a),e[11]||(e[11]=a=>r.requestChargeLog())],title:"ID-Tags"},{help:s(()=>e[17]||(e[17]=[d(" Es können mehrere Tags als Filter verwendet werden. ")])),_:1},8,["modelValue"])]),_:1})]),_:1}),g(v,{subtype:"info"},{default:s(()=>[e[18]||(e[18]=d(" Das Ladeprotokoll kann monatsweise automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlMonth},n(r.downloadUrlMonth),9,y),e[19]||(e[19]=d()),e[20]||(e[20]=i("br",null,null,-1)),e[21]||(e[21]=d(" Das komplette Ladeprotokoll für das gesamte Jahr kann automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlYear},n(r.downloadUrlYear),9,M)]),_:1}),r.chargeLogRead?(c(),u("div",P,[g(L,{class:"charge-log-table","is-static-mode":!0,columns:r.chargeLogColumns,rows:r.chargeLogDataset,total:r.totalRecordCount,sortable:l.table.sortable,messages:l.table.messages,"page-options":l.table.pageOptions,limit:25,"is-slot-mode":!0},{time_begin:s(a=>[d(n(r.dashIfNotSet(a.value.time_begin)),1)]),time_end:s(a=>[d(n(r.dashIfNotSet(a.value.time_end)),1)]),time_time_charged:s(a=>[i("div",z,n(a.value.time_time_charged),1)]),data_costs:s(a=>[i("div",O,n(r.formatCosts(a.value.data_costs)),1)]),data_power_source:s(a=>[a.value.data_power_source?(c(),u("div",{key:0,class:"progress td-center",title:r.getProgressTitle(a.value.data_power_source)},[i("div",{class:"progress-bar bg-danger",role:"progressbar",style:_({width:a.value.data_power_source.grid+"%"}),"aria-valuenow":a.value.data_power_source.grid,"aria-valuemin":"0","aria-valuemax":"100"},null,12,A),i("div",{class:"progress-bar bg-primary",role:"progressbar",style:_({width:a.value.data_power_source.cp+"%"}),"aria-valuenow":a.value.data_power_source.cp,"aria-valuemin":"0","aria-valuemax":"100"},null,12,j),i("div",{class:"progress-bar bg-warning",role:"progressbar",style:_({width:a.value.data_power_source.bat+"%"}),"aria-valuenow":a.value.data_power_source.bat,"aria-valuemin":"0","aria-valuemax":"100"},null,12,J),i("div",{class:"progress-bar bg-success",role:"progressbar",style:_({width:a.value.data_power_source.pv+"%"}),"aria-valuenow":a.value.data_power_source.pv,"aria-valuemin":"0","aria-valuemax":"100"},null,12,K)],8,Z)):(c(),u("div",Y," - "))]),vehicle_chargemode:s(a=>[i("div",{class:w(["td-center tag",r.getChargeModeClass(a.value.vehicle_chargemode)])},n(a.value.vehicle_chargemode),3)]),vehicle_prio:s(a=>[i("div",{class:w(["td-center tag",a.value.vehicle_prio?"bg-success":"bg-danger"])},n(r.formatBool(a.value.vehicle_prio)),3)]),vehicle_rfid:s(a=>[d(n(r.dashIfNotSet(a.value.vehicle_rfid)),1)]),vehicle_soc_at_start:s(a=>[i("div",G,[i("span",H,n(r.formatSoc(a.value.vehicle_soc_at_start)),1),i("span",Q," ("+n(r.formatRange(a.value.vehicle_range_at_start))+") ",1)])]),vehicle_soc_at_end:s(a=>[i("div",X,[i("span",$,n(r.formatSoc(a.value.vehicle_soc_at_end)),1),i("span",ee," ("+n(r.formatRange(a.value.vehicle_range_at_end))+") ",1)])]),chargepoint_name:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_name)),1)]),chargepoint_serial_number:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_serial_number)),1)]),data_imported_since_mode_switch:s(a=>[i("div",te,[i("span",ae,n(r.formatWh(a.value.data_imported_since_mode_switch)),1),i("span",re," ("+n(r.formatRange(a.value.data_range_charged))+") ",1)])]),chargepoint_imported_at_start:s(a=>[i("div",ie,n(r.formatWh(a.value.chargepoint_imported_at_start)),1)]),chargepoint_imported_at_end:s(a=>[i("div",se,n(r.formatWh(a.value.chargepoint_imported_at_end)),1)]),_:1},8,["columns","rows","total","sortable","messages","page-options"]),r.totalRecordCount>0?(c(),u("div",oe,[i("div",ne,[g(R,{class:"col-4 btn-success",onButtonClicked:e[12]||(e[12]=a=>r.downloadChargeLog())},{default:s(()=>[e[23]||(e[23]=d(" Als CSV exportieren ")),g(f,{"fixed-width":"",icon:["fas","download"]})]),_:1}),i("a",le,null,512)]),e[24]||(e[24]=i("div",{class:"row"},[i("div",{class:"col"},[i("h2",null,"Summe")])],-1)),g(L,{class:"charge-log-totals","is-static-mode":!0,"is-hide-paging":!0,columns:l.totals.columns,rows:r.chargeLogTotals,total:1,"is-slot-mode":!0},{time_charged:s(a=>[i("div",de,n(a.value.time_charged),1)]),imported_since_mode_switch:s(a=>[i("div",ge,n(r.formatWh(a.value.imported_since_mode_switch)),1)]),range_charged:s(a=>[i("div",he,n(r.formatRange(a.value.range_charged)),1)]),costs:s(a=>[i("div",ce,n(r.formatCosts(a.value.costs)),1)]),_:1},8,["columns","rows"])])):I("",!0)])):(c(),V(v,{key:0,subtype:"info"},{default:s(()=>e[22]||(e[22]=[d(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])])}const we=B(W,[["render",ue],["__scopeId","data-v-8607e7e7"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargeLog.vue"]]);export{we as default}; diff --git a/web/settings/assets/ChargePointInstallation-4851d3f5.js b/web/settings/assets/ChargePointInstallation-4851d3f5.js deleted file mode 100644 index 1fd821f976..0000000000 --- a/web/settings/assets/ChargePointInstallation-4851d3f5.js +++ /dev/null @@ -1 +0,0 @@ -import{l as Z,d as J,a7 as H,A as G,ag as Q,ah as X,M as Y,ai as K,F as ee,I as te}from"./vendor-fortawesome-979a7935.js";import{_ as P,C as ne}from"./index-e7db68ea.js";import{_ as D}from"./dynamic-import-helper-be004503.js";import{_ as S,u as h,l as i,m as p,z as f,E as o,y as r,F as w,G as a,x as d,a1 as E,a2 as q,N as A,M as x,B as g,D as M,q as ae,A as oe}from"./vendor-0c15df0c.js";const ie={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},le=S(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[le]},se={class:"charge-point-config-fallback"},ue={key:1};function de(t,e,m,V,c,u){const k=h("openwb-base-alert"),_=h("openwb-base-textarea");return i(),p("div",se,[Object.keys(t.chargePoint.configuration).length==0?(i(),f(k,{key:0,subtype:"info"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(i(),p("div",ue,[a(k,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+w(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(_,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=L=>t.updateConfiguration(L,"configuration"))},{help:o(()=>e[1]||(e[1]=[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(k,{subtype:"info"},{default:o(()=>[d("pre",null,w(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const pe=S(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),me={props:{chargePoint:{type:Object,required:!0}}},ge=S(me,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),he={name:"ChargePointCommandsFallback",mixins:[ge]},ce={class:"charge-point-commands-fallback"};function be(t,e,m,V,c,u){const k=h("openwb-base-alert");return i(),p("div",ce,[a(k,{subtype:"secondary"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=S(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),_e={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],methods:{getChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),E({loader:()=>D(Object.assign({"./external_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-80dffdd9.js"),["assets/chargePoint-80dffdd9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-0589eb90.js"),["assets/chargePoint-0589eb90.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>P(()=>import("./chargePoint-219e2ada.js"),["assets/chargePoint-219e2ada.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>P(()=>import("./chargePoint-c70ace8b.js"),["assets/chargePoint-c70ace8b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>P(()=>import("./chargePoint-e841d870.js"),["assets/chargePoint-e841d870.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>P(()=>import("./chargePoint-9fe4f654.js"),["assets/chargePoint-9fe4f654.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>P(()=>import("./chargePoint-17364b91.js"),["assets/chargePoint-17364b91.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:pe})},getChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),E({loader:()=>D(Object.assign({"./internal_openwb/commands.vue":()=>P(()=>import("./commands-c2da35a6.js"),["assets/commands-c2da35a6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>P(()=>import("./commands-05432a36.js"),["assets/commands-05432a36.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:fe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,m,V,c,u){const k=h("openwb-base-heading");return i(),p(A,null,[a(k,null,{default:o(()=>[r(' Einstellungen für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(i(),f(q(u.getChargePointSettingsComponent()),{"charge-point":m.chargePoint,"onUpdate:configuration":e[0]||(e[0]=_=>u.updateConfiguration(_))},null,40,["charge-point"])),e[1]||(e[1]=d("hr",null,null,-1)),a(k,null,{default:o(()=>[r(' Befehle für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(i(),f(q(u.getChargePointCommandsComponent()),{"charge-point":m.chargePoint},null,8,["charge-point"]))],64)}const we=S(_e,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);Z.add(J,H,G,Q,X,Y,K);const ke={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:ee,FontAwesomeLayers:te,OpenwbChargePointProxy:we},mixins:[ne],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[m,V]of Object.entries(t))(V.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[m]=V);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let m=parseInt(e.match(/([0-9]+)/g)[0]),V=this.$store.state.mqtt["openWB/chargepoint/template/"+m].name;t.push({value:m,text:V})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){e.stopPropagation(),this.modalChargePointIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepoint",data:{id:t}})},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(t,e){e.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:t}})},addChargePointTemplateAutolockPlan(t,e){e.stopPropagation();let m=this.getChargePointTemplateIndex(t);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:m}})},removeChargePointTemplateAutolockPlanModal(t,e,m){m.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.modalChargePointTemplateAutolockPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(t,e,m){this.showChargePointTemplateAutolockPlanModal=!1,m=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:t,plan:e}})},getChargePointTemplateAutolockPlanName(t,e){return this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e].name:"Autolock Zeitplan "+t+"/"+e},getChargePointTemplateAutolockPlans(t){let e=this.getChargePointTemplateIndex(t);return this.getWildcardTopics("openWB/chargepoint/template/"+e+"/autolock/+")},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve={key:2},Le={key:0},Be={key:0},We={key:1},Ae={key:1},Se={key:0},Ue={key:2},xe={key:4},Ie=["onClick"],Te={key:0},ze={key:1},De={key:2},Ee={key:2};function qe(t,e,m,V,c,u){const k=h("openwb-base-modal-dialog"),_=h("font-awesome-icon"),L=h("openwb-base-avatar"),y=h("openwb-base-text-input"),I=h("openwb-base-select-input"),F=h("openwb-charge-point-proxy"),B=h("openwb-base-heading"),C=h("openwb-base-button-group-input"),U=h("openwb-base-card"),O=h("font-awesome-layers"),T=h("openwb-base-alert"),N=h("openwb-base-array-input"),z=h("openwb-base-range-input"),$=h("openwb-base-number-input"),R=h("openwb-base-submit-buttons");return i(),p(A,null,[a(k,{show:c.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=l=>u.removeChargePoint(c.modalChargePointIndex,l))},{default:o(()=>[r(' Wollen Sie den Ladepunkt "'+w(u.getChargePointName(c.modalChargePointIndex))+'" (ID: '+w(c.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=l=>u.removeChargePointTemplate(c.modalChargePointTemplateIndex,l))},{default:o(()=>[r(' Wollen Sie das Ladepunkt-Profil "'+w(u.getChargePointTemplateName(c.modalChargePointTemplateIndex))+'" (ID: '+w(c.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=l=>u.removeChargePointTemplateAutolockPlan(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex,l))},{default:o(()=>[r(' Wollen Sie den Autolock Zeitplan "'+w(u.getChargePointTemplateAutolockPlanName(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[a(U,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!m.installAssistantActive},{header:o(()=>[a(_,{"fixed-width":"",icon:["fas","charging-station"]}),e[7]||(e[7]=r(" Ladepunkte "))]),default:o(()=>[(i(!0),p(A,null,x(u.installedChargePoints,(l,s)=>(i(),f(U,{key:s,title:l.name+" (ID: "+l.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(n=>[n.collapsed?g("",!0):(i(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":l.name,"onUpdate:modelValue":n=>t.updateState(s,n,"name")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[s].type},null,8,["model-value"]),l.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),p("span",Pe,[a(I,{title:"Ladepunkt-Profil",options:u.chargePointTemplateList,"model-value":t.$store.state.mqtt[s].template,"onUpdate:modelValue":n=>t.updateState(s,n,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(i(),f(y,{key:1,title:"OCPP-Chargebox ID","model-value":l.ocpp_chargebox_id,"onUpdate:modelValue":n=>t.updateState(s,n,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[r(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0),e[14]||(e[14]=d("hr",null,null,-1)),a(F,{"charge-point":l,"onUpdate:configuration":n=>u.updateConfiguration(s,n)},null,8,["charge-point","onUpdate:configuration"]),(l.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&l.charging_type!=="DC"?(i(),p("div",Ve,[e[13]||(e[13]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[9]||(e[9]=[r(" Hardware-Optionen ")])]),_:1}),a(C,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.auto_phase_switch_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.control_pilot_interruption_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[r(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem Feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{default:o(()=>[...e[11]||(e[11]=[r(" Elektrischer Anschluss ")])]),_:1}),a(C,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":l.connected_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":l.phase_1,"onUpdate:modelValue":n=>t.updateState(s,n,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[r(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),d("br",null,null,-1),r(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),d("br",null,null,-1),r(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),d("br",null,null,-1),r(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),d("br",null,null,-1),r(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(u.installedChargePoints).length>0?(i(),p("hr",Le)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:u.getChargePointList(),"model-value":c.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=l=>c.chargePointToAdd=l),"onInput:add":u.addChargePoint},{help:o(()=>e[15]||(e[15]=[r(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),d("br",null,null,-1),d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),d("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),d("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[37]||(e[37]=d("hr",{class:"border-secondary"},null,-1)),a(U,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(O,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[a(_,{"fixed-width":"",icon:["far","file"]}),a(_,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=r(" Ladepunkt-Profile "))]),actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),f(L,{key:0,class:"bg-success clickable",onClick:u.addChargePointTemplate},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),p("div",Be,[a(T,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),p("div",We,[(i(!0),p(A,null,x(u.chargePointTemplates,(l,s)=>(i(),f(U,{key:s,title:l.name+" (ID: "+u.getChargePointTemplateIndex(s)+")",collapsible:!0,collapsed:!0},M({default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":l.name,disabled:s.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(s,n,"name")},M({_:2},[s.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=r(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),u.dcChargingEnabled===!0?(i(),f(C,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":l.charging_type,"onUpdate:modelValue":n=>t.updateState(s,n,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[35]||(e[35]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[19]||(e[19]=[r(" Zugangskontrolle ")])]),_:1}),a(C,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.disable_after_unplug,"onUpdate:modelValue":n=>t.updateState(s,n,"disable_after_unplug")},{help:o(()=>[...e[20]||(e[20]=[r(" Sperrt den Ladepunkt nach Abstecken eines Fahrzeuges. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!m.installAssistantActive?(i(),p("div",Ae,[l.disable_after_unplug?(i(),f(N,{key:0,title:"Zugeordnete ID-Tags","no-elements-message":"Keine ID-Tags zugeordnet.","model-value":l.valid_tags,"onUpdate:modelValue":n=>t.updateState(s,n,"valid_tags")},{help:o(()=>[...e[21]||(e[21]=[r(" Die hier eingetragenen ID-Tags dienen ausschließlich zum Entsperren des Ladepunktes. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0)])):g("",!0),e[36]||(e[36]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[22]||(e[22]=[r(" Angaben zum konfigurierten Ladestrom der openWB ")])]),_:1}),a(T,{subtype:"info"},{default:o(()=>[e[23]||(e[23]=r(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.")),e[24]||(e[24]=d("br",null,null,-1)),e[25]||(e[25]=r(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ")),l.charging_type==="AC"?(i(),p("span",Se," Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen. ")):g("",!0),e[26]||(e[26]=d("br",null,null,-1)),e[27]||(e[27]=r(" Komplexere Installationen mit mehreren Ladepunkten werden im ")),e[28]||(e[28]=d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[29]||(e[29]=r(" beschrieben. "))]),_:2},1024),l.charging_type==="AC"||u.dcChargingEnabled!==!0?(i(),p("div",Ue,[a(z,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":l.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":l.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(i(),f($,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(l.dc_max_current),"onUpdate:modelValue":n=>t.updateState(s,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),m.installAssistantActive?g("",!0):(i(),p("div",xe,[e[34]||(e[34]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[30]||(e[30]=[r(" Sperren nach Uhrzeit (Komplettsperrung - keine Freischaltung per ID-Tag möglich) ")])]),_:1}),a(C,{title:"Sperren nach Uhrzeit aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.autolock.active,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.active")},{help:o(()=>[...e[31]||(e[31]=[r(" WirdSperren nach Uhrzeit aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. In dieser Zeit ist keine Freischaltung per RFID, Fahrzeugerkennung oder Pin möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(C,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.autolock.wait_for_charging_end,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.wait_for_charging_end")},{help:o(()=>[...e[32]||(e[32]=[r(' Wenn ein Zeitplan Sperren nach Uhrzeit aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{actions:o(()=>[a(L,{class:"bg-success clickable",onClick:n=>u.addChargePointTemplateAutolockPlan(s,n)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[33]||(e[33]=r(" Zeitpläne für Sperren nach Uhrzeit "))]),_:2},1024)])),(i(!0),p(A,null,x(u.getChargePointTemplateAutolockPlans(s),(n,v)=>(i(),f(U,{key:v,title:n.name,collapsible:!0,collapsed:!0},{actions:o(b=>[b.collapsed==!0?(i(),p("span",{key:0,class:ae(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:oe(W=>t.updateState(v,!n.active,"active"),["stop"])},[a(_,{"fixed-width":"",icon:["fas","clock"]}),r(" "+w(n.time[0])+" - "+w(n.time[1])+" ",1),n.frequency.selected=="once"?(i(),p("span",Te,[a(_,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+w(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):g("",!0),n.frequency.selected=="daily"?(i(),p("span",ze,[a(_,{"fixed-width":"",icon:["fas","calendar-week"]})])):g("",!0),n.frequency.selected=="weekly"?(i(),p("span",De,[a(_,{"fixed-width":"",icon:["fas","calendar-alt"]})])):g("",!0)],10,Ie)):g("",!0),b.collapsed==!1?(i(),f(L,{key:1,class:"bg-danger clickable",onClick:W=>u.removeChargePointTemplateAutolockPlanModal(s,v,W)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):g("",!0)]),default:o(()=>[a(y,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":b=>t.updateState(v,b,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":b=>t.updateState(v,b,"active")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Sperren um",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":b=>t.updateState(v,b,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Freigeben um",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":b=>t.updateState(v,b,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(i(),f(y,{key:0,title:"Sperren ab ...",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="once"?(i(),f(y,{key:1,title:"... bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="weekly"?(i(),p("div",Ee,[(i(!0),p(A,null,x(t.weekdays,(b,W)=>(i(),f(C,{key:W,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[W],"onUpdate:modelValue":j=>t.updateState(v,j,"frequency.weekly."+W)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):g("",!0)]),_:2},1032,["title"]))),128))]),_:2},[s.endsWith("/0")?void 0:{name:"actions",fn:o(n=>[n.collapsed?g("",!0):(i(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointTemplateModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(R,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=l=>t.$emit("save")),onReset:e[5]||(e[5]=l=>t.$emit("reset")),onDefaults:e[6]||(e[6]=l=>t.$emit("defaults"))})])])],64)}const Me=S(ke,[["render",qe],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),Re=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{le as C,ge as a,Me as b,Re as c}; diff --git a/web/settings/assets/ChargePointInstallation-e2d03469.js b/web/settings/assets/ChargePointInstallation-e2d03469.js new file mode 100644 index 0000000000..074d4f1018 --- /dev/null +++ b/web/settings/assets/ChargePointInstallation-e2d03469.js @@ -0,0 +1 @@ +import{l as Z,d as J,a7 as H,A as G,ag as Q,ah as X,K as Y,ai as K,F as ee,I as te}from"./vendor-fortawesome-231ff303.js";import{_ as P,C as ne}from"./index-8a28b331.js";import{_ as z}from"./dynamic-import-helper-be004503.js";import{_ as S,u as h,l as i,m as p,z as f,E as o,y as r,F as w,G as a,x as d,a1 as E,a2 as q,N as A,M as U,B as g,D as M,q as ae,A as oe}from"./vendor-0c15df0c.js";const ie={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},le=S(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[le]},se={class:"charge-point-config-fallback"},ue={key:1};function de(t,e,m,V,c,u){const k=h("openwb-base-alert"),_=h("openwb-base-textarea");return i(),p("div",se,[Object.keys(t.chargePoint.configuration).length==0?(i(),f(k,{key:0,subtype:"info"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(i(),p("div",ue,[a(k,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+w(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(_,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=L=>t.updateConfiguration(L,"configuration"))},{help:o(()=>e[1]||(e[1]=[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(k,{subtype:"info"},{default:o(()=>[d("pre",null,w(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const pe=S(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),me={props:{chargePoint:{type:Object,required:!0}}},ge=S(me,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),he={name:"ChargePointCommandsFallback",mixins:[ge]},ce={class:"charge-point-commands-fallback"};function be(t,e,m,V,c,u){const k=h("openwb-base-alert");return i(),p("div",ce,[a(k,{subtype:"secondary"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=S(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),_e={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],computed:{myChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.name} (${this.chargePoint.type})`),E({loader:()=>z(Object.assign({"./external_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-d5b1d9bd.js"),["assets/chargePoint-d5b1d9bd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-924b624b.js"),["assets/chargePoint-924b624b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>P(()=>import("./chargePoint-65ae1b24.js"),["assets/chargePoint-65ae1b24.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>P(()=>import("./chargePoint-54a9d033.js"),["assets/chargePoint-54a9d033.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>P(()=>import("./chargePoint-882bf2ac.js"),["assets/chargePoint-882bf2ac.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>P(()=>import("./chargePoint-23d031b9.js"),["assets/chargePoint-23d031b9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>P(()=>import("./chargePoint-f168bf5c.js"),["assets/chargePoint-f168bf5c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:pe})},myChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.name} (${this.chargePoint.type})`),E({loader:()=>z(Object.assign({"./internal_openwb/commands.vue":()=>P(()=>import("./commands-764e20d6.js"),["assets/commands-764e20d6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>P(()=>import("./commands-bfc94eef.js"),["assets/commands-bfc94eef.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:fe})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,m,V,c,u){const k=h("openwb-base-heading");return i(),p(A,null,[a(k,null,{default:o(()=>[r(' Einstellungen für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(i(),f(q(u.myChargePointSettingsComponent),{"charge-point":m.chargePoint,"onUpdate:configuration":e[0]||(e[0]=_=>u.updateConfiguration(_))},null,40,["charge-point"])),e[1]||(e[1]=d("hr",null,null,-1)),a(k,null,{default:o(()=>[r(' Befehle für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(i(),f(q(u.myChargePointCommandsComponent),{"charge-point":m.chargePoint},null,8,["charge-point"]))],64)}const we=S(_e,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);Z.add(J,H,G,Q,X,Y,K);const ke={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:ee,FontAwesomeLayers:te,OpenwbChargePointProxy:we},mixins:[ne],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[m,V]of Object.entries(t))(V.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[m]=V);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let m=parseInt(e.match(/([0-9]+)/g)[0]),V=this.$store.state.mqtt["openWB/chargepoint/template/"+m].name;t.push({value:m,text:V})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){e.stopPropagation(),this.modalChargePointIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepoint",data:{id:t}})},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(t,e){e.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:t}})},addChargePointTemplateAutolockPlan(t,e){e.stopPropagation();let m=this.getChargePointTemplateIndex(t);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:m}})},removeChargePointTemplateAutolockPlanModal(t,e,m){m.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.modalChargePointTemplateAutolockPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(t,e,m){this.showChargePointTemplateAutolockPlanModal=!1,m=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:t,plan:e}})},getChargePointTemplateAutolockPlanName(t,e){return this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e].name:"Autolock Zeitplan "+t+"/"+e},getChargePointTemplateAutolockPlans(t){let e=this.getChargePointTemplateIndex(t);return this.getWildcardTopics("openWB/chargepoint/template/"+e+"/autolock/+")},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve={key:2},Le={key:0},Be={key:0},We={key:1},Ae={key:1},Se={key:0},xe={key:2},Ue={key:4},Ie=["onClick"],Te={key:0},De={key:1},ze={key:2},Ee={key:2};function qe(t,e,m,V,c,u){const k=h("openwb-base-modal-dialog"),_=h("font-awesome-icon"),L=h("openwb-base-avatar"),y=h("openwb-base-text-input"),I=h("openwb-base-select-input"),O=h("openwb-charge-point-proxy"),B=h("openwb-base-heading"),C=h("openwb-base-button-group-input"),x=h("openwb-base-card"),F=h("font-awesome-layers"),T=h("openwb-base-alert"),$=h("openwb-base-array-input"),D=h("openwb-base-range-input"),N=h("openwb-base-number-input"),j=h("openwb-base-submit-buttons");return i(),p(A,null,[a(k,{show:c.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=l=>u.removeChargePoint(c.modalChargePointIndex,l))},{default:o(()=>[r(' Wollen Sie den Ladepunkt "'+w(u.getChargePointName(c.modalChargePointIndex))+'" (ID: '+w(c.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=l=>u.removeChargePointTemplate(c.modalChargePointTemplateIndex,l))},{default:o(()=>[r(' Wollen Sie das Ladepunkt-Profil "'+w(u.getChargePointTemplateName(c.modalChargePointTemplateIndex))+'" (ID: '+w(c.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=l=>u.removeChargePointTemplateAutolockPlan(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex,l))},{default:o(()=>[r(' Wollen Sie den Autolock Zeitplan "'+w(u.getChargePointTemplateAutolockPlanName(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[a(x,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!m.installAssistantActive},{header:o(()=>[a(_,{"fixed-width":"",icon:["fas","charging-station"]}),e[7]||(e[7]=r(" Ladepunkte "))]),default:o(()=>[(i(!0),p(A,null,U(u.installedChargePoints,(l,s)=>(i(),f(x,{key:s,title:l.name+" (ID: "+l.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(n=>[n.collapsed?g("",!0):(i(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":l.name,"onUpdate:modelValue":n=>t.updateState(s,n,"name")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[s].type},null,8,["model-value"]),l.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),p("span",Pe,[a(I,{title:"Ladepunkt-Profil",options:u.chargePointTemplateList,"model-value":t.$store.state.mqtt[s].template,"onUpdate:modelValue":n=>t.updateState(s,n,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(i(),f(y,{key:1,title:"OCPP-Chargebox ID","model-value":l.ocpp_chargebox_id,"onUpdate:modelValue":n=>t.updateState(s,n,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[r(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0),e[14]||(e[14]=d("hr",null,null,-1)),a(O,{"charge-point":l,"onUpdate:configuration":n=>u.updateConfiguration(s,n)},null,8,["charge-point","onUpdate:configuration"]),(l.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&l.charging_type!=="DC"?(i(),p("div",Ve,[e[13]||(e[13]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[9]||(e[9]=[r(" Hardware-Optionen ")])]),_:1}),a(C,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.auto_phase_switch_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.control_pilot_interruption_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[r(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem Feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{default:o(()=>[...e[11]||(e[11]=[r(" Elektrischer Anschluss ")])]),_:1}),a(C,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":l.connected_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":l.phase_1,"onUpdate:modelValue":n=>t.updateState(s,n,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[r(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),d("br",null,null,-1),r(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),d("br",null,null,-1),r(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),d("br",null,null,-1),r(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),d("br",null,null,-1),r(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(u.installedChargePoints).length>0?(i(),p("hr",Le)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:u.getChargePointList(),"model-value":c.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=l=>c.chargePointToAdd=l),"onInput:add":u.addChargePoint},{help:o(()=>e[15]||(e[15]=[r(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),d("br",null,null,-1),d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),d("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),d("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[37]||(e[37]=d("hr",{class:"border-secondary"},null,-1)),a(x,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(F,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[a(_,{"fixed-width":"",icon:["far","file"]}),a(_,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=r(" Ladepunkt-Profile "))]),actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(i(),f(L,{key:0,class:"bg-success clickable",onClick:u.addChargePointTemplate},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),p("div",Be,[a(T,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),p("div",We,[(i(!0),p(A,null,U(u.chargePointTemplates,(l,s)=>(i(),f(x,{key:s,title:l.name+" (ID: "+u.getChargePointTemplateIndex(s)+")",collapsible:!0,collapsed:!0},M({default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":l.name,disabled:s.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(s,n,"name")},M({_:2},[s.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=r(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),u.dcChargingEnabled===!0?(i(),f(C,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":l.charging_type,"onUpdate:modelValue":n=>t.updateState(s,n,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[35]||(e[35]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[19]||(e[19]=[r(" Zugangskontrolle ")])]),_:1}),a(C,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.disable_after_unplug,"onUpdate:modelValue":n=>t.updateState(s,n,"disable_after_unplug")},{help:o(()=>[...e[20]||(e[20]=[r(" Sperrt den Ladepunkt nach Abstecken eines Fahrzeuges. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!m.installAssistantActive?(i(),p("div",Ae,[l.disable_after_unplug?(i(),f($,{key:0,title:"Zugeordnete ID-Tags","no-elements-message":"Keine ID-Tags zugeordnet.","model-value":l.valid_tags,"onUpdate:modelValue":n=>t.updateState(s,n,"valid_tags")},{help:o(()=>[...e[21]||(e[21]=[r(" Die hier eingetragenen ID-Tags dienen ausschließlich zum Entsperren des Ladepunktes. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0)])):g("",!0),e[36]||(e[36]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[22]||(e[22]=[r(" Angaben zum konfigurierten Ladestrom der openWB ")])]),_:1}),a(T,{subtype:"info"},{default:o(()=>[e[23]||(e[23]=r(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.")),e[24]||(e[24]=d("br",null,null,-1)),e[25]||(e[25]=r(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ")),l.charging_type==="AC"?(i(),p("span",Se," Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen. ")):g("",!0),e[26]||(e[26]=d("br",null,null,-1)),e[27]||(e[27]=r(" Komplexere Installationen mit mehreren Ladepunkten werden im ")),e[28]||(e[28]=d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[29]||(e[29]=r(" beschrieben. "))]),_:2},1024),l.charging_type==="AC"||u.dcChargingEnabled!==!0?(i(),p("div",xe,[a(D,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":l.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(D,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":l.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(i(),f(N,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(l.dc_max_current),"onUpdate:modelValue":n=>t.updateState(s,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),m.installAssistantActive?g("",!0):(i(),p("div",Ue,[e[34]||(e[34]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[30]||(e[30]=[r(" Automatische Sperre ")])]),_:1}),a(C,{title:"Automatische Sperre aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.autolock.active,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.active")},{help:o(()=>[...e[31]||(e[31]=[r(" Wird die automatische Sperre aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(C,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":l.autolock.wait_for_charging_end,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.wait_for_charging_end")},{help:o(()=>[...e[32]||(e[32]=[r(' Wenn ein Zeitplan die automatische Sperre aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{actions:o(()=>[a(L,{class:"bg-success clickable",onClick:n=>u.addChargePointTemplateAutolockPlan(s,n)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[33]||(e[33]=r(" Zeitpläne für die automatische Sperre "))]),_:2},1024)])),(i(!0),p(A,null,U(u.getChargePointTemplateAutolockPlans(s),(n,v)=>(i(),f(x,{key:v,title:n.name,collapsible:!0,collapsed:!0},{actions:o(b=>[b.collapsed==!0?(i(),p("span",{key:0,class:ae(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:oe(W=>t.updateState(v,!n.active,"active"),["stop"])},[a(_,{"fixed-width":"",icon:["fas","clock"]}),r(" "+w(n.time[0])+" - "+w(n.time[1])+" ",1),n.frequency.selected=="once"?(i(),p("span",Te,[a(_,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+w(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):g("",!0),n.frequency.selected=="daily"?(i(),p("span",De,[a(_,{"fixed-width":"",icon:["fas","calendar-week"]})])):g("",!0),n.frequency.selected=="weekly"?(i(),p("span",ze,[a(_,{"fixed-width":"",icon:["fas","calendar-alt"]})])):g("",!0)],10,Ie)):g("",!0),b.collapsed==!1?(i(),f(L,{key:1,class:"bg-danger clickable",onClick:W=>u.removeChargePointTemplateAutolockPlanModal(s,v,W)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):g("",!0)]),default:o(()=>[a(y,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":b=>t.updateState(v,b,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":b=>t.updateState(v,b,"active")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Sperren um",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":b=>t.updateState(v,b,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Freigeben um",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":b=>t.updateState(v,b,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(i(),f(y,{key:0,title:"Sperren ab ...",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="once"?(i(),f(y,{key:1,title:"... bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="weekly"?(i(),p("div",Ee,[(i(!0),p(A,null,U(t.weekdays,(b,W)=>(i(),f(C,{key:W,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[W],"onUpdate:modelValue":R=>t.updateState(v,R,"frequency.weekly."+W)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):g("",!0)]),_:2},1032,["title"]))),128))]),_:2},[s.endsWith("/0")?void 0:{name:"actions",fn:o(n=>[n.collapsed?g("",!0):(i(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointTemplateModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(j,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=l=>t.$emit("save")),onReset:e[5]||(e[5]=l=>t.$emit("reset")),onDefaults:e[6]||(e[6]=l=>t.$emit("defaults"))})])])],64)}const Me=S(ke,[["render",qe],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),je=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{le as C,ge as a,Me as b,je as c}; diff --git a/web/settings/assets/Chart-788c8d46.js b/web/settings/assets/Chart-5172369d.js similarity index 85% rename from web/settings/assets/Chart-788c8d46.js rename to web/settings/assets/Chart-5172369d.js index 593f335592..3a0f7ede53 100644 --- a/web/settings/assets/Chart-788c8d46.js +++ b/web/settings/assets/Chart-5172369d.js @@ -1 +1 @@ -import{l as L,M as T,W as H,V as q,U as O,a0 as j,a1 as M,F as V}from"./vendor-fortawesome-979a7935.js";import{C as z}from"./index-e7db68ea.js";import{C as P,p as E,a as B,L as N,b as F,B as K,f as $,P as J,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-53af3b3a.js";import{_ as ee,u as h,l as s,m as o,G as l,E as d,x as A,z as f,y as b,N as k,M as x,F as C,B as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-luxon-8ddd27a0.js";L.add(T,H,q,O,j,M);P.register(E,B,N,F,K,$,J,X,Z,G,U);const te={name:"OpenwbChartView",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var t=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(t,r)&&(Object.prototype.hasOwnProperty.call(t[r],"all")&&(["bat","pv"].includes(r)&&Object.keys(t[r]).length<=2?delete t[r].all:t[r]={all:t[r].all,...t[r]}),Object.entries(t[r]).forEach(([n,i])=>{Object.keys(i).forEach(a=>{this.initDataset(r,n,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=Q(t,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],a=this.chartData.datasets[n].data[i].date;var u="",y="";switch(this.chartRange){case"month":u=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),y="day";break;case"year":u=a.substring(0,4)+"-"+a.substring(4,6),y="month";break}this.blockChartInit=!0,this.chartDate=u,this.chartRange=y},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},hideDataset(e,t,r){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(r.split("_").pop()))},getTotalsLabel(e,t=void 0,r=void 0){var n="*test*";if(!t&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(t&&!r){if(t=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]}if(t&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+r+"*"}return n},getDatasetLabel(e,t,r,n){var i=["*"+n],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":a.push("SoC");break;case"energy_imported":a.push("Ladung");break;case"energy_exported":a.push("Entladung");break;case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":a.push("Bezug/Verbrauch");break;case"energy_exported":a.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":a.push("Verbrauch");break;case"energy_exported":a.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},addDataset(e,t,r,n){if(!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+r;if(this.datasetTemplates[i]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return a.parsing.yAxisKey=n,a.jsonKey=n,a.data=this.chartDataObject,a.label=this.getDatasetLabel(e,t,r,n),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),t=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||delete a.stack),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+t+"."+r;if(n[e].includes(r)){var a=this.getDatasetIndex(i);a==null&&(a=this.addDataset(e,t,r,i))}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}}},ae={class:"chart"},re={key:0},ie={key:1},ne={name:"chartForm"},se={key:1},oe={key:1},le={class:"openwb-chart"},de={key:1};function ce(e,t,r,n,i,a){const u=h("openwb-base-alert"),y=h("openwb-base-select-input"),v=h("openwb-base-text-input"),g=h("openwb-base-card"),R=h("chartjs-line"),w=h("font-awesome-icon"),S=h("openwb-base-heading");return s(),o("div",ae,[e.$store.state.mqtt["openWB/general/extern"]===!0?(s(),o("div",re,[l(u,{subtype:"info"},{default:d(()=>t[3]||(t[3]=[b(' Die Auswertungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Auswertungen in der openWB, welche sich im Steuerungsmodus "primary" befindet. ')])),_:1})])):(s(),o("div",ie,[A("form",ne,[l(g,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[l(y,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=p=>i.chartRange=p),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),l(v,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=p=>a.chartDate=p),t[2]||(t[2]=p=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])]),_:1}),a.chartDataRead?(s(),o("div",se,[a.chartDataHasEntries?(s(),o("div",oe,[l(g,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[A("div",le,[l(R,{ref:"myChart",data:a.chartData,options:i.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),l(g,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(s(!0),o(k,null,x(a.chartTotals,(p,c)=>(s(),o("div",{key:c},[Object.keys(p).length>0?(s(),f(g,{key:0,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(c)},{header:d(()=>[l(w,{"fixed-width":"",icon:a.getCardIcon(c)},null,8,["icon"]),b(" "+C(a.getTotalsLabel(c)),1)]),default:d(()=>[(s(!0),o(k,null,x(p,(I,m)=>(s(),o("div",{key:m},[c!=="hc"?(s(),f(S,{key:0},{default:d(()=>[b(C(a.getTotalsLabel(c,m)),1)]),_:2},1024)):_("",!0),(s(!0),o(k,null,x(I,(W,D)=>(s(),o("div",{key:D},[l(v,{title:a.getTotalsLabel(c,m,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),m=="all"&&c!="hc"?(s(),o("hr",de)):_("",!0)]))),128))]),_:2},1032,["subtype"])):_("",!0)]))),128))]),_:1})])):(s(),f(u,{key:0,subtype:"info"},{default:d(()=>t[5]||(t[5]=[b(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")])),_:1}))])):(s(),f(u,{key:0,subtype:"info"},{default:d(()=>t[4]||(t[4]=[b(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])]))])}const xe=ee(te,[["render",ce],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{xe as default}; +import{l as L,K as T,W as H,V as O,U as q,a0 as j,a1 as M,F as V}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-8a28b331.js";import{C as P,p as E,a as B,L as K,b as N,B as F,f as J,P as $,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-53af3b3a.js";import{_ as ee,u as p,l as o,m as s,x as A,G as c,E as d,z as m,y as f,N as x,M as k,F as C,B as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-luxon-8ddd27a0.js";L.add(T,H,O,q,j,M);P.register(E,B,K,N,F,J,$,X,Z,G,U);const te={name:"OpenwbChartView",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var t=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(t,r)&&(Object.prototype.hasOwnProperty.call(t[r],"all")&&(["bat","pv"].includes(r)&&Object.keys(t[r]).length<=2?delete t[r].all:t[r]={all:t[r].all,...t[r]}),Object.entries(t[r]).forEach(([n,i])=>{Object.keys(i).forEach(a=>{this.initDataset(r,n,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=Q(t,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],a=this.chartData.datasets[n].data[i].date;var y="",h="";switch(this.chartRange){case"month":y=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),h="day";break;case"year":y=a.substring(0,4)+"-"+a.substring(4,6),h="month";break}this.blockChartInit=!0,this.chartDate=y,this.chartRange=h},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},hideDataset(e,t,r){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(r.split("_").pop()))},getTotalsLabel(e,t=void 0,r=void 0){var n="*test*";if(!t&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(t&&!r){if(t=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]}if(t&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+r+"*"}return n},getDatasetLabel(e,t,r,n){var i=["*"+n],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":a.push("SoC");break;case"energy_imported":a.push("Ladung");break;case"energy_exported":a.push("Entladung");break;case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":a.push("Bezug/Verbrauch");break;case"energy_exported":a.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":a.push("Verbrauch");break;case"energy_exported":a.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},addDataset(e,t,r,n){if(!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+r;if(this.datasetTemplates[i]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return a.parsing.yAxisKey=n,a.jsonKey=n,a.data=this.chartDataObject,a.label=this.getDatasetLabel(e,t,r,n),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),t=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||delete a.stack),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+t+"."+r;if(n[e].includes(r)){var a=this.getDatasetIndex(i);a==null&&(a=this.addDataset(e,t,r,i))}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}}},ae={class:"chart"},re={name:"chartForm"},ie={key:1},ne={key:1},oe={class:"openwb-chart"},se={key:1};function le(e,t,r,n,i,a){const y=p("openwb-base-select-input"),h=p("openwb-base-text-input"),b=p("openwb-base-card"),v=p("openwb-base-alert"),R=p("chartjs-line"),w=p("font-awesome-icon"),S=p("openwb-base-heading");return o(),s("div",ae,[A("form",re,[c(b,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[c(y,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=u=>i.chartRange=u),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),c(h,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=u=>a.chartDate=u),t[2]||(t[2]=u=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])]),_:1}),a.chartDataRead?(o(),s("div",ie,[a.chartDataHasEntries?(o(),s("div",ne,[c(b,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[A("div",oe,[c(R,{ref:"myChart",data:a.chartData,options:i.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),c(b,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(o(!0),s(x,null,k(a.chartTotals,(u,l)=>(o(),s("div",{key:l},[Object.keys(u).length>0?(o(),m(b,{key:0,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(l)},{header:d(()=>[c(w,{"fixed-width":"",icon:a.getCardIcon(l)},null,8,["icon"]),f(" "+C(a.getTotalsLabel(l)),1)]),default:d(()=>[(o(!0),s(x,null,k(u,(I,g)=>(o(),s("div",{key:g},[l!=="hc"?(o(),m(S,{key:0},{default:d(()=>[f(C(a.getTotalsLabel(l,g)),1)]),_:2},1024)):_("",!0),(o(!0),s(x,null,k(I,(W,D)=>(o(),s("div",{key:D},[c(h,{title:a.getTotalsLabel(l,g,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),g=="all"&&l!="hc"?(o(),s("hr",se)):_("",!0)]))),128))]),_:2},1032,["subtype"])):_("",!0)]))),128))]),_:1})])):(o(),m(v,{key:0,subtype:"info"},{default:d(()=>t[4]||(t[4]=[f(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")])),_:1}))])):(o(),m(v,{key:0,subtype:"info"},{default:d(()=>t[3]||(t[3]=[f(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])])}const fe=ee(te,[["render",le],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{fe as default}; diff --git a/web/settings/assets/CloudConfig-894fc7da.js b/web/settings/assets/CloudConfig-894fc7da.js deleted file mode 100644 index 4d3233f6b7..0000000000 --- a/web/settings/assets/CloudConfig-894fc7da.js +++ /dev/null @@ -1 +0,0 @@ -import{l as S,a6 as q,F as z}from"./vendor-fortawesome-979a7935.js";import{C as P}from"./index-e7db68ea.js";import{_ as h,u as a,l,m as b,G as r,E as t,x as m,z as p,B as i,D as Z,N as I,y as s,q as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";S.add(q);const x={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:z},mixins:[P],emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let n=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,B]of Object.entries(n))B.remote.is_openwb_cloud||delete n[e];return n}},cloudBridgeKey:{get(){for(const[n,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return n}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(n){return parseInt(n.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(n){n.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(n){this.showCloudRemoveModal=!1,n=="confirm"&&(this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},K={class:"cloud-config"},M={key:1},R={key:1,name:"cloudConfigCreateForm"},N={key:2,name:"cloudConfigConnectForm"},U={class:"row justify-content-center"},F={key:3,name:"cloudConfigured"},A={class:"row justify-content-center"};function j(n,e,B,G,u,d){const D=a("openwb-base-modal-dialog"),c=a("router-link"),g=a("openwb-base-alert"),w=a("openwb-base-card"),f=a("openwb-base-text-input"),y=a("openwb-base-button-group-input"),C=a("font-awesome-icon"),v=a("openwb-base-array-input"),k=a("openwb-base-click-button"),V=a("openwb-base-heading"),W=a("openwb-base-submit-buttons");return l(),b(I,null,[r(D,{show:u.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>d.removeCloud(o))},{default:t(()=>e[13]||(e[13]=[s(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")])),_:1},8,["show"]),m("div",K,[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[15]||(e[15]=s(" Du musst der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[14]||(e[14]=[s(" Datenschutzerklärung ")])),_:1}),e[16]||(e[16]=s(" zustimmen, um die openWB Cloud nutzen zu können. "))]),_:1})):(l(),b("div",M,[r(g,{subtype:"success"},{default:t(()=>[e[18]||(e[18]=s(" Du hast der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[17]||(e[17]=[s(" Datenschutzerklärung ")])),_:1}),e[19]||(e[19]=s(" zugestimmt und kannst die openWB Cloud nutzen. "))]),_:1}),u.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[20]||(e[20]=[s(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ")])),_:1})),d.cloudBridgeKey?i("",!0):(l(),b("form",R,[r(w,{title:"Neuen Zugang erstellen"},{default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[21]||(e[21]=[s(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),s(" . ")])),_:1})]),_:1})])),d.cloudBridgeKey?i("",!0):(l(),b("form",N,[r(w,{title:"Vorhandenen Zugang einrichten"},Z({default:t(()=>[r(f,{modelValue:u.connectCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=o=>u.connectCloudData.username=o),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(f,{modelValue:u.connectCloudData.password,"onUpdate:modelValue":e[2]||(e[2]=o=>u.connectCloudData.password=o),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(y,{modelValue:u.connectCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=o=>u.connectCloudData.partner=o),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[22]||(e[22]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),u.connectCloudData.partner?(l(),p(v,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[23]||(e[23]=[s(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",U,[r(k,{class:_(["col-4",u.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!u.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>e[24]||(e[24]=[s(" Mit Cloud verbinden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(l(),b("form",F,[!u.enableCloudConnectButton||!u.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[25]||(e[25]=[s(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ")])),_:1})):i("",!0),r(w,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",A,[r(k,{class:_(["col-4",u.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!u.enableRemoveCloudButton,onButtonClicked:e[9]||(e[9]=o=>d.removeCloudModal(o))},{default:t(()=>e[29]||(e[29]=[s(" Zugang löschen ")])),_:1},8,["class","disabled"])])]),default:t(()=>[r(V,null,{default:t(()=>e[26]||(e[26]=[m("span",null,[s(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),s(" anmelden. ")],-1)])),_:1}),r(f,{modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[5]||(e[5]=o=>d.cloudSettings.username=o),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(f,{modelValue:d.cloudSettings.password,"onUpdate:modelValue":e[6]||(e[6]=o=>d.cloudSettings.password=o),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[30]||(e[30]=m("hr",null,null,-1)),r(y,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":d.cloudSettings.partner,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateState(d.cloudBridgeKey,o,"access.partner"))},{help:t(()=>e[27]||(e[27]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["model-value"]),d.cloudSettings.partner?(l(),p(v,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[28]||(e[28]=[s(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),d.cloudBridgeKey?(l(),p(W,{key:4,"form-name":"cloudConfigured",onSave:e[10]||(e[10]=o=>n.$emit("save")),onReset:e[11]||(e[11]=o=>n.$emit("reset")),onDefaults:e[12]||(e[12]=o=>n.$emit("defaults"))})):i("",!0)]))])],64)}const X=h(x,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{X as default}; diff --git a/web/settings/assets/CloudConfig-ffb5ece0.js b/web/settings/assets/CloudConfig-ffb5ece0.js new file mode 100644 index 0000000000..ea62208c88 --- /dev/null +++ b/web/settings/assets/CloudConfig-ffb5ece0.js @@ -0,0 +1 @@ +import{l as q,a6 as z,F as S}from"./vendor-fortawesome-231ff303.js";import{C as Z}from"./index-8a28b331.js";import{_ as I,u as d,l,m as w,G as r,E as t,x as m,z as p,B as i,D,N as x,y as u,q as V}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";q.add(z);const M={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:S},mixins:[Z],emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let o=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,k]of Object.entries(o))k.remote.is_openwb_cloud||delete o[e];return o}},cloudBridgeKey:{get(){for(const[o,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return o}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(o){return parseInt(o.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(o){o.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(o){this.showCloudRemoveModal=!1,o=="confirm"&&(this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},h={class:"cloud-config"},K={key:1},U={key:1,name:"cloudConfigCreateForm"},N={class:"row justify-content-center"},R={key:2,name:"cloudConfigConnectForm"},A={class:"row justify-content-center"},F={key:3,name:"cloudConfigured"},j={class:"row justify-content-center"};function G(o,e,k,T,s,a){const W=d("openwb-base-modal-dialog"),c=d("router-link"),g=d("openwb-base-alert"),b=d("openwb-base-text-input"),C=d("openwb-base-button-group-input"),f=d("font-awesome-icon"),B=d("openwb-base-array-input"),y=d("openwb-base-click-button"),v=d("openwb-base-card"),_=d("openwb-base-heading"),P=d("openwb-base-submit-buttons");return l(),w(x,null,[r(W,{show:s.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=n=>a.removeCloud(n))},{default:t(()=>e[17]||(e[17]=[u(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")])),_:1},8,["show"]),m("div",h,[o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[19]||(e[19]=u(" Du musst der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[18]||(e[18]=[u(" Datenschutzerklärung ")])),_:1}),e[20]||(e[20]=u(" zustimmen, um die openWB Cloud nutzen zu können. "))]),_:1})):(l(),w("div",K,[r(g,{subtype:"success"},{default:t(()=>[e[22]||(e[22]=u(" Du hast der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[21]||(e[21]=[u(" Datenschutzerklärung ")])),_:1}),e[23]||(e[23]=u(" zugestimmt und kannst die openWB Cloud nutzen. "))]),_:1}),s.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[24]||(e[24]=[u(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ")])),_:1})),a.cloudBridgeKey?i("",!0):(l(),w("form",U,[r(v,{title:"Neuen Zugang erstellen"},D({default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[25]||(e[25]=[u(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),u(" . ")])),_:1}),r(b,{modelValue:s.newCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=n=>s.newCloudData.username=n),title:"Benutzername",required:"",subtype:"user",pattern:"[a-zA-Z]+",disabled:""},null,8,["modelValue"]),r(b,{modelValue:s.newCloudData.email,"onUpdate:modelValue":e[2]||(e[2]=n=>s.newCloudData.email=n),title:"E-Mail",required:"",subtype:"email",disabled:""},null,8,["modelValue"]),r(C,{modelValue:s.newCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=n=>s.newCloudData.partner=n),disabled:"",title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[26]||(e[26]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),s.newCloudData.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[27]||(e[27]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",N,[r(y,{class:"col-4 btn-outline-success",disabled:""},{default:t(()=>e[28]||(e[28]=[u(" Zugang erstellen ")])),_:1})])]),key:"0"}:void 0]),1024),s.enableNewCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"info",class:"mb-2"},{default:t(()=>e[29]||(e[29]=[u(" Der neue Zugang wird eingerichtet. Dieser Vorgang kann bis zu einer Minute dauern. Bitte warten. ")])),_:1}))])),a.cloudBridgeKey?i("",!0):(l(),w("form",R,[r(v,{title:"Vorhandenen Zugang einrichten"},D({default:t(()=>[r(b,{modelValue:s.connectCloudData.username,"onUpdate:modelValue":e[5]||(e[5]=n=>s.connectCloudData.username=n),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(b,{modelValue:s.connectCloudData.password,"onUpdate:modelValue":e[6]||(e[6]=n=>s.connectCloudData.password=n),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(C,{modelValue:s.connectCloudData.partner,"onUpdate:modelValue":e[7]||(e[7]=n=>s.connectCloudData.partner=n),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[30]||(e[30]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),s.connectCloudData.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[31]||(e[31]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",A,[r(y,{class:V(["col-4",s.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!s.enableCloudConnectButton,onButtonClicked:a.connectCloud},{default:t(()=>e[32]||(e[32]=[u(" Mit Cloud verbinden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),a.cloudBridgeKey?(l(),w("form",F,[!s.enableCloudConnectButton||!s.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[33]||(e[33]=[u(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ")])),_:1})):i("",!0),r(v,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",j,[r(y,{class:V(["col-4",s.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!s.enableRemoveCloudButton,onButtonClicked:e[13]||(e[13]=n=>a.removeCloudModal(n))},{default:t(()=>e[37]||(e[37]=[u(" Zugang löschen ")])),_:1},8,["class","disabled"])])]),default:t(()=>[r(_,null,{default:t(()=>e[34]||(e[34]=[m("span",null,[u(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),u(" anmelden. ")],-1)])),_:1}),r(b,{modelValue:a.cloudSettings.username,"onUpdate:modelValue":e[9]||(e[9]=n=>a.cloudSettings.username=n),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(b,{modelValue:a.cloudSettings.password,"onUpdate:modelValue":e[10]||(e[10]=n=>a.cloudSettings.password=n),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[38]||(e[38]=m("hr",null,null,-1)),r(C,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":a.cloudSettings.partner,"onUpdate:modelValue":e[11]||(e[11]=n=>o.updateState(a.cloudBridgeKey,n,"access.partner"))},{help:t(()=>e[35]||(e[35]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["model-value"]),a.cloudSettings.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[12]||(e[12]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[36]||(e[36]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),a.cloudBridgeKey?(l(),p(P,{key:4,"form-name":"cloudConfigured",onSave:e[14]||(e[14]=n=>o.$emit("save")),onReset:e[15]||(e[15]=n=>o.$emit("reset")),onDefaults:e[16]||(e[16]=n=>o.$emit("defaults"))})):i("",!0)]))])],64)}const Y=I(M,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{Y as default}; diff --git a/web/settings/assets/DataManagement-2af74759.js b/web/settings/assets/DataManagement-2af74759.js new file mode 100644 index 0000000000..1a1acd5416 --- /dev/null +++ b/web/settings/assets/DataManagement-2af74759.js @@ -0,0 +1 @@ +import{l as E,ak as P,al as $,am as R,an as U,ao as q,F as H}from"./vendor-fortawesome-231ff303.js";import{_ as B,C as N}from"./index-8a28b331.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as w,u as f,l as u,m,z as C,E as s,y as i,F as h,G as n,x as o,a1 as L,a2 as T,N as W,B as _,q as M,M as A,D as I}from"./vendor-0c15df0c.js";const G={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},J=w(G,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),K={name:"BackupCloudConfigFallback",mixins:[J]},Z={class:"backup-cloud-fallback"},Q={key:1};function X(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",Z,[Object.keys(t.backupCloud.configuration).length==0?(u(),C(g,{key:0,subtype:"info"},{default:s(()=>[i(' Die Backup-Cloud "'+h(t.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),m("div",Q,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+h(t.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const Y=w(K,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),ee={name:"OpenwbBackupCloudProxy",props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.name} (${this.backupCloud.type})`),L({loader:()=>x(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-6d7d2b92.js"),["assets/backup_cloud-6d7d2b92.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-bddc42ce.js"),["assets/backup_cloud-bddc42ce.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-c7903444.js"),["assets/backup_cloud-c7903444.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-0988d0d5.js"),["assets/backup_cloud-0988d0d5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:Y})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function te(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Backup-Cloud Modul "'+h(l.backupCloud.name)+'" ',1)]),_:1}),(u(),C(T(a.myComponent),{"backup-cloud":l.backupCloud,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d)),onSendCommand:e[1]||(e[1]=d=>a.sendCommand(d))},null,40,["backup-cloud"]))],64)}const ne=w(ee,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),oe={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=w(oe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),se={name:"MonitoringConfigFallback",mixins:[ie]},ae={class:"monitoring-fallback"};function re(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",ae,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+h(t.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.monitoring.configuration,void 0,2)),1)]),_:1})])}const le=w(se,[["render",re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]),ue={name:"OpenwbMonitoringProxy",props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading monitoring: ${this.monitoring.name} (${this.monitoring.type})`),L({loader:()=>x(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-ae2319f9.js"),["assets/monitoring-ae2319f9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:le})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function de(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Modul "'+h(l.monitoring.name)+'" ',1)]),_:1}),(u(),C(T(a.myComponent),{monitoring:l.monitoring,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d))},null,40,["monitoring"]))],64)}const pe=w(ue,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);E.add(P,$,R,U,q);const ce={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:H,OpenwbBackupCloudProxy:ne,OpenwbMonitoringProxy:pe},mixins:[N],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const l of Object.values(t))e.push({value:l.id,text:l.name});return e},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&t.push({value:e.id,text:e.name});return t},inverterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&t.push({value:e.id,text:e.name});return t},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&t.push({value:e.id,text:e.name});return t},vehicleOptions(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[l,b]of Object.entries(t)){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:b})}return e},smartHomeOptions(){let t=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[l,b]of Object.entries(t))if(b==1){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e}},methods:{isComponentType(t,e){return t.split("_").includes(e)},getBackupCloudDefaultConfiguration(t){const e=this.backupCloudList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",t),{})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getMigrationOptions(t){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return t.includes("chargePoint")&&e.push(...this.chargePointOptions),t.includes("counter")&&e.push(...this.counterOptions),t.includes("inverter")&&e.push(...this.inverterOptions),t.includes("battery")&&e.push(...this.batteryOptions),t.includes("vehicle")&&e.push(...this.vehicleOptions),t.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},updateSelectedBackupCloud(t){this.updateState("openWB/system/backup_cloud/config",t,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(t))},updateSelectedRestoreFile(t){this.selectedRestoreFile=t.target.files[0]},updateSelectedDataMigrationFile(t){this.selectedDataMigrationFile=t.target.files[0]},uploadFile(t,e,l){return new Promise(b=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let r=new FormData;r.append("file",e),r.append("target",t),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",r,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(l,"success"),b(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var g="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),g+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),g+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(g,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},getMonitoringDefaultConfiguration(t){const e=this.monitoringList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",t),{})},updateSelectedMonitoring(t){this.updateState("openWB/optional/monitoring/config",t,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(t))},async uploadRestoreFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,t)},async uploadDataMigrationFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,t)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},me={class:"system"},ge={key:1},fe={name:"backupForm"},be={class:"row justify-content-center"},he={class:"col-md-4 d-flex py-1 justify-content-center"},ke={key:0,name:"restoreForm"},ye={class:"input-group"},ve={class:"input-group-prepend"},_e={class:"input-group-text"},we={class:"custom-file"},Ce={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Be={class:"input-group-append"},De=["disabled"],Se={class:"row justify-content-center"},Me={class:"col-md-4 d-flex py-1 justify-content-center"},We={key:1,name:"cloudBackupForm"},Oe={key:0},Fe={name:"dataMigrationForm"},Ae={class:"input-group"},xe={class:"input-group-prepend"},Le={class:"input-group-text"},Te={class:"custom-file"},ze={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Ve={class:"input-group-append"},je=["disabled"],Ee={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"},$e={key:1,name:"resetForm"},Re={class:"row justify-content-center"},Ue={class:"col-md-4 d-flex py-1 justify-content-center"},qe={key:2,name:"zabbixConfigured"},He={key:0},Ne={key:1},Ie={key:0};function Ge(t,e,l,b,r,a){const g=f("openwb-base-button-group-input"),d=f("openwb-base-alert"),y=f("openwb-base-heading"),v=f("font-awesome-icon"),D=f("openwb-base-click-button"),O=f("openwb-base-select-input"),z=f("openwb-base-button-input"),V=f("openwb-backup-cloud-proxy"),F=f("openwb-base-submit-buttons"),S=f("openwb-base-card"),j=f("openwb-monitoring-proxy");return u(),m("div",me,[l.installAssistantActive?_("",!0):(u(),C(d,{key:0,subtype:"danger"},{default:s(()=>[e[21]||(e[21]=o("h2",null,"Achtung!",-1)),e[22]||(e[22]=o("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),n(g,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=p=>r.warningAcknowledged=p),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),r.warningAcknowledged||l.installAssistantActive?(u(),m("div",ge,[n(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:s(()=>{var p,k;return[o("form",fe,[n(y,null,{default:s(()=>e[23]||(e[23]=[i("Sicherung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[24]||(e[24]=[i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[25]||(e[25]=[i(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),o("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),i(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ")])),_:1}),o("div",be,[o("div",he,[n(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=c=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:s(()=>[e[26]||(e[26]=i(" Sicherung erstellen ")),n(v,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),m("form",ke,[e[31]||(e[31]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[27]||(e[27]=[i("Wiederherstellung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[28]||(e[28]=[i(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),o("br",null,null,-1),i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),o("div",ye,[o("div",ve,[o("div",_e,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",we,[o("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=c=>a.updateSelectedRestoreFile(c))},null,32),o("label",Ce,h(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Be,[o("button",{class:M(["btn",r.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=c=>a.uploadRestoreFile())},[e[29]||(e[29]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,De)])]),o("div",Se,[o("div",Me,[n(D,{class:M(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[4]||(e[4]=c=>a.restoreBackup())},{default:s(()=>[e[30]||(e[30]=i(" Wiederherstellung starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):_("",!0),l.showBackupCloudSection?(u(),m("form",We,[e[35]||(e[35]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[32]||(e[32]=[i(" Automatische Sicherung in einen Cloud-Dienst ")])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[33]||(e[33]=[i(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),o("br",null,null,-1),i(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt."),o("br",null,null,-1),i(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),o("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),i(" . ")])),_:1}),n(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(p=t.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:p.type,"onUpdate:modelValue":e[5]||(e[5]=c=>a.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(k=t.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&k.type?(u(),m("div",Oe,[n(g,{title:"Sicherung vor System-Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=c=>t.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:s(()=>e[34]||(e[34]=[i(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ")])),_:1},8,["model-value"]),n(z,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=c=>a.sendSystemCommand("createCloudBackup",{}))}),n(V,{"backup-cloud":t.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=c=>a.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[9]||(e[9]=c=>a.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):_("",!0),n(F,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=c=>t.$emit("save")),onReset:e[11]||(e[11]=c=>t.$emit("reset")),onDefaults:e[12]||(e[12]=c=>t.$emit("defaults"))})])):_("",!0)]}),_:1},8,["collapsed"]),l.installAssistantActive?_("",!0):(u(),C(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:s(()=>[o("form",Fe,[n(d,{subtype:"info"},{default:s(()=>e[36]||(e[36]=[i(" Hier kann die Sicherung einer älteren 1.9er Version hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren. Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[37]||(e[37]=[i(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),o("br",null,null,-1),i(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),o("br",null,null,-1),i(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")])),_:1}),o("div",Ae,[o("div",xe,[o("div",Le,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",Te,[o("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=p=>a.updateSelectedDataMigrationFile(p))},null,32),o("label",ze,h(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Ve,[o("button",{class:M(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=p=>a.uploadDataMigrationFile())},[e[38]||(e[38]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,je)])]),n(y,null,{default:s(()=>e[39]||(e[39]=[i(" Zuordnung der Komponenten ")])),_:1}),(u(!0),m(W,null,A(r.dataMigrationConfig,p=>(u(),m("div",{key:p.sectionName},[n(y,null,{default:s(()=>[i(h(p.sectionName),1)]),_:2},1024),(u(!0),m(W,null,A(p.sectionComponents,k=>(u(),C(O,{key:k.key,modelValue:r.dataMigrationMapping[k.key],"onUpdate:modelValue":c=>r.dataMigrationMapping[k.key]=c,title:k.label,options:a.getMigrationOptions(k.validTypes)},I({_:2},[k.help?{name:"help",fn:s(()=>[i(h(k.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),o("div",Ee,[o("div",Pe,[n(D,{class:M(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=p=>a.dataMigration())},{default:s(()=>[e[40]||(e[40]=i(" Datenübernahme starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})),l.installAssistantActive?_("",!0):(u(),m("form",$e,[n(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:s(()=>[o("div",Re,[o("div",Ue,[n(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=p=>a.factoryReset())},{default:s(()=>[n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[42]||(e[42]=i(" Zurücksetzen ")),n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:s(()=>[n(d,{subtype:"danger"},{default:s(()=>e[41]||(e[41]=[i(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc., Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")])),_:1})]),_:1})])),l.installAssistantActive?_("",!0):(u(),m("form",qe,[n(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:s(()=>[n(F,{"form-name":t.zabbixConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=p=>t.$emit("save")),onReset:e[20]||(e[20]=p=>t.$emit("reset"))},null,8,["form-name"])]),default:s(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",He,[n(d,{subtype:"info"},{default:s(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",Ne,[n(d,{subtype:"info"},{default:s(()=>e[44]||(e[44]=[i(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Komponenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ")])),_:1}),n(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":t.$store.state.mqtt["openWB/optional/monitoring/config"]?t.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=p=>a.updateSelectedMonitoring(p))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/monitoring/config"]&&t.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),m("div",Ie,[n(j,{monitoring:t.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=p=>a.updateConfiguration("openWB/optional/monitoring/config",p))},null,8,["monitoring"])])):_("",!0)]))]),_:1})]))])):_("",!0)])}const Je=w(ce,[["render",Ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{J as B,Je as D,ie as M,Ye as a}; diff --git a/web/settings/assets/DataManagement-fdf145a6.js b/web/settings/assets/DataManagement-fdf145a6.js deleted file mode 100644 index 9de1959e4e..0000000000 --- a/web/settings/assets/DataManagement-fdf145a6.js +++ /dev/null @@ -1 +0,0 @@ -import{l as z,ak as P,al as R,am as $,an as U,ao as q,F as H}from"./vendor-fortawesome-979a7935.js";import{_ as B,C as N}from"./index-e7db68ea.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as w,u as f,l as u,m,z as C,E as s,y as i,F as h,G as t,x as o,a1 as L,a2 as T,N as W,B as _,q as M,M as A,D as I}from"./vendor-0c15df0c.js";const G={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})}}},J=w(G,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),K={name:"BackupCloudConfigFallback",mixins:[J]},Z={class:"backup-cloud-fallback"},Q={key:1};function X(n,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",Z,[Object.keys(n.backupCloud.configuration).length==0?(u(),C(g,{key:0,subtype:"info"},{default:s(()=>[i(' Die Backup-Cloud "'+h(n.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),m("div",Q,[t(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+h(n.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Konfiguration",subtype:"json","model-value":n.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>n.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),t(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(n.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const Y=w(K,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),ee={name:"OpenwbBackupCloudProxy",props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getBackupCloudComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),L({loader:()=>x(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-a96cb4a0.js"),["assets/backup_cloud-a96cb4a0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-82179585.js"),["assets/backup_cloud-82179585.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-5a41a507.js"),["assets/backup_cloud-5a41a507.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-9ccbda09.js"),["assets/backup_cloud-9ccbda09.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:Y})},updateConfiguration(n){this.$emit("update:configuration",n)},sendCommand(n){this.$emit("sendCommand",n)}}};function ne(n,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[t(g,null,{default:s(()=>[i(' Einstellungen für Backup-Cloud Modul "'+h(l.backupCloud.name)+'" ',1)]),_:1}),(u(),C(T(a.getBackupCloudComponent()),{"backup-cloud":l.backupCloud,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d)),onSendCommand:e[1]||(e[1]=d=>a.sendCommand(d))},null,40,["backup-cloud"]))],64)}const te=w(ee,[["render",ne],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),oe={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},ie=w(oe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),se={name:"MonitoringConfigFallback",mixins:[ie]},ae={class:"monitoring-fallback"};function re(n,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",ae,[t(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+h(n.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Konfiguration",subtype:"json","model-value":n.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>n.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),t(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(n.monitoring.configuration,void 0,2)),1)]),_:1})])}const le=w(se,[["render",re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]),ue={name:"OpenwbMonitoringProxy",props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{getMonitoringComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),L({loader:()=>x(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-682e85b8.js"),["assets/monitoring-682e85b8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:le})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function de(n,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[t(g,null,{default:s(()=>[i(' Einstellungen für Modul "'+h(l.monitoring.name)+'" ',1)]),_:1}),(u(),C(T(a.getMonitoringComponent()),{monitoring:l.monitoring,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d))},null,40,["monitoring"]))],64)}const pe=w(ue,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);z.add(P,R,$,U,q);const ce={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:H,OpenwbBackupCloudProxy:te,OpenwbMonitoringProxy:pe},mixins:[N],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let n=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const l of Object.values(n))e.push({value:l.id,text:l.name});return e},counterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&n.push({value:e.id,text:e.name});return n},inverterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&n.push({value:e.id,text:e.name});return n},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&n.push({value:e.id,text:e.name});return n},vehicleOptions(){let n=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[l,b]of Object.entries(n)){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:b})}return e},smartHomeOptions(){let n=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[l,b]of Object.entries(n))if(b==1){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e}},methods:{isComponentType(n,e){return n.split("_").includes(e)},getBackupCloudDefaultConfiguration(n){const e=this.backupCloudList.find(l=>l.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",n),{})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})},getMigrationOptions(n){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return n.includes("chargePoint")&&e.push(...this.chargePointOptions),n.includes("counter")&&e.push(...this.counterOptions),n.includes("inverter")&&e.push(...this.inverterOptions),n.includes("battery")&&e.push(...this.batteryOptions),n.includes("vehicle")&&e.push(...this.vehicleOptions),n.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)},updateSelectedBackupCloud(n){this.updateState("openWB/system/backup_cloud/config",n,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(n))},updateSelectedRestoreFile(n){this.selectedRestoreFile=n.target.files[0]},updateSelectedDataMigrationFile(n){this.selectedDataMigrationFile=n.target.files[0]},uploadFile(n,e,l){return new Promise(b=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let r=new FormData;r.append("file",e),r.append("target",n),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",r,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(l,"success"),b(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var g="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),g+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),g+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(g,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},getMonitoringDefaultConfiguration(n){const e=this.monitoringList.find(l=>l.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",n),{})},updateSelectedMonitoring(n){this.updateState("openWB/optional/monitoring/config",n,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(n))},async uploadRestoreFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,n)},async uploadDataMigrationFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,n)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},me={class:"system"},ge={key:1},fe={name:"backupForm"},be={class:"row justify-content-center"},he={class:"col-md-4 d-flex py-1 justify-content-center"},ke={key:0,name:"restoreForm"},ye={class:"input-group"},ve={class:"input-group-prepend"},_e={class:"input-group-text"},we={class:"custom-file"},Ce={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Be={class:"input-group-append"},De=["disabled"],Se={class:"row justify-content-center"},Me={class:"col-md-4 d-flex py-1 justify-content-center"},We={key:1,name:"cloudBackupForm"},Oe={key:0},Fe={name:"dataMigrationForm"},Ae={class:"input-group"},xe={class:"input-group-prepend"},Le={class:"input-group-text"},Te={class:"custom-file"},Ve={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Ee={class:"input-group-append"},je=["disabled"],ze={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"},Re={key:1,name:"resetForm"},$e={class:"row justify-content-center"},Ue={class:"col-md-4 d-flex py-1 justify-content-center"},qe={key:2,name:"monitoringConfigured"},He={key:0},Ne={key:1},Ie={key:0};function Ge(n,e,l,b,r,a){const g=f("openwb-base-button-group-input"),d=f("openwb-base-alert"),y=f("openwb-base-heading"),v=f("font-awesome-icon"),D=f("openwb-base-click-button"),O=f("openwb-base-select-input"),V=f("openwb-base-button-input"),E=f("openwb-backup-cloud-proxy"),F=f("openwb-base-submit-buttons"),S=f("openwb-base-card"),j=f("openwb-monitoring-proxy");return u(),m("div",me,[l.installAssistantActive?_("",!0):(u(),C(d,{key:0,subtype:"danger"},{default:s(()=>[e[21]||(e[21]=o("h2",null,"Achtung!",-1)),e[22]||(e[22]=o("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),t(g,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=p=>r.warningAcknowledged=p),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),r.warningAcknowledged||l.installAssistantActive?(u(),m("div",ge,[t(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:s(()=>{var p,k;return[o("form",fe,[t(y,null,{default:s(()=>e[23]||(e[23]=[i("Sicherung")])),_:1}),t(d,{subtype:"danger"},{default:s(()=>e[24]||(e[24]=[i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[25]||(e[25]=[i(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),o("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),i(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ")])),_:1}),o("div",be,[o("div",he,[t(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=c=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:s(()=>[e[26]||(e[26]=i(" Sicherung erstellen ")),t(v,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),m("form",ke,[e[31]||(e[31]=o("hr",null,null,-1)),t(y,null,{default:s(()=>e[27]||(e[27]=[i("Wiederherstellung")])),_:1}),t(d,{subtype:"danger"},{default:s(()=>e[28]||(e[28]=[i(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),o("br",null,null,-1),i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),o("div",ye,[o("div",ve,[o("div",_e,[t(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",we,[o("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=c=>a.updateSelectedRestoreFile(c))},null,32),o("label",Ce,h(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Be,[o("button",{class:M(["btn",r.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=c=>a.uploadRestoreFile())},[e[29]||(e[29]=i(" Hochladen ")),t(v,{"fixed-width":"",icon:["fas","upload"]})],10,De)])]),o("div",Se,[o("div",Me,[t(D,{class:M(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[4]||(e[4]=c=>a.restoreBackup())},{default:s(()=>[e[30]||(e[30]=i(" Wiederherstellung starten ")),t(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):_("",!0),l.showBackupCloudSection?(u(),m("form",We,[e[35]||(e[35]=o("hr",null,null,-1)),t(y,null,{default:s(()=>e[32]||(e[32]=[i(" Automatische Sicherung in einen Cloud-Dienst ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[33]||(e[33]=[i(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),o("br",null,null,-1),i(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt."),o("br",null,null,-1),i(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),o("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),i(" . ")])),_:1}),t(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(p=n.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:p.type,"onUpdate:modelValue":e[5]||(e[5]=c=>a.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(k=n.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&k.type?(u(),m("div",Oe,[t(g,{title:"Sicherung vor System-Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=c=>n.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:s(()=>e[34]||(e[34]=[i(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ")])),_:1},8,["model-value"]),t(V,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=c=>a.sendSystemCommand("createCloudBackup",{}))}),t(E,{"backup-cloud":n.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=c=>a.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[9]||(e[9]=c=>a.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):_("",!0),t(F,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=c=>n.$emit("save")),onReset:e[11]||(e[11]=c=>n.$emit("reset")),onDefaults:e[12]||(e[12]=c=>n.$emit("defaults"))})])):_("",!0)]}),_:1},8,["collapsed"]),!l.installAssistantActive&&!n.$store.state.mqtt["openWB/general/extern"]?(u(),C(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:s(()=>[o("form",Fe,[t(d,{subtype:"info"},{default:s(()=>e[36]||(e[36]=[i(" Hier kann die Sicherung aus den älteren Software Versionen 1.9.303 oder 1.9.304 hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren."),o("br",null,null,-1),i(" Ein Import aus Versionen kleiner als 1.9.303 ist nicht möglich. Falls eine Datenübernahme aus 1.9er Versionen gewünscht ist, muss erst ein Upgrade auf 1.9.303 oder 1.9.304 durchgeführt werden! Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")])),_:1}),t(d,{subtype:"danger"},{default:s(()=>e[37]||(e[37]=[i(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),o("br",null,null,-1),i(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),o("br",null,null,-1),i(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")])),_:1}),o("div",Ae,[o("div",xe,[o("div",Le,[t(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",Te,[o("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=p=>a.updateSelectedDataMigrationFile(p))},null,32),o("label",Ve,h(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Ee,[o("button",{class:M(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=p=>a.uploadDataMigrationFile())},[e[38]||(e[38]=i(" Hochladen ")),t(v,{"fixed-width":"",icon:["fas","upload"]})],10,je)])]),t(y,null,{default:s(()=>e[39]||(e[39]=[i(" Zuordnung der Komponenten ")])),_:1}),(u(!0),m(W,null,A(r.dataMigrationConfig,p=>(u(),m("div",{key:p.sectionName},[t(y,null,{default:s(()=>[i(h(p.sectionName),1)]),_:2},1024),(u(!0),m(W,null,A(p.sectionComponents,k=>(u(),C(O,{key:k.key,modelValue:r.dataMigrationMapping[k.key],"onUpdate:modelValue":c=>r.dataMigrationMapping[k.key]=c,title:k.label,options:a.getMigrationOptions(k.validTypes)},I({_:2},[k.help?{name:"help",fn:s(()=>[i(h(k.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),o("div",ze,[o("div",Pe,[t(D,{class:M(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=p=>a.dataMigration())},{default:s(()=>[e[40]||(e[40]=i(" Datenübernahme starten ")),t(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})):_("",!0),l.installAssistantActive?_("",!0):(u(),m("form",Re,[t(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:s(()=>[o("div",$e,[o("div",Ue,[t(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=p=>a.factoryReset())},{default:s(()=>[t(v,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[42]||(e[42]=i(" Zurücksetzen ")),t(v,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:s(()=>[t(d,{subtype:"danger"},{default:s(()=>e[41]||(e[41]=[i(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc., Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")])),_:1})]),_:1})])),l.installAssistantActive?_("",!0):(u(),m("form",qe,[t(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:s(()=>[t(F,{"form-name":n.monitoringConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=p=>n.$emit("save")),onReset:e[20]||(e[20]=p=>n.$emit("reset"))},null,8,["form-name"])]),default:s(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",He,[t(d,{subtype:"info"},{default:s(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",Ne,[t(d,{subtype:"info"},{default:s(()=>e[44]||(e[44]=[i(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Komponenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ")])),_:1}),t(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":n.$store.state.mqtt["openWB/optional/monitoring/config"]?n.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=p=>a.updateSelectedMonitoring(p))},null,8,["options","model-value"]),n.$store.state.mqtt["openWB/optional/monitoring/config"]&&n.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),m("div",Ie,[t(j,{monitoring:n.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=p=>a.updateConfiguration("openWB/optional/monitoring/config",p))},null,8,["monitoring"])])):_("",!0)]))]),_:1})]))])):_("",!0)])}const Je=w(ce,[["render",Ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{J as B,Je as D,ie as M,Ye as a}; diff --git a/web/settings/assets/DebugConfig-aa8771fe.js b/web/settings/assets/DebugConfig-650d7b2b.js similarity index 97% rename from web/settings/assets/DebugConfig-aa8771fe.js rename to web/settings/assets/DebugConfig-650d7b2b.js index 2e9a23c1a7..82c57e1d9b 100644 --- a/web/settings/assets/DebugConfig-aa8771fe.js +++ b/web/settings/assets/DebugConfig-650d7b2b.js @@ -1,2 +1,2 @@ -import{C as k}from"./index-e7db68ea.js";import{l as B,a8 as D,a9 as L,F as W}from"./vendor-fortawesome-979a7935.js";import{_,u as s,l as d,z as w,E as l,G as i,q as C,A as F,x as v,F as x,m as b,N as y,M as N,y as f}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! +import{C as k}from"./index-8a28b331.js";import{l as B,a8 as D,a9 as L,F as W}from"./vendor-fortawesome-231ff303.js";import{_,u as s,l as d,z as w,E as l,G as i,q as C,A as F,x as v,F as x,m as b,N as y,M as N,y as f}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! `+t.response.status+" "+t.response.statusText+": "+t.response.request.responseURL:t.request?t.request:t.message)},async loadLog(n){this.logData="wird aktualisiert...",this.loading=!0;var e="";for(let r=4;r>=1;r--){const a=await this.getFilePromise(n+"."+r,!0);e+=a}const t=await this.getFilePromise(n);e+=t,this.logData=e,this.loading=!1}}},S={class:"log-data mb-0"};function P(n,e,t,r,a,g){const u=s("font-awesome-icon"),m=s("openwb-base-avatar"),p=s("openwb-base-card");return d(),w(p,{title:t.title,class:"log-card",collapsible:!0,collapsed:!0},{actions:l(()=>[i(m,{class:"bg-success clickable",onClick:e[0]||(e[0]=F(c=>g.loadLog(t.logFile),["stop"]))},{default:l(()=>[i(u,{"fixed-width":"",class:C(a.loading?"fa-spin-pulse":""),icon:a.loading?["fas","spinner"]:["fas","file-download"]},null,8,["class","icon"])]),_:1})]),default:l(()=>[v("pre",S,x(a.logData),1)]),_:1},8,["title"])}const I=_($,[["render",P],["__scopeId","data-v-a320c3d6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/debug_config/LogCard.vue"]]),q={name:"OpenwbDebuggingView",components:{OpenwbLogCard:I},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/debug_level"],logFiles:[{title:"Main-Log",fileName:"/openWB/ramdisk/main.log"},{title:"Log des internen Ladepunktes",fileName:"/openWB/ramdisk/internal_chargepoint.log"},{title:"MQTT-Log",fileName:"/openWB/ramdisk/mqtt.log"},{title:"SoC-Log",fileName:"/openWB/ramdisk/soc.log"},{title:"Protokoll des letzten Updates",fileName:"/openWB/data/log/update.log"},{title:"Protokoll des Remote-Dienstes",fileName:"/openWB/ramdisk/remote_support.log"},{title:"Protokoll des SmartHome Dienstes",fileName:"/openWB/ramdisk/smarthome.log"},{title:"Protokoll der Datenmigration",fileName:"/openWB/data/log/data_migration.log"}]}}},z={class:"debugging"},V={name:"debugConfigForm"};function T(n,e,t,r,a,g){const u=s("openwb-base-button-group-input"),m=s("openwb-base-alert"),p=s("openwb-base-card"),c=s("openwb-base-submit-buttons"),h=s("openwb-log-card");return d(),b("div",z,[v("form",V,[i(p,{title:"Protokollierung"},{default:l(()=>[i(u,{title:"Debug Level",buttons:[{buttonValue:30,text:"Warnungen und Fehler"},{buttonValue:20,text:"Info"},{buttonValue:10,text:"Details"}],"model-value":n.$store.state.mqtt["openWB/system/debug_level"],"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateState("openWB/system/debug_level",o))},{help:l(()=>e[4]||(e[4]=[f(' Wenn der Debug Level auf "Info" oder "Details" gesetzt wird, werden mehr Informationen in die Logdateien geschrieben. Im normalen Betrieb sollte immer "Warnungen und Fehler" gewählt werden, um die Schreibvorgänge auf der SD-Karte zu reduzieren. ')])),_:1},8,["model-value"]),i(m,{subtype:"warning"},{default:l(()=>e[5]||(e[5]=[f(' Achtung! In den Einstellungen "Info" und "Details" können in den Logdateien sensible Daten wie Benutzernamen und Passwörter enthalten sein. Diese sollten vor dem Veröffentlichen z.B. im Forum unkenntlich gemacht werden. Private IP-Adressen (z.B. 192.168.x.x) müssen nicht maskiert werden, da diese nicht über das Internet erreichbar sind. ')])),_:1})]),_:1}),i(c,{"form-name":"debugConfigForm",onSave:e[1]||(e[1]=o=>n.$emit("save")),onReset:e[2]||(e[2]=o=>n.$emit("reset")),onDefaults:e[3]||(e[3]=o=>n.$emit("defaults"))})]),(d(!0),b(y,null,N(a.logFiles,o=>(d(),w(h,{key:o.fileName,title:o.title,"log-file":o.fileName},null,8,["title","log-file"]))),128))])}const G=_(q,[["render",T],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DebugConfig.vue"]]);export{G as default}; diff --git a/web/settings/assets/GeneralChargeConfig-13b720b4.js b/web/settings/assets/GeneralChargeConfig-13b720b4.js deleted file mode 100644 index 6170056bf5..0000000000 --- a/web/settings/assets/GeneralChargeConfig-13b720b4.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as b,C as L}from"./index-e7db68ea.js";import{_ as q}from"./dynamic-import-helper-be004503.js";import{_ as h,u,l as a,m as l,G as n,E as o,y as i,F as B,x as s,a1 as O,z as W,a2 as F,N as D,B as y}from"./vendor-0c15df0c.js";const U={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},A=h(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),N={name:"ElectricityTariffConfigFallback",mixins:[A]},Z={class:"backup-cloud-fallback"};function M(t,e,m,k,z,g){const d=u("openwb-base-alert"),p=u("openwb-base-textarea");return a(),l("div",Z,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+B(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[s("pre",null,B(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const I=h(N,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),j={name:"OpenwbElectricityTariffProxy",props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading electricity tariff: ${this.electricityTariff.type}`),O({loader:()=>q(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-1a3def48.js"),["assets/electricity_tariff-1a3def48.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-595c50b5.js"),["assets/electricity_tariff-595c50b5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-46db5ac3.js"),["assets/electricity_tariff-46db5ac3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-5de59e1a.js"),["assets/electricity_tariff-5de59e1a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-180fb3f9.js"),["assets/electricity_tariff-180fb3f9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:I})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,m,k,z,g){const d=u("openwb-base-heading");return a(),l(D,null,[n(d,null,{default:o(()=>[i(' Einstellungen für Modul "'+B(m.electricityTariff.name)+'" ',1)]),_:1}),(a(),W(F(g.getTariffComponent()),{"electricity-tariff":m.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=p=>g.updateConfiguration(p))},null,40,["electricity-tariff"]))],64)}const H=h(j,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),G={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:H},mixins:[L],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(m=>m.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"generalChargeConfig"},K={name:"generalChargeConfigForm"},x={key:0},Q={key:1},X={key:2},Y={key:0},ee={key:1},te={key:0},ne={key:1},ie={key:2},re={key:0},oe={key:1},ae={key:0};function le(t,e,m,k,z,g){const d=u("openwb-base-alert"),p=u("openwb-base-button-group-input"),_=u("openwb-base-range-input"),c=u("openwb-base-number-input"),v=u("openwb-base-heading"),w=u("openwb-base-card"),S=u("openwb-base-select-input"),V=u("openwb-electricity-tariff-proxy"),$=u("openwb-base-text-input"),T=u("openwb-base-submit-buttons");return a(),l("div",J,[s("form",K,[n(w,{title:"Allgemein"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",x,[n(d,{subtype:"info"},{default:o(()=>e[16]||(e[16]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",Q,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load",r))},{help:o(()=>e[17]||(e[17]=[i(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),s("br",null,null,-1),i(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),W(_,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",r))},{help:o(()=>e[18]||(e[18]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",r))},{help:o(()=>e[19]||(e[19]=[i(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),s("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")])),_:1},8,["model-value"]),n(c,{title:"Verzögerung automat. Phasenumschaltung",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",r))},{help:o(()=>e[20]||(e[20]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet."),s("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ")])),_:1},8,["model-value"]),e[24]||(e[24]=s("hr",null,null,-1)),n(v,null,{help:o(()=>e[21]||(e[21]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),s("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")])),default:o(()=>[e[22]||(e[22]=i(" Berechnung der Ladekosten "))]),_:1}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),W(d,{key:1,subtype:"info"},{default:o(()=>e[23]||(e[23]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. ")])),_:1})):(a(),l("div",X,[n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateState("openWB/general/prices/grid",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])])),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateState("openWB/general/prices/bat",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateState("openWB/general/prices/pv",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(w,{title:"Optional"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",Y,[n(d,{subtype:"info"},{default:o(()=>e[25]||(e[25]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",ee,[n(v,null,{default:o(()=>e[26]||(e[26]=[i(" Variable Stromtarife ")])),_:1}),n(d,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),s("br",null,null,-1),i(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")])),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:g.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=r=>g.updateSelectedElectricityTariff(r))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),l("div",te,[n(V,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=r=>g.updateConfiguration("openWB/optional/et/provider",r))},null,8,["electricity-tariff"])])):y("",!0),e[31]||(e[31]=s("hr",null,null,-1)),n(v,null,{default:o(()=>e[28]||(e[28]=[i(" Speicher-Entladung ins Fahrzeug steuern ")])),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),l("div",ne,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[9]||(e[9]=r=>t.updateState("openWB/bat/config/power_limit_mode",r))},{help:o(()=>e[29]||(e[29]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. "),s("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.'),s("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".'),s("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ")])),_:1},8,["model-value"])])):(a(),l("div",ie,[n(d,{subtype:"info"},{default:o(()=>e[30]||(e[30]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ")])),_:1})]))]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:o(()=>{var r,P,E,C;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),l("div",re,[n(d,{subtype:"info"},{default:o(()=>e[32]||(e[32]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),l("div",oe,[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(r=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:r.active,"onUpdate:modelValue":e[10]||(e[10]=f=>t.updateState("openWB/optional/ocpp/config",f,"active"))},null,8,["model-value"]),((P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.active)===!0?(a(),l("div",ae,[n(d,{subtype:"info"},{default:o(()=>e[33]||(e[33]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich."),s("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ")])),_:1}),n($,{title:"URL des OCPP-Backends",subtype:"host","model-value":(E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.url,"onUpdate:modelValue":e[11]||(e[11]=f=>t.updateState("openWB/optional/ocpp/config",f,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.version,"onUpdate:modelValue":e[12]||(e[12]=f=>t.updateState("openWB/optional/ocpp/config",f,"version"))},null,8,["model-value"])])):y("",!0)]))]}),_:1}),n(T,{"form-name":"generalChargeConfigForm",onSave:e[13]||(e[13]=r=>t.$emit("save")),onReset:e[14]||(e[14]=r=>t.$emit("reset")),onDefaults:e[15]||(e[15]=r=>t.$emit("defaults"))})])])}const se=h(G,[["render",le],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),ge=Object.freeze(Object.defineProperty({__proto__:null,default:se},Symbol.toStringTag,{value:"Module"}));export{A as E,ge as G}; diff --git a/web/settings/assets/GeneralChargeConfig-4e8b8e33.js b/web/settings/assets/GeneralChargeConfig-4e8b8e33.js new file mode 100644 index 0000000000..308bc245e7 --- /dev/null +++ b/web/settings/assets/GeneralChargeConfig-4e8b8e33.js @@ -0,0 +1 @@ +import{_ as b,C as L}from"./index-8a28b331.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{_ as h,u as s,l as a,m as u,G as n,E as o,y as i,F as B,x as l,a1 as q,z as W,a2 as F,N as D,B as y}from"./vendor-0c15df0c.js";const U={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},A=h(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),N={name:"ElectricityTariffConfigFallback",mixins:[A]},Z={class:"backup-cloud-fallback"};function M(t,e,m,z,k,g){const d=s("openwb-base-alert"),p=s("openwb-base-textarea");return a(),u("div",Z,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+B(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[l("pre",null,B(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const I=h(N,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),j={name:"OpenwbElectricityTariffProxy",props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading electricity tariff: ${this.electricityTariff.name} (${this.electricityTariff.type})`),q({loader:()=>O(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-48ad289f.js"),["assets/electricity_tariff-48ad289f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-36f9b4dc.js"),["assets/electricity_tariff-36f9b4dc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-d00b4f7e.js"),["assets/electricity_tariff-d00b4f7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-82b975ed.js"),["assets/electricity_tariff-82b975ed.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-936d2b28.js"),["assets/electricity_tariff-936d2b28.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:I})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,m,z,k,g){const d=s("openwb-base-heading");return a(),u(D,null,[n(d,null,{default:o(()=>[i(' Einstellungen für Modul "'+B(m.electricityTariff.name)+'" ',1)]),_:1}),(a(),W(F(g.myComponent),{"electricity-tariff":m.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=p=>g.updateConfiguration(p))},null,40,["electricity-tariff"]))],64)}const H=h(j,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),G={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:H},mixins:[L],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(m=>m.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"generalChargeConfig"},K={name:"generalChargeConfigForm"},x={key:0},Q={key:1},X={key:2},Y={key:0},ee={key:1},te={key:0},ne={key:2},ie={key:3},re={key:0};function oe(t,e,m,z,k,g){const d=s("openwb-base-alert"),p=s("openwb-base-button-group-input"),_=s("openwb-base-range-input"),c=s("openwb-base-number-input"),v=s("openwb-base-heading"),w=s("openwb-base-card"),S=s("openwb-base-select-input"),V=s("openwb-electricity-tariff-proxy"),$=s("openwb-base-text-input"),T=s("openwb-base-submit-buttons");return a(),u("div",J,[l("form",K,[n(w,{title:"Allgemein"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),u("div",x,[n(d,{subtype:"info"},{default:o(()=>e[16]||(e[16]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),u("div",Q,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load",r))},{help:o(()=>e[17]||(e[17]=[i(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),l("br",null,null,-1),i(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),W(_,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",r))},{help:o(()=>e[18]||(e[18]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",r))},{help:o(()=>e[19]||(e[19]=[i(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),l("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")])),_:1},8,["model-value"]),n(c,{title:"Verzögerung automat. Phasenumschaltung",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",r))},{help:o(()=>e[20]||(e[20]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet."),l("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ")])),_:1},8,["model-value"]),e[24]||(e[24]=l("hr",null,null,-1)),n(v,null,{help:o(()=>e[21]||(e[21]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),l("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")])),default:o(()=>[e[22]||(e[22]=i(" Berechnung der Ladekosten "))]),_:1}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),W(d,{key:1,subtype:"info"},{default:o(()=>e[23]||(e[23]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. ")])),_:1})):(a(),u("div",X,[n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateState("openWB/general/prices/grid",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])])),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateState("openWB/general/prices/bat",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateState("openWB/general/prices/pv",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(w,{title:"Optional"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),u("div",Y,[n(d,{subtype:"info"},{default:o(()=>e[25]||(e[25]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),u("div",ee,[n(v,null,{default:o(()=>e[26]||(e[26]=[i(" Variable Stromtarife ")])),_:1}),n(d,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),l("br",null,null,-1),i(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")])),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:g.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=r=>g.updateSelectedElectricityTariff(r))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),u("div",te,[n(V,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=r=>g.updateConfiguration("openWB/optional/et/provider",r))},null,8,["electricity-tariff"])])):y("",!0)])),e[31]||(e[31]=l("hr",null,null,-1)),n(v,null,{default:o(()=>e[28]||(e[28]=[i(" Speicher-Entladung ins Fahrzeug steuern ")])),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),u("div",ne,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[9]||(e[9]=r=>t.updateState("openWB/bat/config/power_limit_mode",r))},{help:o(()=>e[29]||(e[29]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. "),l("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.'),l("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".'),l("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ")])),_:1},8,["model-value"])])):(a(),u("div",ie,[n(d,{subtype:"info"},{default:o(()=>e[30]||(e[30]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ")])),_:1})]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:o(()=>{var r,P,E,C;return[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(r=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:r.active,"onUpdate:modelValue":e[10]||(e[10]=f=>t.updateState("openWB/optional/ocpp/config",f,"active"))},null,8,["model-value"]),((P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.active)===!0?(a(),u("div",re,[n(d,{subtype:"info"},{default:o(()=>e[32]||(e[32]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich."),l("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ")])),_:1}),n($,{title:"URL des OCPP-Backends",subtype:"host","model-value":(E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.url,"onUpdate:modelValue":e[11]||(e[11]=f=>t.updateState("openWB/optional/ocpp/config",f,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.version,"onUpdate:modelValue":e[12]||(e[12]=f=>t.updateState("openWB/optional/ocpp/config",f,"version"))},null,8,["model-value"])])):y("",!0)]}),_:1}),n(T,{"form-name":"generalChargeConfigForm",onSave:e[13]||(e[13]=r=>t.$emit("save")),onReset:e[14]||(e[14]=r=>t.$emit("reset")),onDefaults:e[15]||(e[15]=r=>t.$emit("defaults"))})])])}const ae=h(G,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{A as E,de as G}; diff --git a/web/settings/assets/GeneralConfig-11fa69f5.js b/web/settings/assets/GeneralConfig-11fa69f5.js new file mode 100644 index 0000000000..2062247bc5 --- /dev/null +++ b/web/settings/assets/GeneralConfig-11fa69f5.js @@ -0,0 +1 @@ +import{l as J,a2 as X,a3 as Q,F,Y,K as ee,z as te,ab as ne,ac as oe,ad as ae}from"./vendor-fortawesome-231ff303.js";import{_ as L,C as re}from"./index-8a28b331.js";import{_ as j}from"./dynamic-import-helper-be004503.js";import{_ as h,u as b,l,m as d,z as v,E as o,y as a,F as c,G as n,x as s,a1 as M,a2 as I,N as G,B as _}from"./vendor-0c15df0c.js";const ie={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},le=h(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),se={name:"WebThemeFallback",mixins:[le]},ue={class:"web-theme-fallback"},de={key:1};function pe(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),d("div",ue,[Object.keys(t.webTheme.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+c(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",de,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+c(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const ge=h(se,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);J.add(X,Q);const me={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:F},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading web theme: ${this.webTheme.name} (${this.webTheme.type})`),M({loader:()=>j(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:ge})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function be(t,e,p,B,y,m){const g=b("font-awesome-icon"),r=b("openwb-base-alert"),w=b("openwb-base-heading");return l(),d(G,null,[p.webTheme.official?(l(),v(r,{key:0,subtype:"success"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+c(p.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(l(),v(r,{key:1,subtype:"info"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. "))]),_:1})),n(w,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+c(p.webTheme.name)+'" ',1)]),_:1}),(l(),v(I(m.myComponent),{"web-theme":p.webTheme,"onUpdate:configuration":e[0]||(e[0]=W=>m.updateConfiguration(W))},null,40,["web-theme"]))],64)}const fe=h(me,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),ce={props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},_e=h(ce,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/RippleControlReceiverConfigMixin.vue"]]),ve={name:"RippleControlReceiverConfigFallback",mixins:[_e]},we={class:"ripple-control-receiver-fallback"},he={key:1};function We(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),d("div",we,[Object.keys(t.rippleControlReceiver.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",he,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Konfiguration",subtype:"json","model-value":t.rippleControlReceiver.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const Be=h(ve,[["render",We],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),ye={name:"OpenwbRippleControlReceiverProxy",props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading ripple control receiver: ${this.rippleControlReceiver.name} (${this.rippleControlReceiver.type})`),M({loader:()=>j(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-f1d976fb.js"),["assets/ripple_control_receiver-f1d976fb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./gpio/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-71f6915a.js"),["assets/ripple_control_receiver-71f6915a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:Be})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Se(t,e,p,B,y,m){const g=b("openwb-base-heading");return l(),d(G,null,[n(g,null,{default:o(()=>[a(' Einstellungen für RSE-Modul "'+c(p.rippleControlReceiver.name)+'" ',1)]),_:1}),(l(),v(I(m.myComponent),{"ripple-control-receiver":p.rippleControlReceiver,"onUpdate:configuration":e[0]||(e[0]=r=>m.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>m.sendCommand(r))},null,40,["ripple-control-receiver"]))],64)}const ke=h(ye,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]);J.add(Y,ee,te,ne,oe,ae);const Ve={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:fe,OpenwbRippleControlReceiverProxy:ke,FontAwesomeIcon:F},mixins:[re],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.webThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(p=>p.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},getRippleControlReceiverDefaultConfiguration(t){const e=this.rippleControlReceiverList.find(p=>p.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedRippleControlReceiverModule(t){this.updateState("openWB/general/ripple_control_receiver/module",t,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(t))}}},Ce={class:"generalConfig"},$e={name:"generalConfigForm"},Re={key:0},Te={key:1},qe={key:1},ze={class:"border border-info w-100 p-1"},Oe={class:"border border-info w-100 p-1"},De={key:0},Ee={key:1},Ne={key:0},Ae={key:2},Pe={key:0},xe={key:0},Ue={key:1},Le={key:0},Je={key:0},Fe={key:1};function je(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-button-group-input"),w=b("openwb-base-copy-to-clipboard"),W=b("openwb-base-card"),S=b("openwb-base-heading"),k=b("openwb-base-select-input"),K=b("openwb-ripple-control-receiver-proxy"),H=b("openwb-web-theme-proxy"),f=b("font-awesome-icon"),Z=b("openwb-base-submit-buttons");return l(),d("div",Ce,[s("form",$e,[n(W,{title:"Steuerungsmodus"},{default:o(()=>[n(g,{subtype:"info"},{default:o(()=>e[29]||(e[29]=[s("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),s("p",null,[a(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),s("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),s("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1}),n(r,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateState("openWB/general/extern",u))},null,8,["model-value"]),p.installAssistantActive?_("",!0):(l(),d("div",Re,[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),v(r,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=u=>t.updateState("openWB/general/modbus_control",u))},{help:o(()=>e[30]||(e[30]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),s("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")])),_:1},8,["model-value"])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(l(),d("div",Te,[n(g,{subtype:"info",class:"mb-2"},{default:o(()=>e[31]||(e[31]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')])),_:1})])):_("",!0)])),p.installAssistantActive?_("",!0):(l(),d("div",qe,[n(r,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=u=>t.updateState("openWB/general/http_api",u))},{help:o(()=>[e[38]||(e[38]=s("p",null," Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs (Port 8443) abfragen oder neu setzen. Topics können über GET oder POST abgefragt, neue Werte nur mit POST gesetzt werden. ",-1)),e[39]||(e[39]=s("p",null,"Beispiel 1: Abfrage des aktuellen Systemzeitstempels",-1)),s("ul",null,[s("li",null,[e[32]||(e[32]=a(" GET-Request:")),e[33]||(e[33]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[a(" https://"+c(m.getIpAddress())+":8443/v1/?topic=openWB/system/time ",1)]),_:1})]),s("li",null,[e[34]||(e[34]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[35]||(e[35]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic":"openWB/system/time"}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[40]||(e[40]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",ze,c(JSON.stringify({status:"success",topic:"openWB/system/time",message:1721287000646975e-6},null,4)),1),e[41]||(e[41]=s("p",null,'Im Fehlerfall wird der Status auf "failed" gesetzt und eine Fehlermeldung zurückgegeben.',-1)),e[42]||(e[42]=s("p",null,"Beispiel 2: integriertes Display abschalten",-1)),s("ul",null,[s("li",null,[e[36]||(e[36]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[37]||(e[37]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic": "openWB/set/optional/int_display/active", "message": false}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[43]||(e[43]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",Oe,c(JSON.stringify({status:"success",topic:"openWB/set/optional/int_display/active",message:!1},null,4)),1)]),_:1},8,["model-value"])]))]),_:1}),n(W,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",De,[n(g,{subtype:"info"},{default:o(()=>e[44]||(e[44]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):_("",!0),p.installAssistantActive?_("",!0):(l(),d("div",Ee,[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",Ne,[n(r,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=u=>t.updateState("openWB/general/control_interval",u))},{help:o(()=>e[45]||(e[45]=[a(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),s("br",null,null,-1),s("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1)])),_:1},8,["model-value"]),n(r,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=u=>t.updateState("openWB/general/grid_protection_configured",u))},{help:o(()=>e[46]||(e[46]=[a(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),s("br",null,null,-1),s("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):_("",!0),e[47]||(e[47]=s("hr",null,null,-1))])),t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",Ae,[n(S,{class:"mt-0"},{default:o(()=>e[48]||(e[48]=[a(" Steuerbare Verbrauchseinrichtung ")])),_:1}),n(g,{sub_type:"info"},{default:o(()=>e[49]||(e[49]=[a(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')])),_:1}),n(k,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:m.rippleControlReceiverList,"model-value":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":e[5]||(e[5]=u=>m.updateSelectedRippleControlReceiverModule(u))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(l(),d("div",Pe,[n(K,{"ripple-control-receiver":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":e[6]||(e[6]=u=>m.updateConfiguration("openWB/general/ripple_control_receiver/module",u))},null,8,["ripple-control-receiver"])])):_("",!0)])):_("",!0)]),_:1}),p.installAssistantActive?_("",!0):(l(),v(W,{key:0,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",xe,[n(g,{subtype:"info"},{default:o(()=>e[50]||(e[50]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Ue,[n(S,{class:"mt-0"},{default:o(()=>e[51]||(e[51]=[a(" Hauptseite ")])),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(l(),d("div",Le,[n(k,{class:"mb-2",title:"Theme",groups:m.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[7]||(e[7]=u=>m.updateSelectedWebTheme(u))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(l(),v(H,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[8]||(e[8]=u=>m.updateConfiguration("openWB/general/web_theme",u))},null,8,["web-theme"])):_("",!0)])):_("",!0)]))]),_:1})),p.installAssistantActive?_("",!0):(l(),v(W,{key:1,title:"Lade-Protokoll"},{default:o(()=>{var u,V,C,$,R,T,q,z,O,D,E,N,A,P,x,U;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",Je,[n(g,{subtype:"info"},{default:o(()=>e[52]||(e[52]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Fe,[n(r,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[9]||(e[9]=i=>t.updateState("openWB/general/range_unit",i))},null,8,["model-value"]),n(S,null,{default:o(()=>e[53]||(e[53]=[a(" Auswahl der Datenfelder ")])),_:1}),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(u=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:u.time_begin,"onUpdate:modelValue":e[10]||(e[10]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_begin"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[54]||(e[54]=a(" Beginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(V=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:V.time_end,"onUpdate:modelValue":e[11]||(e[11]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[55]||(e[55]=a(" Ende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(C=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:C.time_time_charged,"onUpdate:modelValue":e[12]||(e[12]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_time_charged"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","clock"]}),e[56]||(e[56]=a(" Dauer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.data_costs,"onUpdate:modelValue":e[13]||(e[13]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_costs"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","coins"]}),e[57]||(e[57]=a(" Kosten "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(R=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:R.data_power_source,"onUpdate:modelValue":e[14]||(e[14]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_power_source"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","pie-chart"]}),e[58]||(e[58]=a(" Energieaufteilung "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.vehicle_name,"onUpdate:modelValue":e[15]||(e[15]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[59]||(e[59]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_chargemode,"onUpdate:modelValue":e[16]||(e[16]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_chargemode"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[60]||(e[60]=a(" Lademodus "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_prio,"onUpdate:modelValue":e[17]||(e[17]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_prio"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[61]||(e[61]=a(" Priorität "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(O=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:O.vehicle_rfid,"onUpdate:modelValue":e[18]||(e[18]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_rfid"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[62]||(e[62]=a(" ID-Tag "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.vehicle_soc_at_start,"onUpdate:modelValue":e[19]||(e[19]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[63]||(e[63]=a(" SoC bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.vehicle_soc_at_end,"onUpdate:modelValue":e[20]||(e[20]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[64]||(e[64]=a(" SoC bei Ladende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.chargepoint_name,"onUpdate:modelValue":e[21]||(e[21]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[65]||(e[65]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.chargepoint_serial_number,"onUpdate:modelValue":e[22]||(e[22]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_serial_number"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[66]||(e[66]=a(" Seriennummer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(P=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:P.data_imported_since_mode_switch,"onUpdate:modelValue":e[23]||(e[23]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_imported_since_mode_switch"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[67]||(e[67]=a(" Geladene Energie "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(x=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:x.chargepoint_imported_at_start,"onUpdate:modelValue":e[24]||(e[24]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[68]||(e[68]=a(" Zählerstand bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.chargepoint_imported_at_end,"onUpdate:modelValue":e[25]||(e[25]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[69]||(e[69]=a(" Zählerstand bei Ladeende "))]),_:1},8,["model-value"])]))]}),_:1})),n(Z,{"form-name":"generalConfigForm",onSave:e[26]||(e[26]=u=>t.$emit("save")),onReset:e[27]||(e[27]=u=>t.$emit("reset")),onDefaults:e[28]||(e[28]=u=>t.$emit("defaults"))})])])}const Me=h(Ve,[["render",je],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ze=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{Me as G,_e as R,Ze as a}; diff --git a/web/settings/assets/GeneralConfig-e2e95a2e.js b/web/settings/assets/GeneralConfig-e2e95a2e.js deleted file mode 100644 index 10d508b11e..0000000000 --- a/web/settings/assets/GeneralConfig-e2e95a2e.js +++ /dev/null @@ -1 +0,0 @@ -import{l as L,a2 as Z,a3 as Q,F as J,Y,M as X,z as ee,ab as te,ac as ne,ad as oe}from"./vendor-fortawesome-979a7935.js";import{_ as P,C as ae}from"./index-e7db68ea.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as h,u as g,l,m as d,z as v,E as o,y as a,F as w,G as n,x as f,a1 as F,a2 as j,N as G,B as c}from"./vendor-0c15df0c.js";const re={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=h(re,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),le={name:"WebThemeFallback",mixins:[ie]},se={class:"web-theme-fallback"},ue={key:1};function de(t,e,s,B,y,b){const p=g("openwb-base-alert"),r=g("openwb-base-textarea");return l(),d("div",se,[Object.keys(t.webTheme.configuration).length==0?(l(),v(p,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+w(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",ue,[n(p,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+w(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(p,{subtype:"info"},{default:o(()=>[f("pre",null,w(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const pe=h(le,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);L.add(Z,Q);const ge={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:J},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getThemeComponent(){return console.debug(`loading web theme: ${this.webTheme.type}`),F({loader:()=>M(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:pe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,e,s,B,y,b){const p=g("font-awesome-icon"),r=g("openwb-base-alert"),_=g("openwb-base-heading");return l(),d(G,null,[s.webTheme.official?(l(),v(r,{key:0,subtype:"success"},{default:o(()=>[n(p,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+w(s.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(l(),v(r,{key:1,subtype:"info"},{default:o(()=>[n(p,{"fixed-width":"",icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. "))]),_:1})),n(_,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+w(s.webTheme.name)+'" ',1)]),_:1}),(l(),v(j(b.getThemeComponent()),{"web-theme":s.webTheme,"onUpdate:configuration":e[0]||(e[0]=W=>b.updateConfiguration(W))},null,40,["web-theme"]))],64)}const be=h(ge,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),fe={props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ce=h(fe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/RippleControlReceiverConfigMixin.vue"]]),_e={name:"RippleControlReceiverConfigFallback",mixins:[ce]},ve={class:"ripple-control-receiver-fallback"},we={key:1};function he(t,e,s,B,y,b){const p=g("openwb-base-alert"),r=g("openwb-base-textarea");return l(),d("div",ve,[Object.keys(t.rippleControlReceiver.configuration).length==0?(l(),v(p,{key:0,subtype:"info"},{default:o(()=>[a(' Das RSE-Modul "'+w(t.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",we,[n(p,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+w(t.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Konfiguration",subtype:"json","model-value":t.rippleControlReceiver.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(p,{subtype:"info"},{default:o(()=>[f("pre",null,w(JSON.stringify(t.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const We=h(_e,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),Be={name:"OpenwbRippleControlReceiverProxy",props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getRippleControlReceiverComponent(){return console.debug(`loading ripple control receiver: ${this.rippleControlReceiver.type}`),F({loader:()=>M(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>P(()=>import("./ripple_control_receiver-2b63b6f2.js"),["assets/ripple_control_receiver-2b63b6f2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./gpio/ripple_control_receiver.vue":()=>P(()=>import("./ripple_control_receiver-f586004d.js"),["assets/ripple_control_receiver-f586004d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:We})},updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function ye(t,e,s,B,y,b){const p=g("openwb-base-heading");return l(),d(G,null,[n(p,null,{default:o(()=>[a(' Einstellungen für RSE-Modul "'+w(s.rippleControlReceiver.name)+'" ',1)]),_:1}),(l(),v(j(b.getRippleControlReceiverComponent()),{"ripple-control-receiver":s.rippleControlReceiver,"onUpdate:configuration":e[0]||(e[0]=r=>b.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>b.sendCommand(r))},null,40,["ripple-control-receiver"]))],64)}const Ce=h(Be,[["render",ye],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]);L.add(Y,X,ee,te,ne,oe);const Se={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:be,OpenwbRippleControlReceiverProxy:Ce,FontAwesomeIcon:J},mixins:[ae],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.webThemeList)==null||e.forEach(s=>{s.official===!0?t[0].options.push(s):t[1].options.push(s)}),t}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(s=>s.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},getRippleControlReceiverDefaultConfiguration(t){const e=this.rippleControlReceiverList.find(s=>s.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedRippleControlReceiverModule(t){this.updateState("openWB/general/ripple_control_receiver/module",t,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(t))}}},Ve={class:"generalConfig"},ke={name:"generalConfigForm"},$e={key:0},Re={key:1},Te={key:1},qe={key:0},Ee={key:1},ze={key:0},De={key:2},Ne={key:0},Ae={key:0},Oe={key:1},Ue={key:0},xe={key:0},Pe={key:1};function Le(t,e,s,B,y,b){const p=g("openwb-base-alert"),r=g("openwb-base-button-group-input"),_=g("openwb-base-card"),W=g("openwb-base-heading"),C=g("openwb-base-select-input"),I=g("openwb-ripple-control-receiver-proxy"),H=g("openwb-web-theme-proxy"),m=g("font-awesome-icon"),K=g("openwb-base-submit-buttons");return l(),d("div",Ve,[f("form",ke,[n(_,{title:"Steuerungsmodus"},{default:o(()=>[n(p,{subtype:"info"},{default:o(()=>e[29]||(e[29]=[f("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),f("p",null,[a(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),f("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),f("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1}),n(r,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateState("openWB/general/extern",u))},null,8,["model-value"]),s.installAssistantActive?c("",!0):(l(),d("div",$e,[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),v(r,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=u=>t.updateState("openWB/general/modbus_control",u))},{help:o(()=>e[30]||(e[30]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),f("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")])),_:1},8,["model-value"])):c("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(l(),d("div",Re,[n(p,{subtype:"info",class:"mb-2"},{default:o(()=>e[31]||(e[31]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')])),_:1})])):c("",!0)])),s.installAssistantActive?c("",!0):(l(),d("div",Te,[n(r,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=u=>t.updateState("openWB/general/http_api",u))},{help:o(()=>e[32]||(e[32]=[f("p",null,[a(" Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs abfragen oder neu setzen. Die Schnittstelle ist "),f("a",{href:"https://openwb.de/main/wp-content/uploads/2025/02/HTTP-API-fuer-openWB-series1-und-series2.pdf",target:"_blank",rel:"noopener noreferrer"}," hier "),a(" dokumentiert. ")],-1)])),_:1},8,["model-value"])]))]),_:1}),n(_,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",qe,[n(p,{subtype:"info"},{default:o(()=>e[33]||(e[33]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):c("",!0),s.installAssistantActive?c("",!0):(l(),d("div",Ee,[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",ze,[n(r,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=u=>t.updateState("openWB/general/control_interval",u))},{help:o(()=>e[34]||(e[34]=[a(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),f("br",null,null,-1),f("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1)])),_:1},8,["model-value"]),n(r,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=u=>t.updateState("openWB/general/grid_protection_configured",u))},{help:o(()=>e[35]||(e[35]=[a(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),f("br",null,null,-1),f("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):c("",!0),e[36]||(e[36]=f("hr",null,null,-1))])),t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",De,[n(W,{class:"mt-0"},{default:o(()=>e[37]||(e[37]=[a(" Steuerbare Verbrauchseinrichtung ")])),_:1}),n(p,{sub_type:"info"},{default:o(()=>e[38]||(e[38]=[a(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')])),_:1}),n(C,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:b.rippleControlReceiverList,"model-value":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":e[5]||(e[5]=u=>b.updateSelectedRippleControlReceiverModule(u))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(l(),d("div",Ne,[n(I,{"ripple-control-receiver":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":e[6]||(e[6]=u=>b.updateConfiguration("openWB/general/ripple_control_receiver/module",u))},null,8,["ripple-control-receiver"])])):c("",!0)])):c("",!0)]),_:1}),s.installAssistantActive?c("",!0):(l(),v(_,{key:0,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",Ae,[n(p,{subtype:"info"},{default:o(()=>e[39]||(e[39]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Oe,[n(W,{class:"mt-0"},{default:o(()=>e[40]||(e[40]=[a(" Hauptseite ")])),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(l(),d("div",Ue,[n(C,{class:"mb-2",title:"Theme",groups:b.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[7]||(e[7]=u=>b.updateSelectedWebTheme(u))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(l(),v(H,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[8]||(e[8]=u=>b.updateConfiguration("openWB/general/web_theme",u))},null,8,["web-theme"])):c("",!0)])):c("",!0)]))]),_:1})),s.installAssistantActive?c("",!0):(l(),v(_,{key:1,title:"Lade-Protokoll"},{default:o(()=>{var u,S,V,k,$,R,T,q,E,z,D,N,A,O,U,x;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",xe,[n(p,{subtype:"info"},{default:o(()=>e[41]||(e[41]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Pe,[n(r,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[9]||(e[9]=i=>t.updateState("openWB/general/range_unit",i))},null,8,["model-value"]),n(W,null,{default:o(()=>e[42]||(e[42]=[a(" Auswahl der Datenfelder ")])),_:1}),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(u=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:u.time_begin,"onUpdate:modelValue":e[10]||(e[10]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_begin"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","calendar"]}),e[43]||(e[43]=a(" Beginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(S=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:S.time_end,"onUpdate:modelValue":e[11]||(e[11]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_end"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","calendar"]}),e[44]||(e[44]=a(" Ende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(V=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:V.time_time_charged,"onUpdate:modelValue":e[12]||(e[12]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_time_charged"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","clock"]}),e[45]||(e[45]=a(" Dauer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(k=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:k.data_costs,"onUpdate:modelValue":e[13]||(e[13]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_costs"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","coins"]}),e[46]||(e[46]=a(" Kosten "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.data_power_source,"onUpdate:modelValue":e[14]||(e[14]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_power_source"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","pie-chart"]}),e[47]||(e[47]=a(" Energieaufteilung "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(R=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:R.vehicle_name,"onUpdate:modelValue":e[15]||(e[15]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_name"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[48]||(e[48]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.vehicle_chargemode,"onUpdate:modelValue":e[16]||(e[16]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_chargemode"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[49]||(e[49]=a(" Lademodus "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_prio,"onUpdate:modelValue":e[17]||(e[17]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_prio"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[50]||(e[50]=a(" Priorität "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.vehicle_rfid,"onUpdate:modelValue":e[18]||(e[18]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_rfid"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[51]||(e[51]=a(" ID-Tag "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_soc_at_start,"onUpdate:modelValue":e[19]||(e[19]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_start"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[52]||(e[52]=a(" SoC bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.vehicle_soc_at_end,"onUpdate:modelValue":e[20]||(e[20]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_end"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","car"]}),e[53]||(e[53]=a(" SoC bei Ladende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.chargepoint_name,"onUpdate:modelValue":e[21]||(e[21]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_name"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[54]||(e[54]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.chargepoint_serial_number,"onUpdate:modelValue":e[22]||(e[22]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_serial_number"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[55]||(e[55]=a(" Seriennummer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(O=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:O.data_imported_since_mode_switch,"onUpdate:modelValue":e[23]||(e[23]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_imported_since_mode_switch"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[56]||(e[56]=a(" Geladene Energie "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.chargepoint_imported_at_start,"onUpdate:modelValue":e[24]||(e[24]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_start"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[57]||(e[57]=a(" Zählerstand bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(x=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:x.chargepoint_imported_at_end,"onUpdate:modelValue":e[25]||(e[25]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_end"))},{title:o(()=>[n(m,{"fixed-width":"",icon:["fas","charging-station"]}),e[58]||(e[58]=a(" Zählerstand bei Ladeende "))]),_:1},8,["model-value"])]))]}),_:1})),n(K,{"form-name":"generalConfigForm",onSave:e[26]||(e[26]=u=>t.$emit("save")),onReset:e[27]||(e[27]=u=>t.$emit("reset")),onDefaults:e[28]||(e[28]=u=>t.$emit("defaults"))})])])}const Je=h(Se,[["render",Le],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ie=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{Je as G,ce as R,Ie as a}; diff --git a/web/settings/assets/HardwareInstallation-a49fa11f.js b/web/settings/assets/HardwareInstallation-a49fa11f.js new file mode 100644 index 0000000000..5e875d0210 --- /dev/null +++ b/web/settings/assets/HardwareInstallation-a49fa11f.js @@ -0,0 +1 @@ +import{l as S,d as U,t as q,ae as G,a7 as N,W as K,V as F,U as $,F as H}from"./vendor-fortawesome-231ff303.js";import{_ as e,C as J}from"./index-8a28b331.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{_ as T,u as p,l as s,m as g,z as E,E as r,y as d,F as V,G as u,x as c,a1 as z,a2 as Z,B as P,N as L,M as k,q as Q}from"./vendor-0c15df0c.js";const X={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,o=void 0){this.$emit("update:configuration",{value:t,object:o})}}},B=T(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),Y={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},oe={key:1};function te(t,o,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ee,[Object.keys(t.device.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+V(t.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",oe,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+V(t.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":t.device.configuration,"onUpdate:modelValue":o[0]||(o[0]=O=>t.updateConfiguration(O,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(t.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=T(Y,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=T(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function se(t,o,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ue,[Object.keys(t.component.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+V(t.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+V(t.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":t.component.configuration,"onUpdate:modelValue":o[0]||(o[0]=O=>t.updateConfiguration(O,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(t.component.configuration,void 0,2)),1)]),_:1})]))])}const ve=T(ne,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],computed:{myComponent(){var t,o;return console.debug(`loading component: ${this.device.name} (${this.device.type}) / ${(t=this.component)==null?void 0:t.name} (${(o=this.component)==null?void 0:o.type})`),this.component!==void 0?z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-4ed2775c.js"),["assets/device-4ed2775c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-2c1c538c.js"),["assets/device-2c1c538c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-6f8d53e2.js"),["assets/device-6f8d53e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-e484c150.js"),["assets/device-e484c150.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-7e0b4235.js"),["assets/device-7e0b4235.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-2d47027a.js"),["assets/inverter-2d47027a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-2852a4f8.js"),["assets/device-2852a4f8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-b821c0ee.js"),["assets/counter-b821c0ee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-a9087bab.js"),["assets/device-a9087bab.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-986161e1.js"),["assets/bat-986161e1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-faefb115.js"),["assets/counter-faefb115.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-fac39621.js"),["assets/device-fac39621.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-ecd1a56f.js"),["assets/inverter-ecd1a56f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-de2cbf75.js"),["assets/counter-de2cbf75.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-0816b093.js"),["assets/device-0816b093.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-7533487f.js"),["assets/inverter-7533487f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-172e5bda.js"),["assets/device-172e5bda.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-f06d97af.js"),["assets/counter-f06d97af.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-4a0415d9.js"),["assets/device-4a0415d9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-98cbd83b.js"),["assets/inverter-98cbd83b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-ef1fe6e7.js"),["assets/bat-ef1fe6e7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-2bd9c2b5.js"),["assets/device-2bd9c2b5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-f90903b5.js"),["assets/bat-f90903b5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-be38114b.js"),["assets/counter-be38114b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-4001f64d.js"),["assets/device-4001f64d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-0a999d7c.js"),["assets/inverter-0a999d7c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-3128f856.js"),["assets/bat-3128f856.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-ccd4e26d.js"),["assets/counter_sm-ccd4e26d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-3d21c085.js"),["assets/device-3d21c085.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-9b1eb421.js"),["assets/inverter_secondary-9b1eb421.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-80c609d7.js"),["assets/bat-80c609d7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-138c4f55.js"),["assets/counter-138c4f55.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-ee25e2e5.js"),["assets/device-ee25e2e5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-78f7f807.js"),["assets/inverter-78f7f807.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-594c5e06.js"),["assets/bat-594c5e06.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-d65aa242.js"),["assets/counter-d65aa242.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-58f5fc65.js"),["assets/device-58f5fc65.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-a33d70ec.js"),["assets/inverter-a33d70ec.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-2a9a8fa7.js"),["assets/bat-2a9a8fa7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-19fb0fca.js"),["assets/counter-19fb0fca.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-f3317167.js"),["assets/device-f3317167.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-b9673539.js"),["assets/inverter-b9673539.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-1ff29173.js"),["assets/counter-1ff29173.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-32bcc869.js"),["assets/device-32bcc869.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-2af8f80a.js"),["assets/device-2af8f80a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-d48653ec.js"),["assets/device-d48653ec.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-1eddc274.js"),["assets/bat-1eddc274.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-b3d99b2e.js"),["assets/counter-b3d99b2e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-205f8655.js"),["assets/device-205f8655.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-45c13b65.js"),["assets/inverter-45c13b65.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-76d10be7.js"),["assets/counter-76d10be7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-2c1d8c15.js"),["assets/device-2c1d8c15.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-efac3ffc.js"),["assets/counter-efac3ffc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-9eabc6b0.js"),["assets/device-9eabc6b0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-3dddbfba.js"),["assets/inverter-3dddbfba.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-02247c9c.js"),["assets/device-02247c9c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-5c0b0fb9.js"),["assets/counter-5c0b0fb9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-8d3b3230.js"),["assets/device-8d3b3230.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-19f06606.js"),["assets/counter-19f06606.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-7089f93a.js"),["assets/device-7089f93a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-08fad611.js"),["assets/device-08fad611.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-c81897cf.js"),["assets/inverter-c81897cf.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-21c59979.js"),["assets/device-21c59979.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-88de5805.js"),["assets/bat-88de5805.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-e740a52e.js"),["assets/counter-e740a52e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-a9cb065d.js"),["assets/device-a9cb065d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-ee76a7e8.js"),["assets/inverter-ee76a7e8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-b3037576.js"),["assets/device-b3037576.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-8e681258.js"),["assets/inverter-8e681258.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-9b9b821e.js"),["assets/bat-9b9b821e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-ff2e34c4.js"),["assets/bat-ff2e34c4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-bc27e842.js"),["assets/counter-bc27e842.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-28e8e173.js"),["assets/inverter-28e8e173.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-eeb6666d.js"),["assets/bat-eeb6666d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-227bd16c.js"),["assets/consumption_counter-227bd16c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-cc068105.js"),["assets/counter-cc068105.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-17521e2e.js"),["assets/device-17521e2e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-5f4406d6.js"),["assets/inverter-5f4406d6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-f2388654.js"),["assets/inverter-f2388654.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-08e8232e.js"),["assets/counter-08e8232e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-3e928193.js"),["assets/device-3e928193.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-627afdde.js"),["assets/counter-627afdde.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-da03c7c0.js"),["assets/device-da03c7c0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-1abf72dc.js"),["assets/inverter-1abf72dc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-fded28b2.js"),["assets/device-fded28b2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-be58c66b.js"),["assets/device-be58c66b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-fc4f7d4e.js"),["assets/device-fc4f7d4e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-e11b7190.js"),["assets/counter-e11b7190.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-7396b839.js"),["assets/device-7396b839.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-3cd32732.js"),["assets/device-3cd32732.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-2c93c143.js"),["assets/device-2c93c143.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-0e972653.js"),["assets/bat-0e972653.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-b939fed8.js"),["assets/counter-b939fed8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-e41b5a83.js"),["assets/device-e41b5a83.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-5dafd952.js"),["assets/inverter-5dafd952.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-07f0d10b.js"),["assets/counter-07f0d10b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-bacf389e.js"),["assets/inverter-bacf389e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-72e0ef16.js"),["assets/bat-72e0ef16.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-4c867c27.js"),["assets/bat_smart_energy-4c867c27.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-ee3a1dc4.js"),["assets/counter-ee3a1dc4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-3bb59e11.js"),["assets/device-3bb59e11.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-c239b1ca.js"),["assets/inverter-c239b1ca.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-878456d6.js"),["assets/bat-878456d6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-f00ae29a.js"),["assets/device-f00ae29a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-d282bde6.js"),["assets/device-d282bde6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-7c4ab905.js"),["assets/counter-7c4ab905.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-e4ca6f6c.js"),["assets/device-e4ca6f6c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-ec8dcf0e.js"),["assets/inverter-ec8dcf0e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-78c553df.js"),["assets/device-78c553df.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-13dadd24.js"),["assets/device-13dadd24.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-c9a42b68.js"),["assets/counter-c9a42b68.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-485a190d.js"),["assets/device-485a190d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-43bbd9b0.js"),["assets/device-43bbd9b0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-97e373f9.js"),["assets/inverter-97e373f9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-86ec9e6e.js"),["assets/device-86ec9e6e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-59c297ec.js"),["assets/device-59c297ec.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-81dcce8e.js"),["assets/bat-81dcce8e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-145518cd.js"),["assets/counter-145518cd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-869485f6.js"),["assets/device-869485f6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-fd140138.js"),["assets/external_inverter-fd140138.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-0eb9219e.js"),["assets/inverter-0eb9219e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-86f621e9.js"),["assets/bat-86f621e9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-09780e11.js"),["assets/device-09780e11.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-76508af0.js"),["assets/inverter-76508af0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-8291c336.js"),["assets/device-8291c336.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-f5fcfa80.js"),["assets/bat-f5fcfa80.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-8347a086.js"),["assets/counter-8347a086.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-52b0abee.js"),["assets/device-52b0abee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-0c796c3d.js"),["assets/inverter-0c796c3d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-24257723.js"),["assets/counter-24257723.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-a5c9e4d0.js"),["assets/device-a5c9e4d0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-56ad6f91.js"),["assets/bat-56ad6f91.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-76692771.js"),["assets/device-76692771.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-e15c138d.js"),["assets/inverter-e15c138d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-f5cfb0b4.js"),["assets/device-f5cfb0b4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-e91d276b.js"),["assets/device-e91d276b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-5c6baa4a.js"),["assets/device-5c6baa4a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-ad649c7f.js"),["assets/counter-ad649c7f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-6d04ce3d.js"),["assets/device-6d04ce3d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-9f02bd71.js"),["assets/device-9f02bd71.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-5ccf087b.js"),["assets/inverter-5ccf087b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-71678e56.js"),["assets/bat-71678e56.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-b95d2506.js"),["assets/counter-b95d2506.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-f835f5c9.js"),["assets/device-f835f5c9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-ad3e45f8.js"),["assets/inverter-ad3e45f8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-96aea554.js"),["assets/counter-96aea554.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-0c88c5f5.js"),["assets/device-0c88c5f5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-a9cfe109.js"),["assets/inverter-a9cfe109.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-e6310ca5.js"),["assets/device-e6310ca5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-d03bf839.js"),["assets/inverter-d03bf839.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:ve}):z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-4ed2775c.js"),["assets/device-4ed2775c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-2c1c538c.js"),["assets/device-2c1c538c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-6f8d53e2.js"),["assets/device-6f8d53e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-e484c150.js"),["assets/device-e484c150.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-7e0b4235.js"),["assets/device-7e0b4235.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-2852a4f8.js"),["assets/device-2852a4f8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-a9087bab.js"),["assets/device-a9087bab.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-fac39621.js"),["assets/device-fac39621.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-0816b093.js"),["assets/device-0816b093.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-172e5bda.js"),["assets/device-172e5bda.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-4a0415d9.js"),["assets/device-4a0415d9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-2bd9c2b5.js"),["assets/device-2bd9c2b5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-4001f64d.js"),["assets/device-4001f64d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-3d21c085.js"),["assets/device-3d21c085.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-ee25e2e5.js"),["assets/device-ee25e2e5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-58f5fc65.js"),["assets/device-58f5fc65.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-f3317167.js"),["assets/device-f3317167.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-32bcc869.js"),["assets/device-32bcc869.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-2af8f80a.js"),["assets/device-2af8f80a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-d48653ec.js"),["assets/device-d48653ec.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-205f8655.js"),["assets/device-205f8655.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-2c1d8c15.js"),["assets/device-2c1d8c15.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-9eabc6b0.js"),["assets/device-9eabc6b0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-02247c9c.js"),["assets/device-02247c9c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-8d3b3230.js"),["assets/device-8d3b3230.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-7089f93a.js"),["assets/device-7089f93a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-08fad611.js"),["assets/device-08fad611.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-21c59979.js"),["assets/device-21c59979.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-a9cb065d.js"),["assets/device-a9cb065d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-b3037576.js"),["assets/device-b3037576.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-17521e2e.js"),["assets/device-17521e2e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-3e928193.js"),["assets/device-3e928193.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-da03c7c0.js"),["assets/device-da03c7c0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-fded28b2.js"),["assets/device-fded28b2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-be58c66b.js"),["assets/device-be58c66b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-fc4f7d4e.js"),["assets/device-fc4f7d4e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-7396b839.js"),["assets/device-7396b839.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-3cd32732.js"),["assets/device-3cd32732.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-2c93c143.js"),["assets/device-2c93c143.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-e41b5a83.js"),["assets/device-e41b5a83.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-3bb59e11.js"),["assets/device-3bb59e11.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-f00ae29a.js"),["assets/device-f00ae29a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-d282bde6.js"),["assets/device-d282bde6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-e4ca6f6c.js"),["assets/device-e4ca6f6c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-78c553df.js"),["assets/device-78c553df.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-13dadd24.js"),["assets/device-13dadd24.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-485a190d.js"),["assets/device-485a190d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-43bbd9b0.js"),["assets/device-43bbd9b0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-86ec9e6e.js"),["assets/device-86ec9e6e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-59c297ec.js"),["assets/device-59c297ec.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-869485f6.js"),["assets/device-869485f6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-09780e11.js"),["assets/device-09780e11.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-8291c336.js"),["assets/device-8291c336.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-52b0abee.js"),["assets/device-52b0abee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-a5c9e4d0.js"),["assets/device-a5c9e4d0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-76692771.js"),["assets/device-76692771.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-f5cfb0b4.js"),["assets/device-f5cfb0b4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-e91d276b.js"),["assets/device-e91d276b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-5c6baa4a.js"),["assets/device-5c6baa4a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-6d04ce3d.js"),["assets/device-6d04ce3d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-9f02bd71.js"),["assets/device-9f02bd71.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-f835f5c9.js"),["assets/device-f835f5c9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-0c88c5f5.js"),["assets/device-0c88c5f5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-e6310ca5.js"),["assets/device-e6310ca5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,o,i,m,v,n){return s(),E(Z(n.myComponent),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":o[0]||(o[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=T(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(U,q,G,N,K,F,$);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:H,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([t,o])=>({label:o.group_name,options:Object.entries(o.vendors).map(([i,m])=>({value:[t,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((t,o)=>-t.label.localeCompare(o.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[t,o]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][t].vendors[o].devices).map(([i,m])=>({value:[o,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(t){return t.match(/^(.+_)?counter(_.+)?$/)?"danger":t.match(/^(.+_)?inverter(_.+)?$/)?"success":t.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(t){return t.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:t.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:t.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(t){return this.getWildcardTopics("openWB/system/device/"+t+"/component/+/config")},deviceHasConfiguredComponents(t){return Object.keys(this.getMyInstalledComponents(t)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(t,o,i){i.stopPropagation(),this.modalDevice=t,this.modalDeviceName=o,this.showDeviceRemoveModal=!0},removeDevice(t){this.showDeviceRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(t,o,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:t,deviceType:i,deviceVendor:o,type:m}})},removeComponentModal(t,o,i,m,v){v.stopPropagation(),this.modalComponent={deviceId:t,id:o,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(t){this.showComponentRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent})},getComponentList(t,o){if(t===void 0||o===void 0)return[];let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[t]!==void 0?(m.vendors[t].devices[o]!==void 0&&(i=Object.entries(m.vendors[t].devices[o].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(t,o){console.debug("updateConfiguration",t,o),this.updateState(t,o.value,o.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},fe={key:1},Ve={key:1},be={key:0};function Oe(t,o,i,m,v,n){const l=p("openwb-base-modal-dialog"),I=p("router-link"),O=p("openwb-base-alert"),A=p("font-awesome-icon"),D=p("openwb-base-avatar"),R=p("openwb-base-text-input"),x=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return s(),g(L,null,[u(l,{show:v.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+V(v.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:v.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+V(v.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?P("",!0):(s(),E(O,{key:0,subtype:"info"},{default:r(()=>[o[7]||(o[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ")),u(I,{to:"/LoadManagementConfiguration"},{default:r(()=>o[6]||(o[6]=[d(" Lastmanagement ")])),_:1}),o[8]||(o[8]=d(" zu prüfen! "))]),_:1})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),g("div",ge,[u(O,{subtype:"info"},{default:r(()=>o[9]||(o[9]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),g("div",fe,[(s(!0),g(L,null,k(n.installedDevices,(_,h)=>(s(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(A,{"fixed-width":"",icon:["fas","network-wired"]}),d(" "+V(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(s(),g("div",Ve,[(s(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),f=>(s(),E(D,{key:f.id,class:Q("ml-1 bg-"+n.getComponentTypeClass(f.type))},{default:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(f.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:f=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,f)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>t.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),o[17]||(o[17]=c("hr",null,null,-1)),u(x,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),o[18]||(o[18]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...o[10]||(o[10]=[d("Komponenten")])]),_:1}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?P("",!0):(s(),E(O,{key:0,subtype:"warning"},{default:r(()=>[...o[11]||(o[11]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")])]),_:1})),(s(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,f)=>(s(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+V(a.name),1)]),actions:r(b=>[b.collapsed?P("",!0):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":b=>t.updateState(f,b,"name")},null,8,["model-value","onUpdate:modelValue"]),u(R,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":b=>t.updateState(f,b,"info.manufacturer")},{help:r(()=>[...o[12]||(o[12]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(R,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":b=>t.updateState(f,b,"info.model")},{help:r(()=>[...o[13]||(o[13]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o[14]||(o[14]=c("hr",null,null,-1)),u(x,{device:_,component:a,"onUpdate:configuration":b=>n.updateConfiguration(f,b)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),o[19]||(o[19]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(s(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":v.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>v.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,v.componentToAdd[_.id])},{help:r(()=>[...o[15]||(o[15]=[d(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(s(),E(O,{key:2,subtype:"info"},{default:r(()=>[...o[16]||(o[16]=[d(" Dieses System bietet keine Komponenten zur Installation an. ")])]),_:1}))]),_:2},1024))),128)),Object.keys(n.installedDevices).length>0?(s(),g("hr",be)):P("",!0),u(y,{modelValue:v.selectedVendor,"onUpdate:modelValue":o[0]||(o[0]=_=>v.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:v.deviceToAdd,"onUpdate:modelValue":[o[1]||(o[1]=_=>v.deviceToAdd=_),o[2]||(o[2]=_=>v.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:v.selectedVendor===void 0,options:n.deviceList,"model-value":v.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>o[20]||(o[20]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' Ein "Gerät" wird hierbei durch seine Verbindungseinstellungen (z.B. IP-Adresse) spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente". ')],-1),c("p",null,[d(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),c("br"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),c("p",null,' Das "Gerät" wird in der Dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ',-1)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:o[3]||(o[3]=_=>t.$emit("save")),onReset:o[4]||(o[4]=_=>t.$emit("reset")),onDefaults:o[5]||(o[5]=_=>t.$emit("defaults"))})])])],64)}const Te=T(le,[["render",Oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Te},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Te as H,Le as a}; diff --git a/web/settings/assets/HardwareInstallation-bb14911c.js b/web/settings/assets/HardwareInstallation-bb14911c.js deleted file mode 100644 index 24e0b12fcb..0000000000 --- a/web/settings/assets/HardwareInstallation-bb14911c.js +++ /dev/null @@ -1 +0,0 @@ -import{l as S,d as U,t as q,ae as G,a7 as N,W as K,V as F,U as H,F as $}from"./vendor-fortawesome-979a7935.js";import{_ as e,C as J}from"./index-e7db68ea.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{_ as T,u as p,l as s,m as g,z as E,E as r,y as d,F as V,G as u,x as c,a1 as z,a2 as Z,B as P,N as L,M as k,q as Q}from"./vendor-0c15df0c.js";const X={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(o,t=void 0){this.$emit("update:configuration",{value:o,object:t})}}},B=T(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),Y={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},te={key:1};function oe(o,t,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ee,[Object.keys(o.device.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+V(o.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",te,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+V(o.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":o.device.configuration,"onUpdate:modelValue":t[0]||(t[0]=O=>o.updateConfiguration(O,"configuration"))},{help:r(()=>t[1]||(t[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(o.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=T(Y,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=T(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function se(o,t,i,m,v,n){const l=p("openwb-base-alert"),I=p("openwb-base-textarea");return s(),g("div",ue,[Object.keys(o.component.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+V(o.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+V(o.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(I,{title:"Konfiguration",subtype:"json","model-value":o.component.configuration,"onUpdate:modelValue":t[0]||(t[0]=O=>o.updateConfiguration(O,"configuration"))},{help:r(()=>t[1]||(t[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(o.component.configuration,void 0,2)),1)]),_:1})]))])}const ve=T(ne,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],methods:{getComponent(){var o;return console.debug(`loading component: ${this.device.type} / ${(o=this.component)==null?void 0:o.type}`),this.component!==void 0?z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-f49646c8.js"),["assets/device-f49646c8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-77d449f8.js"),["assets/device-77d449f8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-2bc860f5.js"),["assets/device-2bc860f5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-74dc63ef.js"),["assets/device-74dc63ef.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-9f4c38f1.js"),["assets/device-9f4c38f1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-54b586a4.js"),["assets/inverter-54b586a4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-d412f88e.js"),["assets/device-d412f88e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-bc3a3551.js"),["assets/counter-bc3a3551.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-d840f5eb.js"),["assets/device-d840f5eb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-670d0d56.js"),["assets/bat-670d0d56.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-48329963.js"),["assets/counter-48329963.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-d2cc2e84.js"),["assets/device-d2cc2e84.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-bddfef4f.js"),["assets/inverter-bddfef4f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-27f5f951.js"),["assets/counter-27f5f951.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-ffa3af1e.js"),["assets/device-ffa3af1e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-c196005c.js"),["assets/inverter-c196005c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-418ccbb3.js"),["assets/device-418ccbb3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-898675d5.js"),["assets/counter-898675d5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-f396a3fe.js"),["assets/device-f396a3fe.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-3c83d434.js"),["assets/inverter-3c83d434.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-0c48f406.js"),["assets/bat-0c48f406.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-948a8a47.js"),["assets/device-948a8a47.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-adffce5e.js"),["assets/bat-adffce5e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-0b45564a.js"),["assets/counter-0b45564a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-acc7082f.js"),["assets/device-acc7082f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-cfa877fa.js"),["assets/inverter-cfa877fa.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-7170eed4.js"),["assets/bat-7170eed4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-fcf6222c.js"),["assets/counter_sm-fcf6222c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-ba152e92.js"),["assets/device-ba152e92.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-61bfec54.js"),["assets/inverter_secondary-61bfec54.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-709b4dff.js"),["assets/bat-709b4dff.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-17ce2a16.js"),["assets/counter-17ce2a16.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-5a492d6d.js"),["assets/device-5a492d6d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-0795e96a.js"),["assets/inverter-0795e96a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-ae4623d4.js"),["assets/bat-ae4623d4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-86f2f846.js"),["assets/counter-86f2f846.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-1ebe19e3.js"),["assets/device-1ebe19e3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-099de577.js"),["assets/inverter-099de577.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-eaa9b535.js"),["assets/bat-eaa9b535.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-d928cc97.js"),["assets/counter-d928cc97.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-320c4029.js"),["assets/device-320c4029.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-631538ae.js"),["assets/inverter-631538ae.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-d7a32211.js"),["assets/counter-d7a32211.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-8060eacf.js"),["assets/device-8060eacf.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-5a930df7.js"),["assets/device-5a930df7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-83b9ffc2.js"),["assets/device-83b9ffc2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-994c7663.js"),["assets/bat-994c7663.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-cdf44678.js"),["assets/counter-cdf44678.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-08560f19.js"),["assets/device-08560f19.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-15047f1d.js"),["assets/inverter-15047f1d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-07791e58.js"),["assets/counter-07791e58.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-90135a67.js"),["assets/device-90135a67.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-e35a1717.js"),["assets/counter-e35a1717.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-782e2556.js"),["assets/device-782e2556.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-d511f75f.js"),["assets/inverter-d511f75f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-309bc208.js"),["assets/device-309bc208.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-3613a28e.js"),["assets/counter-3613a28e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-01e6cf43.js"),["assets/device-01e6cf43.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-70e4d5a7.js"),["assets/counter-70e4d5a7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-45bfc089.js"),["assets/device-45bfc089.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-699e32ed.js"),["assets/device-699e32ed.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-80e49592.js"),["assets/inverter-80e49592.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-26bea58f.js"),["assets/device-26bea58f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-936f8aff.js"),["assets/bat-936f8aff.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-afce1bcd.js"),["assets/counter-afce1bcd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-092f3cf7.js"),["assets/device-092f3cf7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-58be7eba.js"),["assets/inverter-58be7eba.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-45e55046.js"),["assets/device-45e55046.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-58e6976a.js"),["assets/inverter-58e6976a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-e78965ec.js"),["assets/bat-e78965ec.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-9eab7298.js"),["assets/bat-9eab7298.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-29e1ba13.js"),["assets/counter-29e1ba13.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-0a6cbd2f.js"),["assets/inverter-0a6cbd2f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-4f676382.js"),["assets/bat-4f676382.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-a6ce919c.js"),["assets/consumption_counter-a6ce919c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-8d5a105e.js"),["assets/counter-8d5a105e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-b9965386.js"),["assets/device-b9965386.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-81e9a45d.js"),["assets/inverter-81e9a45d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-5a285386.js"),["assets/inverter-5a285386.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-d992c60a.js"),["assets/counter-d992c60a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-0916ddb1.js"),["assets/device-0916ddb1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-583f538c.js"),["assets/counter-583f538c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-410ab0e2.js"),["assets/device-410ab0e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-db8da25d.js"),["assets/inverter-db8da25d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-dfee58b7.js"),["assets/device-dfee58b7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-dc7239bb.js"),["assets/device-dc7239bb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-34d8f2f6.js"),["assets/device-34d8f2f6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-ca2a89f4.js"),["assets/counter-ca2a89f4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-aa9727b4.js"),["assets/device-aa9727b4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-9a7629fb.js"),["assets/device-9a7629fb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-00deaf69.js"),["assets/device-00deaf69.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-d84eb370.js"),["assets/bat-d84eb370.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-dbc334ea.js"),["assets/counter-dbc334ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-f4a44ed9.js"),["assets/device-f4a44ed9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-e232e793.js"),["assets/inverter-e232e793.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-aaa85d56.js"),["assets/counter-aaa85d56.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-c5ec198a.js"),["assets/inverter-c5ec198a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-6e7e4df3.js"),["assets/bat-6e7e4df3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-ea04b153.js"),["assets/bat_smart_energy-ea04b153.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-96517d09.js"),["assets/counter-96517d09.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-4255a88f.js"),["assets/device-4255a88f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-96eadb56.js"),["assets/inverter-96eadb56.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-3e04b8e1.js"),["assets/bat-3e04b8e1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-c4c8ad1e.js"),["assets/device-c4c8ad1e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-fcaad7eb.js"),["assets/device-fcaad7eb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-1b63f2b5.js"),["assets/counter-1b63f2b5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-5d2d3a48.js"),["assets/device-5d2d3a48.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-8c86eaa0.js"),["assets/inverter-8c86eaa0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-2317d232.js"),["assets/device-2317d232.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-592b91c1.js"),["assets/device-592b91c1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-e5cd37f2.js"),["assets/counter-e5cd37f2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-a998e1b7.js"),["assets/device-a998e1b7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-bebce0eb.js"),["assets/device-bebce0eb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-d11a339a.js"),["assets/inverter-d11a339a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-8ee69513.js"),["assets/device-8ee69513.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-ca0671b5.js"),["assets/device-ca0671b5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-6d32db11.js"),["assets/bat-6d32db11.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-65b38f83.js"),["assets/counter-65b38f83.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-f50ecbb3.js"),["assets/device-f50ecbb3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-68414761.js"),["assets/external_inverter-68414761.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-53ef4aeb.js"),["assets/inverter-53ef4aeb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-457ed942.js"),["assets/bat-457ed942.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-c828bb4b.js"),["assets/device-c828bb4b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-1ef39fbd.js"),["assets/inverter-1ef39fbd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-f1e0574b.js"),["assets/device-f1e0574b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-b9e175aa.js"),["assets/bat-b9e175aa.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-e467b0cc.js"),["assets/counter-e467b0cc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-5b28e77e.js"),["assets/device-5b28e77e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-52ebaf6d.js"),["assets/inverter-52ebaf6d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-999f66b2.js"),["assets/counter-999f66b2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-d0907bd1.js"),["assets/device-d0907bd1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-78298702.js"),["assets/bat-78298702.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-043a78bc.js"),["assets/device-043a78bc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-c810e19b.js"),["assets/inverter-c810e19b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-74a87aa0.js"),["assets/device-74a87aa0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-0a3cf522.js"),["assets/device-0a3cf522.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-6727ae25.js"),["assets/device-6727ae25.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-2614172b.js"),["assets/counter-2614172b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-a655ca22.js"),["assets/device-a655ca22.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-f9a95046.js"),["assets/device-f9a95046.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-2cfdaef3.js"),["assets/inverter-2cfdaef3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-3168142b.js"),["assets/bat-3168142b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-87e7d953.js"),["assets/counter-87e7d953.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-b574f22e.js"),["assets/device-b574f22e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-fceb7b26.js"),["assets/inverter-fceb7b26.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-5ae556f9.js"),["assets/counter-5ae556f9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-909eab17.js"),["assets/device-909eab17.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-d997dbce.js"),["assets/inverter-d997dbce.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-5b3abfe2.js"),["assets/device-5b3abfe2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-62b5af41.js"),["assets/inverter-62b5af41.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:ve}):z({loader:()=>C(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-f49646c8.js"),["assets/device-f49646c8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-77d449f8.js"),["assets/device-77d449f8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-2bc860f5.js"),["assets/device-2bc860f5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-74dc63ef.js"),["assets/device-74dc63ef.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-9f4c38f1.js"),["assets/device-9f4c38f1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-d412f88e.js"),["assets/device-d412f88e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-d840f5eb.js"),["assets/device-d840f5eb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-d2cc2e84.js"),["assets/device-d2cc2e84.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-ffa3af1e.js"),["assets/device-ffa3af1e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-418ccbb3.js"),["assets/device-418ccbb3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-f396a3fe.js"),["assets/device-f396a3fe.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-948a8a47.js"),["assets/device-948a8a47.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-acc7082f.js"),["assets/device-acc7082f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-ba152e92.js"),["assets/device-ba152e92.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-5a492d6d.js"),["assets/device-5a492d6d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-1ebe19e3.js"),["assets/device-1ebe19e3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-320c4029.js"),["assets/device-320c4029.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-8060eacf.js"),["assets/device-8060eacf.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-5a930df7.js"),["assets/device-5a930df7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-83b9ffc2.js"),["assets/device-83b9ffc2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-08560f19.js"),["assets/device-08560f19.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-90135a67.js"),["assets/device-90135a67.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-782e2556.js"),["assets/device-782e2556.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-309bc208.js"),["assets/device-309bc208.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-01e6cf43.js"),["assets/device-01e6cf43.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-45bfc089.js"),["assets/device-45bfc089.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-699e32ed.js"),["assets/device-699e32ed.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-26bea58f.js"),["assets/device-26bea58f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-092f3cf7.js"),["assets/device-092f3cf7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-45e55046.js"),["assets/device-45e55046.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-b9965386.js"),["assets/device-b9965386.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-0916ddb1.js"),["assets/device-0916ddb1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-410ab0e2.js"),["assets/device-410ab0e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-dfee58b7.js"),["assets/device-dfee58b7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-dc7239bb.js"),["assets/device-dc7239bb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-34d8f2f6.js"),["assets/device-34d8f2f6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-aa9727b4.js"),["assets/device-aa9727b4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-9a7629fb.js"),["assets/device-9a7629fb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-00deaf69.js"),["assets/device-00deaf69.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-f4a44ed9.js"),["assets/device-f4a44ed9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-4255a88f.js"),["assets/device-4255a88f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-c4c8ad1e.js"),["assets/device-c4c8ad1e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-fcaad7eb.js"),["assets/device-fcaad7eb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-5d2d3a48.js"),["assets/device-5d2d3a48.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-2317d232.js"),["assets/device-2317d232.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-592b91c1.js"),["assets/device-592b91c1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-a998e1b7.js"),["assets/device-a998e1b7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-bebce0eb.js"),["assets/device-bebce0eb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-8ee69513.js"),["assets/device-8ee69513.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-ca0671b5.js"),["assets/device-ca0671b5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-f50ecbb3.js"),["assets/device-f50ecbb3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-c828bb4b.js"),["assets/device-c828bb4b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-f1e0574b.js"),["assets/device-f1e0574b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-5b28e77e.js"),["assets/device-5b28e77e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-d0907bd1.js"),["assets/device-d0907bd1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-043a78bc.js"),["assets/device-043a78bc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-74a87aa0.js"),["assets/device-74a87aa0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-0a3cf522.js"),["assets/device-0a3cf522.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-6727ae25.js"),["assets/device-6727ae25.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-a655ca22.js"),["assets/device-a655ca22.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-f9a95046.js"),["assets/device-f9a95046.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-b574f22e.js"),["assets/device-b574f22e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-909eab17.js"),["assets/device-909eab17.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-5b3abfe2.js"),["assets/device-5b3abfe2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})},updateConfiguration(o){this.$emit("update:configuration",o)}}};function me(o,t,i,m,v,n){return s(),E(Z(n.getComponent()),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":t[0]||(t[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=T(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(U,q,G,N,K,F,H);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:$,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([o,t])=>({label:t.group_name,options:Object.entries(t.vendors).map(([i,m])=>({value:[o,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((o,t)=>-o.label.localeCompare(t.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[o,t]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][o].vendors[t].devices).map(([i,m])=>({value:[t,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(o){return o.match(/^(.+_)?counter(_.+)?$/)?"danger":o.match(/^(.+_)?inverter(_.+)?$/)?"success":o.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(o){return o.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:o.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:o.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(o){return this.getWildcardTopics("openWB/system/device/"+o+"/component/+/config")},deviceHasConfiguredComponents(o){return Object.keys(this.getMyInstalledComponents(o)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(o,t,i){i.stopPropagation(),this.modalDevice=o,this.modalDeviceName=t,this.showDeviceRemoveModal=!0},removeDevice(o){this.showDeviceRemoveModal=!1,o=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(o,t,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:o,deviceType:i,deviceVendor:t,type:m}})},removeComponentModal(o,t,i,m,v){v.stopPropagation(),this.modalComponent={deviceId:o,id:t,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(o){this.showComponentRemoveModal=!1,o=="confirm"&&this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent})},getComponentList(o,t){if(o===void 0||t===void 0)return[];let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[o]!==void 0?(m.vendors[o].devices[t]!==void 0&&(i=Object.entries(m.vendors[o].devices[t].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(o,t){console.debug("updateConfiguration",o,t),this.updateState(o,t.value,t.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},fe={key:1},Ve={key:1},be={key:0};function Oe(o,t,i,m,v,n){const l=p("openwb-base-modal-dialog"),I=p("router-link"),O=p("openwb-base-alert"),A=p("font-awesome-icon"),D=p("openwb-base-avatar"),R=p("openwb-base-text-input"),x=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return s(),g(L,null,[u(l,{show:v.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+V(v.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:v.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+V(v.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?P("",!0):(s(),E(O,{key:0,subtype:"info"},{default:r(()=>[t[7]||(t[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ")),u(I,{to:"/LoadManagementConfiguration"},{default:r(()=>t[6]||(t[6]=[d(" Lastmanagement ")])),_:1}),t[8]||(t[8]=d(" zu prüfen! "))]),_:1})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[o.$store.state.mqtt["openWB/general/extern"]===!0?(s(),g("div",ge,[u(O,{subtype:"info"},{default:r(()=>t[9]||(t[9]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),g("div",fe,[(s(!0),g(L,null,k(n.installedDevices,(_,h)=>(s(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(A,{"fixed-width":"",icon:["fas","network-wired"]}),d(" "+V(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(s(),g("div",Ve,[(s(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),f=>(s(),E(D,{key:f.id,class:Q("ml-1 bg-"+n.getComponentTypeClass(f.type))},{default:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(f.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:f=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,f)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>o.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),t[17]||(t[17]=c("hr",null,null,-1)),u(x,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),t[18]||(t[18]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...t[10]||(t[10]=[d("Komponenten")])]),_:1}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?P("",!0):(s(),E(O,{key:0,subtype:"warning"},{default:r(()=>[...t[11]||(t[11]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")])]),_:1})),(s(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,f)=>(s(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+V(a.name),1)]),actions:r(b=>[b.collapsed?P("",!0):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":b=>o.updateState(f,b,"name")},null,8,["model-value","onUpdate:modelValue"]),u(R,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":b=>o.updateState(f,b,"info.manufacturer")},{help:r(()=>[...t[12]||(t[12]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(R,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":b=>o.updateState(f,b,"info.model")},{help:r(()=>[...t[13]||(t[13]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t[14]||(t[14]=c("hr",null,null,-1)),u(x,{device:_,component:a,"onUpdate:configuration":b=>n.updateConfiguration(f,b)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),t[19]||(t[19]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(s(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":v.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>v.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,v.componentToAdd[_.id])},{help:r(()=>[...t[15]||(t[15]=[d(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(s(),E(O,{key:2,subtype:"info"},{default:r(()=>[...t[16]||(t[16]=[d(" Dieses System bietet keine Komponenten zur Installation an. ")])]),_:1}))]),_:2},1024))),128)),Object.keys(n.installedDevices).length>0?(s(),g("hr",be)):P("",!0),u(y,{modelValue:v.selectedVendor,"onUpdate:modelValue":t[0]||(t[0]=_=>v.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:v.deviceToAdd,"onUpdate:modelValue":[t[1]||(t[1]=_=>v.deviceToAdd=_),t[2]||(t[2]=_=>v.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:v.selectedVendor===void 0,options:n.deviceList,"model-value":v.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>t[20]||(t[20]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' Ein "Gerät" wird hierbei durch seine Verbindungseinstellungen (z.B. IP-Adresse) spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente". ')],-1),c("p",null,[d(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),c("br"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),c("p",null,' Das "Gerät" wird in der Dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ',-1)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:t[3]||(t[3]=_=>o.$emit("save")),onReset:t[4]||(t[4]=_=>o.$emit("reset")),onDefaults:t[5]||(t[5]=_=>o.$emit("defaults"))})])])],64)}const Te=T(le,[["render",Oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Te},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Te as H,Le as a}; diff --git a/web/settings/assets/InstallAssistant-802149cb.js b/web/settings/assets/InstallAssistant-802149cb.js new file mode 100644 index 0000000000..6a6d92b7e0 --- /dev/null +++ b/web/settings/assets/InstallAssistant-802149cb.js @@ -0,0 +1 @@ +import{C as r,_ as t}from"./index-8a28b331.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a1 as p,u as d,l as i,m as u,G as A,E as v,z as E,a2 as I,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},computed:{myStepComponent(){return p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-94d6e412.js"),["assets/InstallAssistantStep0-94d6e412.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-5f568d13.js"),["assets/InstallAssistantStep1-5f568d13.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-2af74759.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-b2f24038.js"),["assets/InstallAssistantStep10-b2f24038.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-1b3aea78.js"),["assets/InstallAssistantStep2-1b3aea78.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-50c91ad7.js","assets/System-0f1d217b.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-7362f60a.js"),["assets/InstallAssistantStep3-7362f60a.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-11fa69f5.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-d56142fc.js"),["assets/InstallAssistantStep4-d56142fc.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-e2d03469.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-97f667f9.js"),["assets/InstallAssistantStep5-97f667f9.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-a49fa11f.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-adcb2a82.js"),["assets/InstallAssistantStep6-adcb2a82.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-e2d03469.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-cdb0462f.js"),["assets/InstallAssistantStep7-cdb0462f.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-97765c3d.js","assets/OpenwbSortableList-cb1cc8c9.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-56103022.js"),["assets/InstallAssistantStep8-56103022.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-268e1718.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-54322f9b.js"),["assets/InstallAssistantStep9-54322f9b.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-a588b92f.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-2af74759.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-a588b92f.js"),["assets/InstallAssistantStepTemplate-a588b92f.js","assets/index-8a28b331.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})}},methods:{switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,h,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ")])),_:1},8,["show","onModalResult"]),(i(),E(I(n.myStepComponent),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default}; diff --git a/web/settings/assets/InstallAssistant-919d040c.js b/web/settings/assets/InstallAssistant-919d040c.js deleted file mode 100644 index 05fb37e345..0000000000 --- a/web/settings/assets/InstallAssistant-919d040c.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r,_ as t}from"./index-e7db68ea.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a1 as p,u as d,l as i,m as u,G as A,E as v,z as E,a2 as I,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},methods:{getInstallAssistantStepComponent(){return console.debug(`loading assistant page: ${this.currentPage}`),p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-c90fd88c.js"),["assets/InstallAssistantStep0-c90fd88c.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-004b34ed.js"),["assets/InstallAssistantStep1-004b34ed.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-fdf145a6.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-720102bd.js"),["assets/InstallAssistantStep10-720102bd.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-4cfdefeb.js"),["assets/InstallAssistantStep2-4cfdefeb.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-ec758260.js","assets/System-0f1d217b.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-8fdd5080.js"),["assets/InstallAssistantStep3-8fdd5080.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-e2e95a2e.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-5c74ff21.js"),["assets/InstallAssistantStep4-5c74ff21.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-4851d3f5.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-e3ce6c3a.js"),["assets/InstallAssistantStep5-e3ce6c3a.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-bb14911c.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-53bed178.js"),["assets/InstallAssistantStep6-53bed178.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-4851d3f5.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-7f7a8e27.js"),["assets/InstallAssistantStep7-7f7a8e27.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-23bce113.js","assets/OpenwbSortableList-d8779d41.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-e81bd318.js"),["assets/InstallAssistantStep8-e81bd318.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-135359c7.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-6ac2a445.js"),["assets/InstallAssistantStep9-6ac2a445.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e8070fdb.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-fdf145a6.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-e8070fdb.js"),["assets/InstallAssistantStepTemplate-e8070fdb.js","assets/index-e7db68ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})},switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,g,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ")])),_:1},8,["show","onModalResult"]),(i(),E(I(n.getInstallAssistantStepComponent()),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default}; diff --git a/web/settings/assets/InstallAssistantStep0-c90fd88c.js b/web/settings/assets/InstallAssistantStep0-94d6e412.js similarity index 92% rename from web/settings/assets/InstallAssistantStep0-c90fd88c.js rename to web/settings/assets/InstallAssistantStep0-94d6e412.js index d56457b82d..1af601a451 100644 --- a/web/settings/assets/InstallAssistantStep0-c90fd88c.js +++ b/web/settings/assets/InstallAssistantStep0-94d6e412.js @@ -1 +1 @@ -import{C as u}from"./index-e7db68ea.js";import d from"./InstallAssistantStepTemplate-e8070fdb.js";import{_ as p,u as i,l as m,z as g,E as a,G as h,y as f,x as t}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ")])),_:1},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default}; +import{C as u}from"./index-8a28b331.js";import d from"./InstallAssistantStepTemplate-a588b92f.js";import{_ as p,u as i,l as m,z as g,E as a,G as h,y as f,x as t}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ")])),_:1},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default}; diff --git a/web/settings/assets/InstallAssistantStep1-004b34ed.js b/web/settings/assets/InstallAssistantStep1-5f568d13.js similarity index 85% rename from web/settings/assets/InstallAssistantStep1-004b34ed.js rename to web/settings/assets/InstallAssistantStep1-5f568d13.js index d454b8bbc2..6b5832f976 100644 --- a/web/settings/assets/InstallAssistantStep1-004b34ed.js +++ b/web/settings/assets/InstallAssistantStep1-5f568d13.js @@ -1 +1 @@ -import{C as m}from"./index-e7db68ea.js";import p from"./InstallAssistantStepTemplate-e8070fdb.js";import{D as l}from"./DataManagement-fdf145a6.js";import{_ as d,u as a,l as u,z as g,E as o,x as f,G as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default}; +import{C as m}from"./index-8a28b331.js";import p from"./InstallAssistantStepTemplate-a588b92f.js";import{D as l}from"./DataManagement-2af74759.js";import{_ as d,u as a,l as u,z as g,E as o,x as f,G as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default}; diff --git a/web/settings/assets/InstallAssistantStep10-720102bd.js b/web/settings/assets/InstallAssistantStep10-b2f24038.js similarity index 87% rename from web/settings/assets/InstallAssistantStep10-720102bd.js rename to web/settings/assets/InstallAssistantStep10-b2f24038.js index fc150e1e6c..39965e8625 100644 --- a/web/settings/assets/InstallAssistantStep10-720102bd.js +++ b/web/settings/assets/InstallAssistantStep10-b2f24038.js @@ -1 +1 @@ -import{C as a}from"./index-e7db68ea.js";import o from"./InstallAssistantStepTemplate-e8070fdb.js";import{_ as r,u as l,l as m,z as p,E as d,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default}; +import{C as a}from"./index-8a28b331.js";import o from"./InstallAssistantStepTemplate-a588b92f.js";import{_ as r,u as l,l as m,z as p,E as d,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default}; diff --git a/web/settings/assets/InstallAssistantStep2-4cfdefeb.js b/web/settings/assets/InstallAssistantStep2-1b3aea78.js similarity index 88% rename from web/settings/assets/InstallAssistantStep2-4cfdefeb.js rename to web/settings/assets/InstallAssistantStep2-1b3aea78.js index e370802cd0..9e08e60e8c 100644 --- a/web/settings/assets/InstallAssistantStep2-4cfdefeb.js +++ b/web/settings/assets/InstallAssistantStep2-1b3aea78.js @@ -1 +1 @@ -import{C as l}from"./index-e7db68ea.js";import u from"./InstallAssistantStepTemplate-e8070fdb.js";import d from"./System-ec758260.js";import{_ as p,u as a,l as f,z as g,E as o,x as s,G as S}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,w,v,k,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[S(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const z=p(c,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{z as default}; +import{C as l}from"./index-8a28b331.js";import u from"./InstallAssistantStepTemplate-a588b92f.js";import d from"./System-50c91ad7.js";import{_ as p,u as a,l as f,z as g,E as o,x as s,G as S}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,w,v,k,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[S(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const z=p(c,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{z as default}; diff --git a/web/settings/assets/InstallAssistantStep3-8fdd5080.js b/web/settings/assets/InstallAssistantStep3-7362f60a.js similarity index 91% rename from web/settings/assets/InstallAssistantStep3-8fdd5080.js rename to web/settings/assets/InstallAssistantStep3-7362f60a.js index 5b19dc10b1..b8767b2662 100644 --- a/web/settings/assets/InstallAssistantStep3-8fdd5080.js +++ b/web/settings/assets/InstallAssistantStep3-7362f60a.js @@ -1 +1 @@ -import{C as u}from"./index-e7db68ea.js";import d from"./InstallAssistantStepTemplate-e8070fdb.js";import{G as m}from"./GeneralConfig-e2e95a2e.js";import{_ as p,u as a,l as g,z as f,E as i,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default}; +import{C as u}from"./index-8a28b331.js";import d from"./InstallAssistantStepTemplate-a588b92f.js";import{G as m}from"./GeneralConfig-11fa69f5.js";import{_ as p,u as a,l as g,z as f,E as i,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default}; diff --git a/web/settings/assets/InstallAssistantStep4-5c74ff21.js b/web/settings/assets/InstallAssistantStep4-d56142fc.js similarity index 90% rename from web/settings/assets/InstallAssistantStep4-5c74ff21.js rename to web/settings/assets/InstallAssistantStep4-d56142fc.js index d1c3c4d0b2..3cbfa56453 100644 --- a/web/settings/assets/InstallAssistantStep4-5c74ff21.js +++ b/web/settings/assets/InstallAssistantStep4-d56142fc.js @@ -1 +1 @@ -import{C as l}from"./index-e7db68ea.js";import p from"./InstallAssistantStepTemplate-e8070fdb.js";import{b as u}from"./ChargePointInstallation-4851d3f5.js";import{_ as m,u as a,l as g,z as f,E as o,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,k,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default}; +import{C as l}from"./index-8a28b331.js";import p from"./InstallAssistantStepTemplate-a588b92f.js";import{b as u}from"./ChargePointInstallation-e2d03469.js";import{_ as m,u as a,l as g,z as f,E as o,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,k,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default}; diff --git a/web/settings/assets/InstallAssistantStep5-e3ce6c3a.js b/web/settings/assets/InstallAssistantStep5-97f667f9.js similarity index 91% rename from web/settings/assets/InstallAssistantStep5-e3ce6c3a.js rename to web/settings/assets/InstallAssistantStep5-97f667f9.js index 47c2b5f753..ba20a83c11 100644 --- a/web/settings/assets/InstallAssistantStep5-e3ce6c3a.js +++ b/web/settings/assets/InstallAssistantStep5-97f667f9.js @@ -1 +1 @@ -import{C as l}from"./index-e7db68ea.js";import m from"./InstallAssistantStepTemplate-e8070fdb.js";import{H as u}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as r,l as g,z as f,E as a,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,b,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default}; +import{C as l}from"./index-8a28b331.js";import m from"./InstallAssistantStepTemplate-a588b92f.js";import{H as u}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as r,l as g,z as f,E as a,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,b,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default}; diff --git a/web/settings/assets/InstallAssistantStep6-53bed178.js b/web/settings/assets/InstallAssistantStep6-adcb2a82.js similarity index 92% rename from web/settings/assets/InstallAssistantStep6-53bed178.js rename to web/settings/assets/InstallAssistantStep6-adcb2a82.js index b9f9e8a5e4..3074aa5480 100644 --- a/web/settings/assets/InstallAssistantStep6-53bed178.js +++ b/web/settings/assets/InstallAssistantStep6-adcb2a82.js @@ -1 +1 @@ -import{C as d}from"./index-e7db68ea.js";import u from"./InstallAssistantStepTemplate-e8070fdb.js";import{b as p}from"./ChargePointInstallation-4851d3f5.js";import{_ as m,u as a,l as g,z as h,E as r,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[d],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return g(),h(l,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; +import{C as d}from"./index-8a28b331.js";import u from"./InstallAssistantStepTemplate-a588b92f.js";import{b as p}from"./ChargePointInstallation-e2d03469.js";import{_ as m,u as a,l as g,z as h,E as r,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[d],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return g(),h(l,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; diff --git a/web/settings/assets/InstallAssistantStep7-7f7a8e27.js b/web/settings/assets/InstallAssistantStep7-cdb0462f.js similarity index 89% rename from web/settings/assets/InstallAssistantStep7-7f7a8e27.js rename to web/settings/assets/InstallAssistantStep7-cdb0462f.js index 876aa16275..5af4504d0a 100644 --- a/web/settings/assets/InstallAssistantStep7-7f7a8e27.js +++ b/web/settings/assets/InstallAssistantStep7-cdb0462f.js @@ -1 +1 @@ -import{C as l}from"./index-e7db68ea.js";import m from"./InstallAssistantStepTemplate-e8070fdb.js";import p from"./LoadManagementConfig-23bce113.js";import{_ as u,u as r,l as g,z as h,E as a,x as n,G as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./OpenwbSortableList-d8779d41.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default}; +import{C as l}from"./index-8a28b331.js";import m from"./InstallAssistantStepTemplate-a588b92f.js";import p from"./LoadManagementConfig-97765c3d.js";import{_ as u,u as r,l as g,z as h,E as a,x as n,G as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./OpenwbSortableList-cb1cc8c9.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default}; diff --git a/web/settings/assets/InstallAssistantStep8-e81bd318.js b/web/settings/assets/InstallAssistantStep8-56103022.js similarity index 91% rename from web/settings/assets/InstallAssistantStep8-e81bd318.js rename to web/settings/assets/InstallAssistantStep8-56103022.js index 5208391f5b..4129a1894b 100644 --- a/web/settings/assets/InstallAssistantStep8-e81bd318.js +++ b/web/settings/assets/InstallAssistantStep8-56103022.js @@ -1 +1 @@ -import{C as g}from"./index-e7db68ea.js";import p from"./InstallAssistantStepTemplate-e8070fdb.js";import{a as h}from"./VehicleConfig-135359c7.js";import{F as f}from"./vendor-fortawesome-979a7935.js";import{_ as z,u as r,l as w,z as P,E as a,x as n,y as o,G as d}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const F={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},A={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",A,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ')),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. "))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(F,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default}; +import{C as g}from"./index-8a28b331.js";import p from"./InstallAssistantStepTemplate-a588b92f.js";import{a as h}from"./VehicleConfig-268e1718.js";import{F as f}from"./vendor-fortawesome-231ff303.js";import{_ as z,u as r,l as w,z as P,E as a,x as n,y as o,G as d}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const F={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},A={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",A,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ')),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. "))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(F,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default}; diff --git a/web/settings/assets/InstallAssistantStep9-6ac2a445.js b/web/settings/assets/InstallAssistantStep9-54322f9b.js similarity index 88% rename from web/settings/assets/InstallAssistantStep9-6ac2a445.js rename to web/settings/assets/InstallAssistantStep9-54322f9b.js index bfc69d393c..51dccbf01a 100644 --- a/web/settings/assets/InstallAssistantStep9-6ac2a445.js +++ b/web/settings/assets/InstallAssistantStep9-54322f9b.js @@ -1 +1 @@ -import{C as m}from"./index-e7db68ea.js";import p from"./InstallAssistantStepTemplate-e8070fdb.js";import{D as u}from"./DataManagement-fdf145a6.js";import{_ as d,u as i,l as g,z as f,E as o,x as a,G as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,P,S,$,n){const r=i("DataManagement"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; +import{C as m}from"./index-8a28b331.js";import p from"./InstallAssistantStepTemplate-a588b92f.js";import{D as u}from"./DataManagement-2af74759.js";import{_ as d,u as i,l as g,z as f,E as o,x as a,G as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,P,S,$,n){const r=i("DataManagement"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; diff --git a/web/settings/assets/InstallAssistantStepTemplate-e8070fdb.js b/web/settings/assets/InstallAssistantStepTemplate-a588b92f.js similarity index 94% rename from web/settings/assets/InstallAssistantStepTemplate-e8070fdb.js rename to web/settings/assets/InstallAssistantStepTemplate-a588b92f.js index 72c7e3184e..b849f696e3 100644 --- a/web/settings/assets/InstallAssistantStepTemplate-e8070fdb.js +++ b/web/settings/assets/InstallAssistantStepTemplate-a588b92f.js @@ -1 +1 @@ -import{C as g}from"./index-e7db68ea.js";import{l as v,ap as y,aq as w,F as x}from"./vendor-fortawesome-979a7935.js";import{_ as k,u as r,l as i,m as a,G as t,E as s,x as n,y as c,B as p,p as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(u,e,o,j,q,l){const m=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return i(),a("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(i(),a("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=f=>l.previousPage())},{default:s(()=>[t(m,{"fixed-width":"",icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück "))]),_:1})])),o.hideNext?p("",!0):(i(),a("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=f=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ")),t(m,{"fixed-width":"",icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(i(),a("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=f=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ")])),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[_(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[_(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const Z=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{Z as default}; +import{C as g}from"./index-8a28b331.js";import{l as v,ap as y,aq as w,F as x}from"./vendor-fortawesome-231ff303.js";import{_ as k,u as r,l as i,m as a,G as t,E as s,x as n,y as c,B as p,p as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(u,e,o,j,q,l){const m=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return i(),a("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(i(),a("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=f=>l.previousPage())},{default:s(()=>[t(m,{"fixed-width":"",icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück "))]),_:1})])),o.hideNext?p("",!0):(i(),a("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=f=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ")),t(m,{"fixed-width":"",icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(i(),a("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=f=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ")])),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[_(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[_(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const Z=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{Z as default}; diff --git a/web/settings/assets/InstantChargeConfig-01a392d0.js b/web/settings/assets/InstantChargeConfig-d3e92931.js similarity index 93% rename from web/settings/assets/InstantChargeConfig-01a392d0.js rename to web/settings/assets/InstantChargeConfig-d3e92931.js index 36582bce1d..05cefd0cba 100644 --- a/web/settings/assets/InstantChargeConfig-01a392d0.js +++ b/web/settings/assets/InstantChargeConfig-d3e92931.js @@ -1 +1 @@ -import{C as l}from"./index-e7db68ea.js";import{_ as b,u as o,l as a,m as i,x as _,G as s,E as r,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const f={name:"OpenwbInstantChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},h={class:"instantChargeConfig"},c={name:"instantChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const m=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(m,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),i("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const F=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{F as default}; +import{C as l}from"./index-8a28b331.js";import{_ as b,u as o,l as a,m as i,x as _,G as s,E as r,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const f={name:"OpenwbInstantChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},h={class:"instantChargeConfig"},c={name:"instantChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const m=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(m,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),i("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const F=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{F as default}; diff --git a/web/settings/assets/LegalSettings-7312567f.js b/web/settings/assets/LegalSettings-2950e5af.js similarity index 95% rename from web/settings/assets/LegalSettings-7312567f.js rename to web/settings/assets/LegalSettings-2950e5af.js index 04ce12dda3..3c53e0f749 100644 --- a/web/settings/assets/LegalSettings-7312567f.js +++ b/web/settings/assets/LegalSettings-2950e5af.js @@ -1 +1 @@ -import{l as _,aa as k,F as y}from"./vendor-fortawesome-979a7935.js";import{C as v}from"./index-e7db68ea.js";import{_ as B,u as n,l as i,m as h,x as a,G as o,E as r,z as m,y as d,B as p}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";_.add(k);const z={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[v],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,x,A,b){const u=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),w=n("openwb-base-submit-buttons"),f=n("openwb-base-card");return i(),h("div",S,[a("form",$,[o(f,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(w,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ")),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=d(" Nicht akzeptieren und ausschalten ")),o(c,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[d(" Wenn Du nicht einwilligst, wird eine ggf. konfigurierte Cloud-Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote-Support sind dann nicht mehr möglich! ")])),_:1}))]),_:1})])])}const L=B(z,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default}; +import{l as _,aa as k,F as y}from"./vendor-fortawesome-231ff303.js";import{C as v}from"./index-8a28b331.js";import{_ as B,u as n,l as i,m as h,x as a,G as o,E as r,z as m,y as d,B as p}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";_.add(k);const z={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[v],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,x,A,b){const u=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),w=n("openwb-base-submit-buttons"),f=n("openwb-base-card");return i(),h("div",S,[a("form",$,[o(f,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(w,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ")),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=d(" Nicht akzeptieren und ausschalten ")),o(c,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[d(" Wenn Du nicht einwilligst, wird eine ggf. konfigurierte Cloud-Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote-Support sind dann nicht mehr möglich! ")])),_:1}))]),_:1})])])}const L=B(z,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default}; diff --git a/web/settings/assets/LoadManagementConfig-23bce113.js b/web/settings/assets/LoadManagementConfig-97765c3d.js similarity index 98% rename from web/settings/assets/LoadManagementConfig-23bce113.js rename to web/settings/assets/LoadManagementConfig-97765c3d.js index c759f49d6e..0bc70a254f 100644 --- a/web/settings/assets/LoadManagementConfig-23bce113.js +++ b/web/settings/assets/LoadManagementConfig-97765c3d.js @@ -1 +1 @@ -import{l as y,V as C,U as L,F as x}from"./vendor-fortawesome-979a7935.js";import{C as V}from"./index-e7db68ea.js";import{S as $}from"./OpenwbSortableList-d8779d41.js";import{_ as q,u as l,l as u,m,x as d,G as s,E as o,y as i,N as w,M as v,z as W,F as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";y.add(C,L);const Z={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:x},mixins:[V],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("counter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&t.push({value:e.id,text:e.name});return t.sort((e,n)=>e.text==n.text?0:e.text>n.text?1:-1)},inverterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("inverter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},hierarchyLabels:{get(){let t={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))t={...t,...this.getElementTreeNames(e)};return t}},getHcSourceIdOptions(){let t=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:t,groups:e}}},methods:{getElementTreeNames(t){let e={};if(t.type=="cp"){let n=this.getChargePoint(t.id);n&&(e[t.id]=n.name)}else{let n=this.getComponent(t.id);n&&(e[t.id]=n.name)}return t.children.forEach(n=>{e={...e,...this.getElementTreeNames(n)}}),e},getComponent(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/system/device/[0-9]+/component/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},getChargePoint(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/chargepoint/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},isComponentType(t,e){return t==null?void 0:t.split("_").includes(e)}}},M={class:"loadManagementConfig"},U={name:"loadManagementConfigForm"},A={key:0},E={key:1},F={key:0},D={key:1};function O(t,e,n,P,H,g){const h=l("openwb-base-alert"),k=l("openwb-base-button-group-input"),B=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),c=l("openwb-base-card"),S=l("sortable-list"),z=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(c,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",A,[s(h,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",E,[s(k,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[7]||(e[7]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt. Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom. ",-1),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden. Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken aller Ladepunkte an die neue Situation angepasst wurden. Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ",-1)])),_:1},8,["model-value"]),s(B,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":t.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[8]||(e[8]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im "),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ")])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[9]||(e[9]=[i(" Vorhandene Zählermodule ")])),_:1}),s(h,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme."),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt."),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ")])),_:1}),(u(!0),m(w,null,v(g.counterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","gauge-high"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[11]||(e[11]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[12]||(e[12]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[13]||(e[13]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[15]||(e[15]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[16]||(e[16]=[i(" Vorhandene Wechselrichtermodule ")])),_:1}),(u(!0),m(w,null,v(g.inverterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","solar-panel"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[17]||(e[17]=[i(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(c,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(h,{subtype:"info"},{default:o(()=>e[18]||(e[18]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",D,[s(S,{title:"Anordnung der Komponenten","model-value":t.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[19]||(e[19]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),d("br",null,null,-1),i(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")])),_:1},8,["model-value","labels"])]))]),_:1}),s(z,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>t.$emit("save")),onReset:e[4]||(e[4]=r=>t.$emit("reset")),onDefaults:e[5]||(e[5]=r=>t.$emit("defaults"))})])])}const Q=q(Z,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default}; +import{l as y,V as C,U as L,F as x}from"./vendor-fortawesome-231ff303.js";import{C as V}from"./index-8a28b331.js";import{S as $}from"./OpenwbSortableList-cb1cc8c9.js";import{_ as q,u as l,l as u,m,x as d,G as s,E as o,y as i,N as w,M as v,z as W,F as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";y.add(C,L);const Z={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:x},mixins:[V],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("counter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&t.push({value:e.id,text:e.name});return t.sort((e,n)=>e.text==n.text?0:e.text>n.text?1:-1)},inverterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("inverter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},hierarchyLabels:{get(){let t={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))t={...t,...this.getElementTreeNames(e)};return t}},getHcSourceIdOptions(){let t=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:t,groups:e}}},methods:{getElementTreeNames(t){let e={};if(t.type=="cp"){let n=this.getChargePoint(t.id);n&&(e[t.id]=n.name)}else{let n=this.getComponent(t.id);n&&(e[t.id]=n.name)}return t.children.forEach(n=>{e={...e,...this.getElementTreeNames(n)}}),e},getComponent(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/system/device/[0-9]+/component/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},getChargePoint(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/chargepoint/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},isComponentType(t,e){return t==null?void 0:t.split("_").includes(e)}}},M={class:"loadManagementConfig"},U={name:"loadManagementConfigForm"},A={key:0},E={key:1},F={key:0},D={key:1};function O(t,e,n,P,H,g){const h=l("openwb-base-alert"),k=l("openwb-base-button-group-input"),B=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),c=l("openwb-base-card"),S=l("sortable-list"),z=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(c,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",A,[s(h,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",E,[s(k,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[7]||(e[7]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt. Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom. ",-1),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden. Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken aller Ladepunkte an die neue Situation angepasst wurden. Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ",-1)])),_:1},8,["model-value"]),s(B,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":t.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[8]||(e[8]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im "),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ")])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[9]||(e[9]=[i(" Vorhandene Zählermodule ")])),_:1}),s(h,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme."),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt."),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ")])),_:1}),(u(!0),m(w,null,v(g.counterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","gauge-high"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[11]||(e[11]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[12]||(e[12]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[13]||(e[13]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[15]||(e[15]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[16]||(e[16]=[i(" Vorhandene Wechselrichtermodule ")])),_:1}),(u(!0),m(w,null,v(g.inverterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","solar-panel"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[17]||(e[17]=[i(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(c,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(h,{subtype:"info"},{default:o(()=>e[18]||(e[18]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",D,[s(S,{title:"Anordnung der Komponenten","model-value":t.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[19]||(e[19]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),d("br",null,null,-1),i(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")])),_:1},8,["model-value","labels"])]))]),_:1}),s(z,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>t.$emit("save")),onReset:e[4]||(e[4]=r=>t.$emit("reset")),onDefaults:e[5]||(e[5]=r=>t.$emit("defaults"))})])])}const Q=q(Z,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default}; diff --git a/web/settings/assets/MqttBridgeConfig-6926c1ac.js b/web/settings/assets/MqttBridgeConfig-b8c6ee6c.js similarity index 98% rename from web/settings/assets/MqttBridgeConfig-6926c1ac.js rename to web/settings/assets/MqttBridgeConfig-b8c6ee6c.js index e3d0d1f4af..aae5e9752c 100644 --- a/web/settings/assets/MqttBridgeConfig-6926c1ac.js +++ b/web/settings/assets/MqttBridgeConfig-b8c6ee6c.js @@ -1 +1 @@ -import{l as x,d as C,a7 as A,F as q}from"./vendor-fortawesome-979a7935.js";import{C as z}from"./index-e7db68ea.js";import{_ as D,u,l as m,m as b,G as o,E as a,x as f,N as M,y as s,F as E,z as k,B as T,M as W}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";x.add(C,A);const y={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}})},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},I={class:"mqttBridgeConfiguration"},P={key:0},Q={key:1},Z=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),w=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),_=u("openwb-base-card");return m(),b(M,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",I,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),f("br",null,null,-1),s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ')])),_:1}),o(_,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),k(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",P,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(m(),b("div",Q,[Object.keys(i.configuredMqttBridges).length===0?(m(),k(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ")])),_:1})):T("",!0),(m(!0),b(M,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(_,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(w,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ")])]),_:1}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfixes muss ein Schrägstrich "/" stehen. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert, dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ")])]),_:1}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,Z))),128))]))]),_:1})])],64)}const J=D(y,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default}; +import{l as x,d as C,a7 as A,F as q}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-8a28b331.js";import{_ as D,u,l as m,m as b,G as o,E as a,x as f,N as M,y as s,F as E,z as k,B as T,M as W}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";x.add(C,A);const y={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}})},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},I={class:"mqttBridgeConfiguration"},P={key:0},Q={key:1},Z=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),w=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),_=u("openwb-base-card");return m(),b(M,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",I,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),f("br",null,null,-1),s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ')])),_:1}),o(_,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),k(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",P,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(m(),b("div",Q,[Object.keys(i.configuredMqttBridges).length===0?(m(),k(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ")])),_:1})):T("",!0),(m(!0),b(M,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(_,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(w,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ")])]),_:1}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfixes muss ein Schrägstrich "/" stehen. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert, dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ")])]),_:1}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,Z))),128))]))]),_:1})])],64)}const J=D(y,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default}; diff --git a/web/settings/assets/OpenwbSortableList-d8779d41.js b/web/settings/assets/OpenwbSortableList-cb1cc8c9.js similarity index 92% rename from web/settings/assets/OpenwbSortableList-d8779d41.js rename to web/settings/assets/OpenwbSortableList-cb1cc8c9.js index 7e24001b35..14b4244896 100644 --- a/web/settings/assets/OpenwbSortableList-d8779d41.js +++ b/web/settings/assets/OpenwbSortableList-cb1cc8c9.js @@ -1 +1 @@ -import{O as v}from"./index-e7db68ea.js";import{_ as b,a3 as V,u as l,l as o,z as i,E as d,x as p,q as S,G as f,B as k,y as _,F as g,D as O,p as m,m as B}from"./vendor-0c15df0c.js";import{l as L,af as E,M as N,W as x,V as C,U as q,F as A}from"./vendor-fortawesome-979a7935.js";L.add(E,N,x,C,q);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:A},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function W(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:S(["element-titel",a.classes(s)])},[p("span",null,[f(r,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,"fixed-width":"",icon:a.getElementIcon(s)},null,8,["icon"])):k("",!0),_(" "+g(a.getElementLabel(s.id)),1)])],2),f(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const $=b(U,[["render",W],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),j={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:$},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},D={key:1};function F(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[m(e.$slots,"title",{},()=>[_(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),B("div",D,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[m(e.$slots,"help")]),key:"0"}:void 0]),1024)}const H=b(j,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{H as S}; +import{O as v}from"./index-8a28b331.js";import{_ as b,a3 as V,u as l,l as o,z as i,E as d,x as p,q as S,G as f,B as k,y as _,F as g,D as O,p as m,m as B}from"./vendor-0c15df0c.js";import{l as L,af as E,K as N,W as x,V as C,U as q,F as A}from"./vendor-fortawesome-231ff303.js";L.add(E,N,x,C,q);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:A},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function W(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:S(["element-titel",a.classes(s)])},[p("span",null,[f(r,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,"fixed-width":"",icon:a.getElementIcon(s)},null,8,["icon"])):k("",!0),_(" "+g(a.getElementLabel(s.id)),1)])],2),f(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const $=b(U,[["render",W],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),j={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:$},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},D={key:1};function F(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[m(e.$slots,"title",{},()=>[_(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),B("div",D,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[m(e.$slots,"help")]),key:"0"}:void 0]),1024)}const H=b(j,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{H as S}; diff --git a/web/settings/assets/OptionalComponents-1c75021a.js b/web/settings/assets/OptionalComponents-1c75021a.js deleted file mode 100644 index 2fa8280e15..0000000000 --- a/web/settings/assets/OptionalComponents-1c75021a.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as T,C}from"./index-e7db68ea.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as S,a2 as z,a3 as V,F as E}from"./vendor-fortawesome-979a7935.js";import{_ as v,u as p,l as s,m as d,z as y,E as o,y as i,F as g,G as n,x as l,a1 as L,a2 as I,N as F,B as _}from"./vendor-0c15df0c.js";const q={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},M=v(q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),N={name:"DisplayThemeFallback",mixins:[M]},j={class:"display-theme-fallback"},P={key:1};function A(t,e,u,c,w,m){const r=p("openwb-base-alert"),b=p("openwb-base-textarea");return s(),d("div",j,[Object.keys(t.displayTheme.configuration).length==0?(s(),y(r,{key:0,subtype:"info"},{default:o(()=>[i(' Das Display-Theme "'+g(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),d("div",P,[n(r,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das Display-Theme "'+g(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(r,{subtype:"info"},{default:o(()=>[l("pre",null,g(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const x=v(N,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);S.add(z,V);const U={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:E},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getDisplayThemeComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),L({loader:()=>O(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-8ed2d4bf.js"),["assets/displayTheme-8ed2d4bf.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-8e966d44.js"),["assets/displayTheme-8e966d44.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:x})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,u,c,w,m){const r=p("font-awesome-icon"),b=p("openwb-base-alert"),f=p("openwb-base-heading");return s(),d(F,null,[u.displayTheme.official?(s(),y(b,{key:0,subtype:"success"},{default:o(()=>[n(r,{"fixed-width":"",icon:["fas","certificate"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(s(),y(b,{key:1,subtype:"info"},{default:o(()=>[n(r,{"fixed-width":"",icon:["fas","people-group"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[i(' Einstellungen für Display Theme "'+g(u.displayTheme.name)+'" ',1)]),_:1}),(s(),y(I(m.getDisplayThemeComponent()),{"display-theme":u.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>m.updateConfiguration(h))},null,40,["display-theme"]))],64)}const H=v(U,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),J={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:H},mixins:[C],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},methods:{getIdFromTopic(t){return t.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(t=>{t[1]!==null&&(this.tempIdTagList[t[1]]=`${t[1]} (${t[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(t[0]))})`)}),this.tempIdTagList},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getDisplayThemeDefaults(t){const e=this.displayThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},G={class:"optionalComponents"},K={name:"optionalComponentsForm"},Z={key:0},Q={key:1},X={key:0},Y=["innerHTML"],ee={key:0},te={key:1},ne={key:2},oe={key:0};function ie(t,e,u,c,w,m){const r=p("openwb-base-button-group-input"),b=p("openwb-base-alert"),f=p("openwb-base-textarea"),h=p("openwb-base-card"),B=p("openwb-base-heading"),D=p("openwb-base-range-input"),W=p("openwb-base-select-input"),k=p("openwb-display-theme-proxy"),$=p("openwb-base-submit-buttons");return s(),d("div",G,[l("form",K,[n(h,{title:"Identifikation"},{default:o(()=>[n(r,{title:"Identifikation aktivieren","model-value":t.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateState("openWB/optional/rfid/active",a))},{help:o(()=>e[10]||(e[10]=[i(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: "),l("ul",null,[l("li",null,"Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen)."),l("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),l("li",null,"Durch manuelle Eingabe einer ID am Display einer openWB.")],-1)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),d("div",Z,[n(b,{subtype:"info"},{default:o(()=>e[11]||(e[11]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),d("div",Q,[t.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(s(),d("div",X,[n(b,{subtype:"info",class:"mb-1"},{default:o(()=>[e[12]||(e[12]=i(" Die ID-Tags müssen in den Einstellungen der Fahrzeuge diesen zugeordnet werden.")),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=i(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder andersherum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen.")),e[15]||(e[15]=l("br",null,null,-1)),l("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,Y)]),_:1}),n(f,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":m.idTagList.join(` -`)},{help:o(()=>e[16]||(e[16]=[i(" Solange diese Seite geöffnet ist, werden alle erfassten ID-Tags in dieser Liste aufgeführt. Bei der openWB Pro/Pro+ nur bei angestecktem Fahrzeug. ")])),_:1},8,["model-value"])])):_("",!0)]))]),_:1}),n(h,{title:"Display (intern oder extern)"},{default:o(()=>[n(r,{title:"Integriertes Display","model-value":t.$store.state.mqtt["openWB/optional/int_display/active"],buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateState("openWB/optional/int_display/active",a))},{help:o(()=>e[17]||(e[17]=[i(' Je nach Bestellung kann die openWB mit oder ohne Display geliefert worden sein. Auch die Variante "Standalone" bietet beide Optionen. Bitte prüfe zuerst die Hardwareausstattung deiner openWB (z.B. Lieferschein). ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(s(),d("div",ee,[n(r,{title:"Orientierung","model-value":t.$store.state.mqtt["openWB/optional/int_display/rotation"],buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}],"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateState("openWB/optional/int_display/rotation",a))},{help:o(()=>e[18]||(e[18]=[i(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!"),l("br",null,null,-1),i(" Diese Einstellung erfordert ein Raspberry Pi Display. Für eine openWB series2 mit integriertem Display muss 0° ausgewählt werden, für eine Standalone mit Display 180°. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ")])),_:1},8,["model-value"]),e[21]||(e[21]=l("hr",null,null,-1)),n(B,null,{default:o(()=>e[19]||(e[19]=[i(" Display Standby ")])),_:1}),n(D,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{label:"Immer an",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:30,value:30},{label:45,value:45},{label:"1 Min",value:60},{label:"1,5 Min",value:90},{label:"2 Min",value:120},{label:"3 Min",value:180},{label:"4 Min",value:240},{label:"5 Min",value:300},{label:"10 Min",value:600}],"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateState("openWB/optional/int_display/standby",a))},{help:o(()=>e[20]||(e[20]=[i(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ")])),_:1},8,["model-value"])])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),d("div",te,[e[23]||(e[23]=l("hr",null,null,-1)),n(b,{subtype:"info"},{default:o(()=>e[22]||(e[22]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),d("div",ne,[e[26]||(e[26]=l("hr",null,null,-1)),n(r,{title:"Ladepunkte auf secondary openWB","model-value":t.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=a=>t.updateState("openWB/optional/int_display/only_local_charge_points",a))},{help:o(()=>e[24]||(e[24]=[i(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ")])),_:1},8,["model-value"]),e[27]||(e[27]=l("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(s(),d("div",oe,[n(W,{class:"mb-2",title:"Theme des Displays",groups:m.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[5]||(e[5]=a=>m.updateSelectedDisplayTheme(a))},{help:o(()=>e[25]||(e[25]=[i(" Hier können unterschiedliche Display-Anzeigen, s.g. Themes, ausgewählt werden. Die Anzahl der Themes wird sich mit zukünftigen Releases erhöhen. ")])),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(s(),y(k,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[6]||(e[6]=a=>m.updateConfiguration("openWB/optional/int_display/theme",a))},null,8,["display-theme"])):_("",!0)])):_("",!0)]))]),_:1}),n($,{"form-name":"optionalComponentsForm",onSave:e[7]||(e[7]=a=>t.$emit("save")),onReset:e[8]||(e[8]=a=>t.$emit("reset")),onDefaults:e[9]||(e[9]=a=>t.$emit("defaults"))})])])}const ae=v(J,[["render",ie],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{M as D,de as O}; diff --git a/web/settings/assets/OptionalComponents-6fa33f62.js b/web/settings/assets/OptionalComponents-6fa33f62.js new file mode 100644 index 0000000000..5d39690181 --- /dev/null +++ b/web/settings/assets/OptionalComponents-6fa33f62.js @@ -0,0 +1,2 @@ +import{_ as T,C}from"./index-8a28b331.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as S,a2 as z,a3 as V,F as E}from"./vendor-fortawesome-231ff303.js";import{_ as v,u as p,l as s,m as r,z as y,E as o,y as i,F as g,G as n,x as l,a1 as L,a2 as I,N as F,B as _}from"./vendor-0c15df0c.js";const q={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},M=v(q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),N={name:"DisplayThemeFallback",mixins:[M]},j={class:"display-theme-fallback"},P={key:1};function A(t,e,u,c,w,b){const d=p("openwb-base-alert"),m=p("openwb-base-textarea");return s(),r("div",j,[Object.keys(t.displayTheme.configuration).length==0?(s(),y(d,{key:0,subtype:"info"},{default:o(()=>[i(' Das Display-Theme "'+g(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),r("div",P,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das Display-Theme "'+g(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(m,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[l("pre",null,g(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const x=v(N,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);S.add(z,V);const U={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:E},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading display theme: ${this.displayTheme.name} (${this.displayTheme.type})`),L({loader:()=>O(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-6534af01.js"),["assets/displayTheme-6534af01.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-ab67a257.js"),["assets/displayTheme-ab67a257.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:x})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,u,c,w,b){const d=p("font-awesome-icon"),m=p("openwb-base-alert"),f=p("openwb-base-heading");return s(),r(F,null,[u.displayTheme.official?(s(),y(m,{key:0,subtype:"success"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","certificate"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(s(),y(m,{key:1,subtype:"info"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","people-group"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[i(' Einstellungen für Display Theme "'+g(u.displayTheme.name)+'" ',1)]),_:1}),(s(),y(I(b.myComponent),{"display-theme":u.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>b.updateConfiguration(h))},null,40,["display-theme"]))],64)}const H=v(U,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),J={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:H},mixins:[C],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},methods:{getIdFromTopic(t){return t.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(t=>{t[1]!==null&&(this.tempIdTagList[t[1]]=`${t[1]} (${t[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(t[0]))})`)}),this.tempIdTagList},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getDisplayThemeDefaults(t){const e=this.displayThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},G={class:"optionalComponents"},K={name:"optionalComponentsForm"},Z={key:0},Q={key:1},X={key:0},Y=["innerHTML"],ee={key:0},te={key:1},ne={key:2},oe={key:0};function ie(t,e,u,c,w,b){const d=p("openwb-base-alert"),m=p("openwb-base-button-group-input"),f=p("openwb-base-textarea"),h=p("openwb-base-card"),B=p("openwb-base-heading"),D=p("openwb-base-range-input"),W=p("openwb-base-select-input"),k=p("openwb-display-theme-proxy"),$=p("openwb-base-submit-buttons");return s(),r("div",G,[l("form",K,[n(h,{title:"Identifikation"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),r("div",Z,[n(d,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),r("div",Q,[n(m,{title:"Identifikation aktivieren","model-value":t.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateState("openWB/optional/rfid/active",a))},{help:o(()=>e[11]||(e[11]=[i(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: "),l("ul",null,[l("li",null," Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen). "),l("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),l("li",null,"Durch manuelle Eingabe einer ID am Display einer openWB.")],-1)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(s(),r("div",X,[n(d,{subtype:"info",class:"mb-1"},{default:o(()=>[e[12]||(e[12]=i(" Die ID-Tags müssen in den Einstellungen der Fahrzeuge diesen zugeordnet werden.")),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=i(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder andersherum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen.")),e[15]||(e[15]=l("br",null,null,-1)),l("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,Y)]),_:1}),n(f,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":b.idTagList.join(` +`)},{help:o(()=>e[16]||(e[16]=[i(" Solange diese Seite geöffnet ist, werden alle erfassten ID-Tags in dieser Liste aufgeführt. Bei der openWB Pro/Pro+ nur bei angestecktem Fahrzeug. ")])),_:1},8,["model-value"])])):_("",!0)]))]),_:1}),n(h,{title:"Display (intern oder extern)"},{default:o(()=>[n(m,{title:"Integriertes Display","model-value":t.$store.state.mqtt["openWB/optional/int_display/active"],buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateState("openWB/optional/int_display/active",a))},{help:o(()=>e[17]||(e[17]=[i(' Je nach Bestellung kann die openWB mit oder ohne Display geliefert worden sein. Auch die Variante "Standalone" bietet beide Optionen. Bitte prüfe zuerst die Hardwareausstattung deiner openWB (z.B. Lieferschein). ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(s(),r("div",ee,[n(m,{title:"Orientierung","model-value":t.$store.state.mqtt["openWB/optional/int_display/rotation"],buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}],"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateState("openWB/optional/int_display/rotation",a))},{help:o(()=>e[18]||(e[18]=[i(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!"),l("br",null,null,-1),i(" Diese Einstellung erfordert ein Raspberry Pi Display. Für eine openWB series2 mit integriertem Display muss 0° ausgewählt werden, für eine Standalone mit Display 180°. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ")])),_:1},8,["model-value"]),e[21]||(e[21]=l("hr",null,null,-1)),n(B,null,{default:o(()=>e[19]||(e[19]=[i(" Display Standby ")])),_:1}),n(D,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{label:"Immer an",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:30,value:30},{label:45,value:45},{label:"1 Min",value:60},{label:"1,5 Min",value:90},{label:"2 Min",value:120},{label:"3 Min",value:180},{label:"4 Min",value:240},{label:"5 Min",value:300},{label:"10 Min",value:600}],"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateState("openWB/optional/int_display/standby",a))},{help:o(()=>e[20]||(e[20]=[i(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ")])),_:1},8,["model-value"])])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),r("div",te,[e[23]||(e[23]=l("hr",null,null,-1)),n(d,{subtype:"info"},{default:o(()=>e[22]||(e[22]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),r("div",ne,[e[26]||(e[26]=l("hr",null,null,-1)),n(m,{title:"Ladepunkte auf secondary openWB","model-value":t.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=a=>t.updateState("openWB/optional/int_display/only_local_charge_points",a))},{help:o(()=>e[24]||(e[24]=[i(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ")])),_:1},8,["model-value"]),e[27]||(e[27]=l("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(s(),r("div",oe,[n(W,{class:"mb-2",title:"Theme des Displays",groups:b.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[5]||(e[5]=a=>b.updateSelectedDisplayTheme(a))},{help:o(()=>e[25]||(e[25]=[i(" Hier können unterschiedliche Display-Anzeigen, s.g. Themes, ausgewählt werden. Die Anzahl der Themes wird sich mit zukünftigen Releases erhöhen. ")])),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(s(),y(k,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[6]||(e[6]=a=>b.updateConfiguration("openWB/optional/int_display/theme",a))},null,8,["display-theme"])):_("",!0)])):_("",!0)]))]),_:1}),n($,{"form-name":"optionalComponentsForm",onSave:e[7]||(e[7]=a=>t.$emit("save")),onReset:e[8]||(e[8]=a=>t.$emit("reset")),onDefaults:e[9]||(e[9]=a=>t.$emit("defaults"))})])])}const ae=v(J,[["render",ie],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{M as D,de as O}; diff --git a/web/settings/assets/PVChargeConfig-d1a83133.js b/web/settings/assets/PVChargeConfig-d1a83133.js deleted file mode 100644 index 53996e5fda..0000000000 --- a/web/settings/assets/PVChargeConfig-d1a83133.js +++ /dev/null @@ -1 +0,0 @@ -import{C as S}from"./index-e7db68ea.js";import{l as B,W as V,a4 as z,a5 as k,F as y}from"./vendor-fortawesome-979a7935.js";import{_ as E,u as g,l,m as u,x as o,G as i,E as a,y as t,F as C,z as v,B as f}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";B.add(V,z,k);const q={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[S],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var p="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?p="export":e[0]===0&&e[1]===230?p="import":e[0]===-115&&e[1]===115?p="balanced":p="individual"),p},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},chargingSwitchRange:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},M={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},A={key:0},$={key:1},U={key:0},R={key:1},P={key:0},F={key:1},D={key:0};function N(n,e,p,I,x,s){const m=g("openwb-base-alert"),c=g("openwb-base-button-group-input"),d=g("openwb-base-number-input"),b=g("openwb-base-card"),h=g("font-awesome-icon"),w=g("openwb-base-range-input"),_=g("openwb-base-heading"),W=g("openwb-base-submit-buttons");return l(),u("div",M,[o("form",L,[i(b,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",A,[i(m,{subtype:"info"},{default:a(()=>e[18]||(e[18]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",$,[i(c,{modelValue:s.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>s.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[19]||(e[19]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll."),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht."),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ")])),_:1},8,["modelValue"]),i(d,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[20]||(e[20]=[t(" Untere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),i(d,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[21]||(e[21]=[t(" Obere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(m,{subtype:s.chargingSwitchRange<1400?"danger":"info"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1,4 kW (230V x 6A) betragen. (Konfiguriert: "+C((s.chargingSwitchRange/1e3).toLocaleString(void 0))+" kW) ",1)]),_:1},8,["subtype"]),i(d,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[22]||(e[22]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")])),_:1},8,["model-value"]),i(d,{title:"Einschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[23]||(e[23]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(m,{subtype:n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3>0?"danger":"info"},{default:a(()=>e[24]||(e[24]=[t(" Ist ein Speicher im System vorhanden, kann eine Abschaltschwelle größer Null zur Speicherentladung führen. (Siehe Fragezeichentext) ")])),_:1},8,["subtype"]),i(d,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[25]||(e[25]=[t(" Übersteigt der Netzbezug die Abschaltschwelle, wird die Ladung beendet. Eine Abschaltschaltschwelle, die Netzbezug erlaubt, führt in einem System ohne steuerbaren Speicher zur Entladung des Speichers. Der Speicher wird dann auch über den eingestellten Mindest-SoC hinaus entladen (siehe Speicherbeachtung unten). ")])),_:1},8,["model-value"]),i(d,{title:"Abschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[26]||(e[26]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")])),_:1},8,["model-value"]),e[30]||(e[30]=o("hr",null,null,-1)),i(d,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[27]||(e[27]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),o("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),o("br",null,null,-1),t(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),o("br",null,null,-1),t(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),o("br",null,null,-1),t(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")])),_:1},8,["model-value"])]))]),_:1}),i(b,{title:"Phasenumschaltung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",U,[i(m,{subtype:"info"},{default:a(()=>e[31]||(e[31]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",R,[i(c,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",r))},{help:a(()=>e[32]||(e[32]=[t(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und mehreren Phasen (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),i(b,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",P,[i(m,{subtype:"info"},{default:a(()=>e[33]||(e[33]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),u("div",F,[i(c,{modelValue:s.batMode,"onUpdate:modelValue":e[9]||(e[9]=r=>s.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[34]||(e[34]=t(" Fahrzeuge "))]),"label-bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[35]||(e[35]=t(" Speicher "))]),"label-min_soc_bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[36]||(e[36]=t(" Mindest-SoC des Speichers "))]),help:a(()=>[e[43]||(e[43]=o("p",null,' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich. ',-1)),o("p",null,[e[37]||(e[37]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[38]||(e[38]=t(' Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen. '))]),o("p",null,[e[39]||(e[39]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[40]||(e[40]=t(' Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen. '))]),o("p",null,[e[41]||(e[41]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[42]||(e[42]=t(' Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. '))])]),_:1},8,["modelValue"]),s.batMode==="min_soc_bat_mode"?(l(),u("div",D,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(_,null,{default:a(()=>e[44]||(e[44]=[t(" Speicher-SoC unterhalb Mindest-SoC ")])),_:1}),i(c,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[45]||(e[45]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(l(),v(d,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):f("",!0),i(_,null,{default:a(()=>e[46]||(e[46]=[t(" Speicher-SoC oberhalb Mindest-SoC ")])),_:1}),i(c,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[47]||(e[47]=[t(" Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(l(),v(d,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[14]||(e[14]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):f("",!0)])):f("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[15]||(e[15]=r=>n.$emit("save")),onReset:e[16]||(e[16]=r=>n.$emit("reset")),onDefaults:e[17]||(e[17]=r=>n.$emit("defaults"))})])])}const j=E(q,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{j as default}; diff --git a/web/settings/assets/PVChargeConfig-f9600c79.js b/web/settings/assets/PVChargeConfig-f9600c79.js new file mode 100644 index 0000000000..24c32b16a4 --- /dev/null +++ b/web/settings/assets/PVChargeConfig-f9600c79.js @@ -0,0 +1 @@ +import{C as B}from"./index-8a28b331.js";import{l as S,W as V,a4 as k,a5 as z,F as y}from"./vendor-fortawesome-231ff303.js";import{_ as E,u as g,l as s,m as u,x as o,G as i,E as a,y as t,F as C,z as _,B as f}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";S.add(V,k,z);const M={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var p="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?p="export":e[0]===0&&e[1]===230?p="import":e[0]===-115&&e[1]===115?p="balanced":p="individual"),p},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},q={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},$={key:0},A={key:1},U={key:0},P={key:1},R={key:0},D={key:1},F={key:0};function N(n,e,p,I,G,l){const b=g("openwb-base-alert"),m=g("openwb-base-button-group-input"),d=g("openwb-base-number-input"),c=g("openwb-base-card"),h=g("font-awesome-icon"),w=g("openwb-base-range-input"),v=g("openwb-base-heading"),W=g("openwb-base-submit-buttons");return s(),u("div",q,[o("form",L,[i(c,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",$,[i(b,{subtype:"info"},{default:a(()=>e[18]||(e[18]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",A,[i(m,{modelValue:l.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>l.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[19]||(e[19]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll."),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht."),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ")])),_:1},8,["modelValue"]),i(d,{disabled:l.controlMode!=="individual",readonly:l.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[20]||(e[20]=[t(" Untere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),i(d,{disabled:l.controlMode!=="individual",readonly:l.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[21]||(e[21]=[t(" Obere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),e[27]||(e[27]=o("hr",null,null,-1)),i(b,{subtype:"danger"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1.4kW (230V x 6A) betragen. (Konfiguriert: "+C((n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"])/1e3)+" kW) ",1)]),_:1}),i(d,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[22]||(e[22]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")])),_:1},8,["model-value"]),i(d,{title:"Einschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[23]||(e[23]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")])),_:1},8,["model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(d,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[24]||(e[24]=[t(" Wird der Regelbereich in Richtung Netzbezug um diese Leistung überschritten, so wird der Ladevorgang beendet. Wenn ein Speicher im System vorhanden ist, gilt die Abschaltschwelle auch für die Speicherentladung. Die Abschaltschwelle übersteuert den Mindest-SoC des Speichers (siehe Speicher-Beachtung unten)."),o("br",null,null,-1),t(" Dieser Wert ist unabhängig von der Anzahl genutzter Phasen. ")])),_:1},8,["model-value"]),i(d,{title:"Abschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[25]||(e[25]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(d,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[26]||(e[26]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),o("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),o("br",null,null,-1),t(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),o("br",null,null,-1),t(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),o("br",null,null,-1),t(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")])),_:1},8,["model-value"])]))]),_:1}),i(c,{title:"Phasenumschaltung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",U,[i(b,{subtype:"info"},{default:a(()=>e[30]||(e[30]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",P,[i(m,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",r))},{help:a(()=>e[31]||(e[31]=[t(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und mehreren Phasen (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),i(c,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",R,[i(b,{subtype:"info"},{default:a(()=>e[32]||(e[32]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",D,[i(m,{modelValue:l.batMode,"onUpdate:modelValue":e[9]||(e[9]=r=>l.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[33]||(e[33]=t(" Fahrzeuge "))]),"label-bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[34]||(e[34]=t(" Speicher "))]),"label-min_soc_bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[35]||(e[35]=t(" Mindest-SoC des Speichers "))]),help:a(()=>[e[42]||(e[42]=o("p",null,' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich. ',-1)),o("p",null,[e[36]||(e[36]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[37]||(e[37]=t(' Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen. '))]),o("p",null,[e[38]||(e[38]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[39]||(e[39]=t(' Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen. '))]),o("p",null,[e[40]||(e[40]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[41]||(e[41]=t(' Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. '))])]),_:1},8,["modelValue"]),l.batMode==="min_soc_bat_mode"?(s(),u("div",F,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(v,null,{default:a(()=>e[43]||(e[43]=[t(" Speicher-SoC unterhalb Mindest-SoC ")])),_:1}),i(m,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[44]||(e[44]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(s(),_(d,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):f("",!0),i(v,null,{default:a(()=>e[45]||(e[45]=[t(" Speicher-SoC oberhalb Mindest-SoC ")])),_:1}),i(m,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[46]||(e[46]=[t(" Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(s(),_(d,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[14]||(e[14]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):f("",!0)])):f("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[15]||(e[15]=r=>n.$emit("save")),onReset:e[16]||(e[16]=r=>n.$emit("reset")),onDefaults:e[17]||(e[17]=r=>n.$emit("defaults"))})])])}const j=E(M,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{j as default}; diff --git a/web/settings/assets/ScheduledChargeConfig-36982be1.js b/web/settings/assets/ScheduledChargeConfig-9e95c583.js similarity index 96% rename from web/settings/assets/ScheduledChargeConfig-36982be1.js rename to web/settings/assets/ScheduledChargeConfig-9e95c583.js index 4d12dee965..8fae73acd7 100644 --- a/web/settings/assets/ScheduledChargeConfig-36982be1.js +++ b/web/settings/assets/ScheduledChargeConfig-9e95c583.js @@ -1 +1 @@ -import{C as p}from"./index-e7db68ea.js";import{_ as h,u as s,l as i,m as u,x as b,G as o,E as a,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"OpenwbScheduledChargeConfigView",mixins:[p],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use","openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"]}}},_={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function k(t,e,C,V,B,$){const l=s("openwb-base-alert"),d=s("openwb-base-button-group-input"),g=s("openwb-base-card"),m=s("openwb-base-submit-buttons");return i(),u("div",_,[b("form",f,[o(g,{title:"Phasenumschaltung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u("div",v,[o(l,{subtype:"info"},{default:a(()=>e[5]||(e[5]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),u("div",w,[o(d,{title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:a(()=>e[6]||(e[6]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"]),o(d,{title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv",n))},{help:a(()=>e[7]||(e[7]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" bei Laden mit PV-Überschuss mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),o(m,{"form-name":"scheduledChargeConfigForm",onSave:e[2]||(e[2]=n=>t.$emit("save")),onReset:e[3]||(e[3]=n=>t.$emit("reset")),onDefaults:e[4]||(e[4]=n=>t.$emit("defaults"))})])])}const P=h(c,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{P as default}; +import{C as p}from"./index-8a28b331.js";import{_ as h,u as s,l as i,m as u,x as b,G as o,E as a,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"OpenwbScheduledChargeConfigView",mixins:[p],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use","openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"]}}},_={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function k(t,e,C,V,B,$){const l=s("openwb-base-alert"),d=s("openwb-base-button-group-input"),g=s("openwb-base-card"),m=s("openwb-base-submit-buttons");return i(),u("div",_,[b("form",f,[o(g,{title:"Phasenumschaltung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u("div",v,[o(l,{subtype:"info"},{default:a(()=>e[5]||(e[5]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),u("div",w,[o(d,{title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:a(()=>e[6]||(e[6]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"]),o(d,{title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv",n))},{help:a(()=>e[7]||(e[7]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" bei Laden mit PV-Überschuss mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),o(m,{"form-name":"scheduledChargeConfigForm",onSave:e[2]||(e[2]=n=>t.$emit("save")),onReset:e[3]||(e[3]=n=>t.$emit("reset")),onDefaults:e[4]||(e[4]=n=>t.$emit("defaults"))})])])}const P=h(c,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{P as default}; diff --git a/web/settings/assets/Status-0d94b352.js b/web/settings/assets/Status-0d94b352.js new file mode 100644 index 0000000000..14aaec8257 --- /dev/null +++ b/web/settings/assets/Status-0d94b352.js @@ -0,0 +1 @@ +import{C as f}from"./index-8a28b331.js";import{l as w,K as q,F as T,L as x,M as W,c as k,N as E,O as M,P as R,Q as D,R as G,S as H,T as Z,U as K,V as I,W as F,X as J,Y as U,Z as Q}from"./vendor-fortawesome-231ff303.js";import{_ as y,u as l,l as r,z as b,E as i,G as c,y as m,x as e,F as a,m as n,q as S,B,N,M as $}from"./vendor-0c15df0c.js";import{C as X,p as Y,a as ee,L as te,b as se,P as oe,c as ae,T as ie,i as re,d as ce,e as ne}from"./vendor-chartjs-53af3b3a.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-luxon-8ddd27a0.js";w.add(q);const le={name:"ChargePointSumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},de={class:"text-right"},pe={class:"row"},ue={class:"col text-right text-monospace"},he={class:"row"},me={class:"col-4 text-right text-monospace"},ge={class:"col-4 text-right text-monospace"},be={class:"row"},_e={class:"col-4 text-right text-monospace"},ve={class:"col-4 text-right text-monospace"};function fe(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card");return r(),b(d,{subtype:"primary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","charging-station"]}),o[0]||(o[0]=m(" Alle Ladepunkte "))]),actions:i(()=>[e("span",de,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:i(()=>[c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row py-2"},[e("div",{class:"col font-weight-bold"},"Ladevorgang"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",pe,[e("div",ue,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[4]||(o[4]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",he,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",me,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),e("div",ge,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),e("div",be,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",_e,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),e("div",ve,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const ye=y(le,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);w.add(x,W,k,q,E,M,R,D,G,H,Z);const we={name:"ChargePointCard",components:{FontAwesomeIcon:T},mixins:[f],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},computed:{chargePointIndex:{get(){return parseInt(this.installedChargePointKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let t=this.chargePointIndex,o=this.$store.state.mqtt["openWB/chargepoint/"+t+"/get/plug_state"],u=this.$store.state.mqtt["openWB/chargepoint/"+t+"/get/charge_state"];return o==1&&u==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:o==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Te={key:0,class:"text-right"},xe={key:0},We={key:1},ke={class:"row py-2"},Se={class:"col text-right"},Be={style:{"white-space":"pre-wrap"}},Ce={class:"row"},Ne={class:"col text-right text-monospace"},$e={class:"col text-right text-monospace"},Pe={class:"row"},qe={key:0,class:"col text-right text-monospace"},Ie={key:1,class:"col text-right text-monospace"},Fe={class:"col text-right text-monospace"},Ae={class:"row"},Le={class:"col-4 text-right text-monospace"},je={class:"col-4 text-right text-monospace"},Oe={class:"row"},Ve={class:"col-4 text-right text-monospace"},ze={class:"col-4 text-right text-monospace"},Ee={class:"row"},Me={class:"col text-right text-monospace"},Re={class:"col text-right text-monospace"},De={class:"col text-right text-monospace"},Ge={class:"row"},He={class:"col text-right text-monospace"},Ze={class:"col text-right text-monospace"},Ke={class:"col text-right text-monospace"},Je={class:"row"},Ue={class:"col text-right text-monospace"},Qe={class:"col text-right text-monospace"},Xe={class:"col text-right text-monospace"},Ye={class:"row"},et={class:"col text-right text-monospace"},tt={class:"col text-right text-monospace"},st={class:"col text-right text-monospace"},ot={class:"row"},at={class:"col text-center text-monospace"},it={class:"container"},rt={class:"row"},ct={class:"col px-0"},nt={style:{"white-space":"pre-wrap"}},lt={class:"col col-auto pr-0"},dt={class:"text-right"};function pt(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-alert"),h=l("openwb-base-card");return r(),b(h,{subtype:"primary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","charging-station"]}),m(" "+a(u.installedChargePoint.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Te,[m(a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),c(p,{"fixed-width":"",icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"])])):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",xe,"Warnung")):(r(),n("div",We,"Fehler"))],2))]),footer:i(()=>[e("div",it,[e("div",rt,[e("div",ct,[c(d,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[12]||(o[12]=m(" Modulmeldung: ")),e("span",nt,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",lt,[e("div",dt,"ID: "+a(s.chargePointIndex),1)])])])]),default:i(()=>[c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",ke,[o[0]||(o[0]=e("div",{class:"col col-auto font-weight-bold"},"Status",-1)),e("div",Se,[c(p,{"fixed-width":"",icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"]),m(" "+a(s.chargingStatus.text),1)])]),c(d,{subtype:"info"},{default:i(()=>[o[1]||(o[1]=m(" Statusmeldung: ")),e("span",Be,a(t.$store.state.mqtt[s.baseTopic+"/get/state_str"]),1)]),_:1}),m(" max. Ladeleistung: "+a((t.max_power=t.formatNumberTopic("openWB/chargepoint/"+s.chargePointIndex+"/get/max_evse_current",0))=="-"?t.max_power:Math.floor(t.max_power*3*230/1e3))+" kW ",1)]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:i(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Ladestrom Vorgabe"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",Ce,[e("div",Ne,a(t.formatNumberTopic(s.baseTopic+"/set/current",2))+" A",1),e("div",$e,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Phasen Vorgabe"),e("div",{class:"col text-right"},"Phasen Aktuell")],-1)),e("div",Pe,[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),n("div",qe,a(t.formatNumberTopic("openWB/internal_chargepoint/"+s.chargePointIndex+"/data/phases_to_use")),1)):(r(),n("div",Ie,a(t.formatNumberTopic(s.baseTopic+"/set/phases_to_use")),1)),e("div",Fe,a(t.formatNumberTopic(s.baseTopic+"/get/phases_in_use")),1)])]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[6]||(o[6]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",Ae,[o[4]||(o[4]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Le,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",je,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Oe,[o[5]||(o[5]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ve,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",ze,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:i(()=>[e("div",Ee,[o[7]||(o[7]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),e("div",Me,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Re,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",De,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[2]),1)]),e("div",Ge,[o[8]||(o[8]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),e("div",He,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",Ze,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",Ke,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[2]),1)]),e("div",Je,[o[9]||(o[9]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",Ue,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Qe,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",Xe,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)]),e("div",Ye,[o[10]||(o[10]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",et,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",tt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",st,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)]),e("div",ot,[o[11]||(o[11]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),e("div",at,a(t.formatNumberTopic(s.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1})}const ut=y(we,[["render",pt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);w.add(x,W,k,K);const ht={name:"CounterCard",components:{FontAwesomeIcon:T},mixins:[f],props:{counter:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},mt={key:0,class:"text-right"},gt={key:0},bt={key:1},_t={class:"row"},vt={class:"col text-right text-monospace pl-0"},ft={class:"col text-right text-monospace pl-0"},yt={class:"row"},wt={class:"col text-right text-monospace pl-0"},Tt={class:"col text-right text-monospace pl-0"},xt={class:"row"},Wt={class:"col"},kt={class:"row"},St={class:"col text-right text-monospace pl-0"},Bt={class:"col text-right text-monospace pl-0"},Ct={class:"col text-right text-monospace pl-0"},Nt={class:"row"},$t={class:"col"},Pt={class:"row"},qt={class:"col text-right text-monospace pl-0"},It={class:"col text-right text-monospace pl-0"},Ft={class:"col text-right text-monospace pl-0"},At={class:"row"},Lt={class:"col"},jt={class:"row"},Ot={class:"col text-right text-monospace pl-0"},Vt={class:"col text-right text-monospace pl-0"},zt={class:"col text-right text-monospace pl-0"},Et={class:"row"},Mt={class:"col"},Rt={class:"row"},Dt={class:"col text-right text-monospace pl-0"},Gt={class:"col text-right text-monospace pl-0"},Ht={class:"col text-right text-monospace pl-0"},Zt={class:"container"},Kt={class:"row"},Jt={class:"col px-0"},Ut={style:{"white-space":"pre-wrap"}},Qt={class:"col col-auto pr-0"},Xt={class:"text-right"};function Yt(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"danger",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","gauge-high"]}),m(" "+a(u.counter.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",mt,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",gt,"Warnung")):(r(),n("div",bt,"Fehler"))],2))]),footer:i(()=>[e("div",Zt,[e("div",Kt,[e("div",Jt,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[6]||(o[6]=m(" Modulmeldung: ")),e("span",Ut,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Qt,[e("div",Xt,"ID: "+a(u.counter.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),e("div",_t,[e("div",vt,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)+" kW"),1),e("div",ft,a(t.formatNumberTopic(s.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Export"),e("div",{class:"col-6 text-right"},"Import")],-1)),e("div",yt,[e("div",wt,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),e("div",Tt,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",xt,[o[2]||(o[2]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),e("div",Wt,[e("div",kt,[e("div",St,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Bt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Ct,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[2]),1)])])]),e("div",Nt,[o[3]||(o[3]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),e("div",$t,[e("div",Pt,[e("div",qt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",It,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",Ft,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[2]),1)])])]),e("div",At,[o[4]||(o[4]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",Lt,[e("div",jt,[e("div",Ot,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Vt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",zt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)])])]),e("div",Et,[o[5]||(o[5]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",Mt,[e("div",Rt,[e("div",Dt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",Gt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",Ht,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)])])])]),_:1})]),_:1})}const es=y(ht,[["render",Yt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);w.add(x,W,k,I);const ts={name:"InverterSumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/pv"}}}},ss={key:0,class:"text-right"},os={key:0},as={key:1},is={class:"row"},rs={class:"col text-right text-monospace"},cs={class:"col text-right text-monospace"},ns={class:"row"},ls={class:"col text-right text-monospace"},ds={class:"col text-right text-monospace"},ps={class:"col text-right text-monospace"},us={class:"container"},hs={class:"row"},ms={class:"col px-0"},gs={style:{"white-space":"pre-wrap"}};function bs(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"success",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","solar-panel"]}),o[0]||(o[0]=m(" Alle Wechselrichter "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",ss,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",os,"Warnung")):(r(),n("div",as,"Fehler"))],2))]),footer:i(()=>[e("div",us,[e("div",hs,[e("div",ms,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[3]||(o[3]=m(" Modulmeldung: ")),e("span",gs,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",is,[e("div",rs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",cs,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ns,[e("div",ls,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ds,a(t.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ps,a(t.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1})}const _s=y(ts,[["render",bs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);w.add(x,W,k,I);const vs={name:"InverterCard",components:{FontAwesomeIcon:T},mixins:[f],props:{inverter:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},fs={key:0,class:"text-right"},ys={key:0},ws={key:1},Ts={class:"row"},xs={class:"col text-right text-monospace"},Ws={class:"col text-right text-monospace"},ks={class:"row"},Ss={class:"col text-right text-monospace"},Bs={class:"col text-right text-monospace"},Cs={class:"col text-right text-monospace"},Ns={class:"container"},$s={class:"row"},Ps={class:"col px-0"},qs={style:{"white-space":"pre-wrap"}},Is={class:"col col-auto pr-0"},Fs={class:"text-right"};function As(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"success",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","solar-panel"]}),m(" "+a(u.inverter.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",fs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",ys,"Warnung")):(r(),n("div",ws,"Fehler"))],2))]),footer:i(()=>[e("div",Ns,[e("div",$s,[e("div",Ps,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[2]||(o[2]=m(" Modulmeldung: ")),e("span",qs,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Is,[e("div",Fs,"ID: "+a(u.inverter.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",Ts,[e("div",xs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Ws,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ks,[e("div",Ss,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",Bs,a(t.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",Cs,a(t.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1})}const Ls=y(vs,[["render",As],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);w.add(x,W,k,F);const js={name:"BatterySumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/bat"}}}},Os={key:0,class:"text-right"},Vs={key:0},zs={key:1},Es={class:"row"},Ms={class:"col text-right text-monospace pl-0"},Rs={class:"col text-right text-monospace pl-0"},Ds={class:"row"},Gs={class:"col text-right text-monospace"},Hs={class:"col text-right text-monospace"},Zs={class:"row"},Ks={class:"col text-right text-monospace"},Js={class:"col text-right text-monospace"},Us={style:{"white-space":"pre-wrap"}};function Qs(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"warning",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car-battery"]}),o[0]||(o[0]=m(" Alle Speicher "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Os,a(t.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",Vs,"Warnung")):(r(),n("div",zs,"Fehler"))],2))]),footer:i(()=>[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[5]||(o[5]=m(" Modulmeldung: ")),e("span",Us,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",Es,[e("div",Ms,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Rs,a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[4]||(o[4]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",Ds,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Gs,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Hs,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Zs,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ks,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Js,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1})}const Xs=y(js,[["render",Qs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);w.add(x,W,k,F);const Ys={name:"BatteryCard",components:{FontAwesomeIcon:T},mixins:[f],props:{battery:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},eo={key:0,class:"text-right"},to={key:0},so={key:1},oo={class:"row"},ao={class:"col text-right text-monospace pl-0"},io={class:"col text-right text-monospace pl-0"},ro={class:"row"},co={class:"col text-right text-monospace"},no={class:"col text-right text-monospace"},lo={class:"row"},po={class:"col text-right text-monospace"},uo={class:"col text-right text-monospace"},ho={class:"container"},mo={class:"row"},go={class:"col px-0"},bo={style:{"white-space":"pre-wrap"}},_o={class:"col col-auto pr-0"},vo={class:"text-right"};function fo(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"warning",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car-battery"]}),m(" "+a(u.battery.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",eo,a(t.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",to,"Warnung")):(r(),n("div",so,"Fehler"))],2))]),footer:i(()=>[e("div",ho,[e("div",mo,[e("div",go,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[4]||(o[4]=m(" Modulmeldung: ")),e("span",bo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",_o,[e("div",vo,"ID: "+a(u.battery.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",oo,[e("div",ao,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",io,a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",ro,[o[1]||(o[1]=e("div",{class:"col text-right"},"Heute",-1)),e("div",co,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",no,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",lo,[o[2]||(o[2]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",po,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",uo,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1})}const yo=y(Ys,[["render",fo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);w.add(x,W,k,J);const wo={name:"RippleControlReceiverCard",components:{FontAwesomeIcon:T},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"]}},computed:{baseTopic:{get(){return"openWB/general/ripple_control_receiver"}}}},To={class:"row"},xo={key:0,class:"col"},Wo={key:1,class:"col"},ko={style:{"white-space":"pre-wrap"}};function So(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return t.$store.state.mqtt[s.baseTopic+"/module"]&&t.$store.state.mqtt[s.baseTopic+"/module"].type?(r(),b(d,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{icon:["fas","tower-broadcast"]}),o[0]||(o[0]=m(" Steuerbare Verbrauchseinrichtung (RSE) "))]),footer:i(()=>[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[2]||(o[2]=m(" Modulmeldung: ")),e("span",ko,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",To,[o[1]||(o[1]=e("div",{class:"col"},"Status",-1)),t.$store.state.mqtt[s.baseTopic+"/get/override_value"]==0?(r(),n("div",xo," Laden gesperrt ")):(r(),n("div",Wo," Laden erlaubt ("+a(t.$store.state.mqtt[s.baseTopic+"/get/override_value"])+" %) ",1))])]),_:1})]),_:1})):B("",!0)}const Bo=y(wo,[["render",So],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);w.add(x,W,k,U);const Co={name:"VehicleCard",components:{FontAwesomeIcon:T},mixins:[f],props:{vehicle:{type:Object,required:!1,default:void 0},vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]):0}},getVehicleStatus:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/fault_state"]===void 0?"success":this.statusLevel[this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/fault_state"]]||"success"}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},No={key:0,class:"text-right"},$o={key:0},Po={key:0},qo={key:1},Io={class:"row"},Fo={class:"col text-right text-monospace"},Ao={class:"col text-right text-monospace"},Lo={class:"col text-right text-monospace"},jo={class:"container"},Oo={class:"row"},Vo={class:"col px-0"},zo={style:{"white-space":"pre-wrap"}},Eo={class:"col col-auto pr-0"},Mo={class:"text-right"};function Ro(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"info",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car"]}),m(" "+a(u.vehicleName),1)]),actions:i(()=>[s.getVehicleStatus=="success"?(r(),n("div",No,[s.soc!="-"?(r(),n("div",$o,a(s.soc)+" %",1)):B("",!0)])):(r(),n("span",{key:1,class:S(["subheader pill","bg-"+s.getVehicleStatus])},[s.getVehicleStatus=="warning"?(r(),n("div",Po,"Warnung")):(r(),n("div",qo,"Fehler"))],2))]),footer:i(()=>[e("div",jo,[e("div",Oo,[e("div",Vo,[c(h,{subtype:s.getVehicleStatus},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[1]||(o[1]=m(" Modulmeldung: ")),e("span",zo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Eo,[e("div",Mo,"ID: "+a(s.vehicleIndex),1)])])])]),default:i(()=>[c(d,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col pr-0 text-right"},"Ladestand"),e("div",{class:"col pr-0 text-right"},"Reichweite"),e("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),e("div",Io,[e("div",Fo,a(s.soc)+" %",1),e("div",Ao,a(s.socRange)+" km",1),e("div",Lo,a(s.socTimestamp),1)])]),_:1})]),_:1})}const Do=y(Co,[["render",Ro],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);w.add(x,W,k,Q);X.register(Y,ee,te,se,oe,ae,ie,re,ce);const Go={name:"ElectricityTariffCard",components:{ChartjsLine:ne,FontAwesomeIcon:T},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const t=this.$store.state.mqtt["openWB/optional/et/provider"];return t!==void 0?t.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var t=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[_,s]of Object.entries(t))o.push({timestamp:_*1e3,price:s*1e5});const g=o.slice(-1)[0];o.push({timestamp:g.timestamp+(60*60-1)*1e3,price:g.price})}const u=this.chartDatasets;return u.datasets[0].data=o,u},currentPrice(){return this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},Ho={key:0,class:"text-right"},Zo={key:0},Ko={key:1},Jo={class:"openwb-chart"},Uo={style:{"white-space":"pre-wrap"}};function Qo(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("chartjs-line"),h=l("openwb-base-card"),P=l("openwb-base-alert");return s.electricityTariffConfigured?(r(),b(h,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","ranking-star"]}),o[0]||(o[0]=m(" Variabler Stromtarif "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Ho,a(s.currentPrice)+" ct/kWh ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",Zo,"Warnung")):(r(),n("div",Ko,"Fehler"))],2))]),footer:i(()=>[c(P,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[1]||(o[1]=m(" Modulmeldung: ")),e("span",Uo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(h,{title:"Anbieter: "+t.$store.state.mqtt[s.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",Jo,[s.chartDataRead?(r(),b(d,{key:0,ref:"myChart",data:s.chartDataObject,options:_.chartOptions},null,8,["data","options"])):B("",!0)])]),_:1},8,["title"])]),_:1})):B("",!0)}const Xo=y(Go,[["render",Qo],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const Yo={name:"OpenwbStatusView",components:{ChargePointSumCard:ye,ChargePointCard:ut,CounterCard:es,InverterSumCard:_s,InverterCard:Ls,BatterySumCard:Xs,BatteryCard:yo,RippleControlReceiverCard:Bo,VehicleCard:Do,ElectricityTariffCard:Xo},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported","openWB/chargepoint/+/config","openWB/chargepoint/+/get/+","openWB/chargepoint/+/get/connected_vehicle/info","openWB/chargepoint/+/set/+","openWB/internal_chargepoint/+/data/phases_to_use","openWB/system/device/+/component/+/config","openWB/counter/+/get/+","openWB/pv/get/+","openWB/pv/+/get/+","openWB/bat/get/+","openWB/bat/+/get/+","openWB/vehicle/+/name","openWB/vehicle/+/get/+"]}},computed:{installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[u,g]of Object.entries(t))(g.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[u]=g);return o}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(t,o){return Object.keys(t).filter(u=>t[u].type.includes(o)).reduce((u,g)=>({...u,[g]:t[g]}),{})}}},ea={class:"status"};function ta(t,o,u,g,_,s){const p=l("charge-point-sum-card"),d=l("charge-point-card"),h=l("counter-card"),P=l("inverter-sum-card"),A=l("inverter-card"),L=l("battery-sum-card"),j=l("battery-card"),O=l("vehicle-card"),V=l("electricity-tariff-card"),z=l("ripple-control-receiver-card");return r(),n("div",ea,[s.numChargePointsInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(p,{key:0})):B("",!0),(r(!0),n(N,null,$(s.installedChargePoints,(v,C)=>(r(),b(d,{key:C,"installed-charge-point":v,"installed-charge-point-key":C},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(r(!0),n(N,null,$(s.counterConfigs,v=>(r(),b(h,{key:v.id,counter:v},null,8,["counter"]))),128)),s.numInvertersInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(P,{key:1})):B("",!0),(r(!0),n(N,null,$(s.inverterConfigs,v=>(r(),b(A,{key:v.id,inverter:v},null,8,["inverter"]))),128)),s.numBatteriesInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(L,{key:2})):B("",!0),(r(!0),n(N,null,$(s.batteryConfigs,v=>(r(),b(j,{key:v.id,battery:v},null,8,["battery"]))),128)),(r(!0),n(N,null,$(s.vehicleNames,(v,C)=>(r(),b(O,{key:C,"vehicle-key":C,"vehicle-name":v},null,8,["vehicle-key","vehicle-name"]))),128)),c(V),c(z)])}const pa=y(Yo,[["render",ta],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{pa as default}; diff --git a/web/settings/assets/Status-4891b01c.js b/web/settings/assets/Status-4891b01c.js deleted file mode 100644 index 441af0ad0e..0000000000 --- a/web/settings/assets/Status-4891b01c.js +++ /dev/null @@ -1 +0,0 @@ -import{C as y}from"./index-e7db68ea.js";import{l as T,K as q,L as P,c as S,F as w,M as A,N as D,O as G,P as H,Q as Z,R as F,S as K,T as J,U,V as I,W as L,X as Q,Y as X,Z as Y}from"./vendor-fortawesome-979a7935.js";import{_ as v,u as i,l as d,z as g,D as j,E as r,x as e,m as f,G as n,y as u,F as a,B as x,p as $,q as ee,N as B,M as N}from"./vendor-0c15df0c.js";import{C as te,p as se,a as oe,L as ae,b as re,P as ie,c as ne,T as ce,i as de,d as le,e as pe}from"./vendor-chartjs-53af3b3a.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-luxon-8ddd27a0.js";T.add(q,P,S);const me={name:"StatusCard",components:{FontAwesomeIcon:w},props:{subtype:{type:String,required:!0},state:{type:Number,required:!1,default:0},stateMessage:{type:String,required:!1,default:void 0},componentId:{type:Number,required:!1,default:void 0}},computed:{stateClass(){switch(this.state){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}},stateIcon(){switch(this.state){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},ue={class:"text-right"},ge={class:"container"},he={class:"row justify-content-end"},be={key:0,class:"col px-0"},_e={style:{"white-space":"pre-wrap"}},fe={key:1,class:"col col-auto pr-0"},ve={class:"text-right"};function ye(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-alert"),m=i("openwb-base-card");return d(),g(m,{subtype:c.subtype,collapsible:!0,collapsed:!0,class:"pb-0"},j({header:r(()=>[$(s.$slots,"header-left")]),actions:r(()=>[e("div",ue,[$(s.$slots,"header-right")]),n(p,{class:ee([c.state===0?`text-${c.subtype}`:"","ml-1"]),"fixed-width":"",icon:t.stateIcon},null,8,["class","icon"])]),default:r(()=>[$(s.$slots,"default")]),_:2},[c.componentId!==void 0||c.stateMessage?{name:"footer",fn:r(()=>[e("div",ge,[e("div",he,[c.stateMessage?(d(),f("div",be,[n(l,{subtype:t.stateClass},{default:r(()=>[n(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[0]||(o[0]=u(" Modulmeldung: ")),e("span",_e,a(c.stateMessage),1)]),_:1},8,["subtype"])])):x("",!0),c.componentId!==void 0?(d(),f("div",fe,[e("div",ve,"ID: "+a(c.componentId),1)])):x("",!0)])])]),key:"0"}:void 0]),1032,["subtype"])}const W=v(me,[["render",ye],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/StatusCard.vue"]]);T.add(A);const Te={name:"ChargePointSumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported"]}},computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},we={class:"text-right"},xe={class:"row"},We={class:"col text-right text-monospace"},ke={class:"row"},Ce={class:"col-4 text-right text-monospace"},Be={class:"col-4 text-right text-monospace"},Ne={class:"row"},$e={class:"col-4 text-right text-monospace"},qe={class:"col-4 text-right text-monospace"};function Pe(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"primary"},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","charging-station"]}),o[0]||(o[0]=u(" Alle Ladepunkte "))]),"header-right":r(()=>[e("span",we,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:r(()=>[n(l,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row py-2"},[e("div",{class:"col font-weight-bold"},"Ladevorgang"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",xe,[e("div",We,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),n(l,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[4]||(o[4]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",ke,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Ce,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),e("div",Be,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),e("div",Ne,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",$e,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),e("div",qe,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const Se=v(Te,[["render",Pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);T.add(A,D,G,H,Z,F,K,J);const Ae={name:"ChargePointCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/chargepoint/${this.installedChargePoint.id}/get/+`,`"openWB/chargepoint/${this.installedChargePoint.id}/get/connected_vehicle/info`,`"openWB/chargepoint/${this.installedChargePoint.id}/set/+`,`"openWB/internal_chargepoint/${this.installedChargePoint.id}/data/phases_to_use`]}},computed:{chargePointIndex:{get(){return this.installedChargePoint.id}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let s=this.$store.state.mqtt[this.baseTopic+"/get/plug_state"],o=this.$store.state.mqtt[this.baseTopic+"/get/charge_state"];return s==1&&o==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:s==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Ie={class:"row py-2"},Le={class:"col text-right"},je={style:{"white-space":"pre-wrap"}},Oe={class:"row"},ze={class:"col text-right text-monospace"},Ee={class:"col text-right text-monospace"},Re={class:"row"},Ve={key:0,class:"col text-right text-monospace"},Me={key:1,class:"col text-right text-monospace"},De={class:"col text-right text-monospace"},Ge={class:"row"},He={class:"col-4 text-right text-monospace"},Ze={class:"col-4 text-right text-monospace"},Fe={class:"row"},Ke={class:"col-4 text-right text-monospace"},Je={class:"col-4 text-right text-monospace"},Ue={class:"row"},Qe={class:"col text-right text-monospace"},Xe={class:"col text-right text-monospace"},Ye={class:"col text-right text-monospace"},et={class:"row"},tt={class:"col text-right text-monospace"},st={class:"col text-right text-monospace"},ot={class:"col text-right text-monospace"},at={class:"row"},rt={class:"col text-right text-monospace"},it={class:"col text-right text-monospace"},nt={class:"col text-right text-monospace"},ct={class:"row"},dt={class:"col text-right text-monospace"},lt={class:"col text-right text-monospace"},pt={class:"col text-right text-monospace"},mt={class:"row"},ut={class:"col text-center text-monospace"};function gt(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-alert"),m=i("openwb-base-card"),k=i("status-card");return d(),g(k,{subtype:"primary","component-id":t.chargePointIndex,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","charging-station"]}),u(" "+a(c.installedChargePoint.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",Ie,[o[0]||(o[0]=e("div",{class:"col col-auto font-weight-bold"},"Status",-1)),e("div",Le,[n(p,{"fixed-width":"",icon:t.chargingStatus.icon,title:t.chargingStatus.text},null,8,["icon","title"]),u(" "+a(t.chargingStatus.text),1)])]),n(l,{subtype:"info"},{default:r(()=>[o[1]||(o[1]=u(" Statusmeldung: ")),e("span",je,a(s.$store.state.mqtt[t.baseTopic+"/get/state_str"]),1)]),_:1}),e("div",null," max. Ladeleistung: "+a((s.max_power=s.formatNumberTopic("openWB/chargepoint/"+t.chargePointIndex+"/get/max_evse_current",0))=="-"?s.max_power:Math.floor(s.max_power*3*230/1e3))+" kW ",1)]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:r(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Ladestrom Vorgabe"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",Oe,[e("div",ze,a(s.formatNumberTopic(t.baseTopic+"/set/current",2))+" A",1),e("div",Ee,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Phasen Vorgabe"),e("div",{class:"col text-right"},"Phasen Aktuell")],-1)),e("div",Re,[s.$store.state.mqtt["openWB/general/extern"]===!0?(d(),f("div",Ve,a(s.formatNumberTopic("openWB/internal_chargepoint/"+t.chargePointIndex+"/data/phases_to_use")),1)):(d(),f("div",Me,a(s.formatNumberTopic(t.baseTopic+"/set/phases_to_use")),1)),e("div",De,a(s.formatNumberTopic(t.baseTopic+"/get/phases_in_use")),1)])]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[6]||(o[6]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",Ge,[o[4]||(o[4]=e("div",{class:"col text-right"},"Heute",-1)),e("div",He,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Ze,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Fe,[o[5]||(o[5]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ke,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Je,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(m,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:r(()=>[e("div",Ue,[o[7]||(o[7]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),e("div",Qe,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Xe,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Ye,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[2]),1)]),e("div",et,[o[8]||(o[8]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),e("div",tt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",st,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",ot,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[2]),1)]),e("div",at,[o[9]||(o[9]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",rt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",it,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",nt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)]),e("div",ct,[o[10]||(o[10]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",dt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",lt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",pt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)]),e("div",mt,[o[11]||(o[11]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),e("div",ut,a(s.formatNumberTopic(t.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const ht=v(Ae,[["render",gt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);T.add(U);const bt={name:"CounterCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{counter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/counter/${this.counter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},_t={class:"row"},ft={class:"col text-right text-monospace pl-0"},vt={class:"col text-right text-monospace pl-0"},yt={class:"row"},Tt={class:"col text-right text-monospace pl-0"},wt={class:"col text-right text-monospace pl-0"},xt={class:"row"},Wt={class:"col"},kt={class:"row"},Ct={class:"col text-right text-monospace pl-0"},Bt={class:"col text-right text-monospace pl-0"},Nt={class:"col text-right text-monospace pl-0"},$t={class:"row"},qt={class:"col"},Pt={class:"row"},St={class:"col text-right text-monospace pl-0"},At={class:"col text-right text-monospace pl-0"},It={class:"col text-right text-monospace pl-0"},Lt={class:"row"},jt={class:"col"},Ot={class:"row"},zt={class:"col text-right text-monospace pl-0"},Et={class:"col text-right text-monospace pl-0"},Rt={class:"col text-right text-monospace pl-0"},Vt={class:"row"},Mt={class:"col"},Dt={class:"row"},Gt={class:"col text-right text-monospace pl-0"},Ht={class:"col text-right text-monospace pl-0"},Zt={class:"col text-right text-monospace pl-0"};function Ft(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"danger","component-id":c.counter.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","gauge-high"]}),u(" "+a(c.counter.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),e("div",_t,[e("div",ft,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001)+" kW"),1),e("div",vt,a(s.formatNumberTopic(t.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Export"),e("div",{class:"col-6 text-right"},"Import")],-1)),e("div",yt,[e("div",Tt,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),e("div",wt,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),n(l,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",xt,[o[2]||(o[2]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),e("div",Wt,[e("div",kt,[e("div",Ct,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Bt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Nt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/voltages",1).split(" / ")[2]),1)])])]),e("div",$t,[o[3]||(o[3]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),e("div",qt,[e("div",Pt,[e("div",St,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",At,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",It,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/currents",2).split(" / ")[2]),1)])])]),e("div",Lt,[o[4]||(o[4]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",jt,[e("div",Ot,[e("div",zt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Et,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",Rt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)])])]),e("div",Vt,[o[5]||(o[5]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",Mt,[e("div",Dt,[e("div",Gt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",Ht,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",Zt,a(s.formatPhaseArrayNumberTopic(t.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Kt=v(bt,[["render",Ft],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);T.add(I);const Jt={name:"InverterSumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/pv/get/+"]}},computed:{baseTopic:{get(){return"openWB/pv"}}}},Ut={class:"row"},Qt={class:"col text-right text-monospace"},Xt={class:"col text-right text-monospace"},Yt={class:"row"},es={class:"col text-right text-monospace"},ts={class:"col text-right text-monospace"},ss={class:"col text-right text-monospace"};function os(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"success",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","solar-panel"]}),o[0]||(o[0]=u(" Alle Wechselrichter "))]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",Ut,[e("div",Qt,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Xt,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(l,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",Yt,[e("div",es,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ts,a(s.formatNumberTopic(t.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ss,a(s.formatNumberTopic(t.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const as=v(Jt,[["render",os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);T.add(I);const rs={name:"InverterCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{inverter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/pv/${this.inverter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},is={class:"row"},ns={class:"col text-right text-monospace"},cs={class:"col text-right text-monospace"},ds={class:"row"},ls={class:"col text-right text-monospace"},ps={class:"col text-right text-monospace"},ms={class:"col text-right text-monospace"};function us(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"success","component-id":c.inverter.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","solar-panel"]}),u(" "+a(c.inverter.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",is,[e("div",ns,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",cs,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),n(l,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ds,[e("div",ls,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ps,a(s.formatNumberTopic(t.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ms,a(s.formatNumberTopic(t.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const gs=v(rs,[["render",us],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);T.add(L);const hs={name:"BatterySumCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/bat/get/+"]}},computed:{baseTopic:{get(){return"openWB/bat"}}}},bs={class:"row"},_s={class:"col text-right text-monospace pl-0"},fs={class:"col text-right text-monospace pl-0"},vs={class:"row"},ys={class:"col text-right text-monospace"},Ts={class:"col text-right text-monospace"},ws={class:"row"},xs={class:"col text-right text-monospace"},Ws={class:"col text-right text-monospace"};function ks(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"warning",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car-battery"]}),o[0]||(o[0]=u(" Alle Speicher "))]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",bs,[e("div",_s,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",fs,a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" %",1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[4]||(o[4]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",vs,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",ys,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Ts,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",ws,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",xs,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Ws,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["state","state-message"])}const Cs=v(hs,[["render",ks],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);T.add(L);const Bs={name:"BatteryCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{battery:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/bat/${this.battery.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},Ns={class:"row"},$s={class:"col text-right text-monospace pl-0"},qs={class:"col text-right text-monospace pl-0"},Ps={class:"row"},Ss={class:"col text-right text-monospace"},As={class:"col text-right text-monospace"},Is={class:"row"},Ls={class:"col text-right text-monospace"},js={class:"col text-right text-monospace"};function Os(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"warning","component-id":c.battery.id,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car-battery"]}),u(" "+a(c.battery.name),1)]),"header-right":r(()=>[u(a(s.formatNumberTopic(t.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",Ns,[e("div",$s,a(s.formatNumberTopic(t.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",qs,a(s.$store.state.mqtt[t.baseTopic+"/get/soc"])+" %",1)])]),_:1}),n(l,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",Ps,[o[1]||(o[1]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Ss,a(s.formatNumberTopic(t.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",As,a(s.formatNumberTopic(t.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Is,[o[2]||(o[2]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ls,a(s.formatNumberTopic(t.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",js,a(s.formatNumberTopic(t.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const zs=v(Bs,[["render",Os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);T.add(q,P,S,Q);const Es={name:"RippleControlReceiverCard",components:{FontAwesomeIcon:w},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"]}},computed:{baseTopic:{get(){return"openWB/general/ripple_control_receiver"}}}},Rs={class:"row"},Vs={key:0,class:"col"},Ms={key:1,class:"col"},Ds={style:{"white-space":"pre-wrap"}};function Gs(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("openwb-base-alert");return s.$store.state.mqtt[t.baseTopic+"/module"]&&s.$store.state.mqtt[t.baseTopic+"/module"].type?(d(),g(l,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:r(()=>[n(p,{icon:["fas","tower-broadcast"]}),o[0]||(o[0]=u(" Steuerbare Verbrauchseinrichtung (RSE) "))]),footer:r(()=>[n(m,{subtype:s.getFaultStateSubtype(t.baseTopic)},{default:r(()=>[n(p,{"fixed-width":"",icon:s.stateIcon},null,8,["icon"]),o[2]||(o[2]=u(" Modulmeldung: ")),e("span",Ds,a(s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:r(()=>[n(l,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",Rs,[o[1]||(o[1]=e("div",{class:"col"},"Status",-1)),s.$store.state.mqtt[t.baseTopic+"/get/override_value"]==0?(d(),f("div",Vs," Laden gesperrt ")):(d(),f("div",Ms," Laden erlaubt ("+a(s.$store.state.mqtt[t.baseTopic+"/get/override_value"])+" %) ",1))])]),_:1})]),_:1})):x("",!0)}const Hs=v(Es,[["render",Gs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);T.add(X);const Zs={name:"VehicleCard",components:{StatusCard:W,FontAwesomeIcon:w},mixins:[y],props:{vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},data(){return{mqttTopicsToSubscribe:["openWB/vehicle/+/get/+"]}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt[this.baseTopic+"/get/range"]):0}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},Fs={class:"row"},Ks={class:"col text-right text-monospace"},Js={class:"col text-right text-monospace"},Us={class:"col text-right text-monospace"};function Qs(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("openwb-base-card"),m=i("status-card");return d(),g(m,{subtype:"info","component-id":t.vehicleIndex,state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},j({"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","car"]}),u(" "+a(c.vehicleName),1)]),default:r(()=>[n(l,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col pr-0 text-right"},"Ladestand"),e("div",{class:"col pr-0 text-right"},"Reichweite"),e("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),e("div",Fs,[e("div",Ks,a(t.soc)+" %",1),e("div",Js,a(t.socRange)+" km",1),e("div",Us,a(t.socTimestamp),1)])]),_:1})]),_:2},[t.soc!="-"?{name:"header-right",fn:r(()=>[u(a(t.soc)+" % ",1)]),key:"0"}:void 0]),1032,["component-id","state","state-message"])}const Xs=v(Zs,[["render",Qs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);T.add(Y);te.register(se,oe,ae,re,ie,ne,ce,de,le);const Ys={name:"ElectricityTariffCard",components:{StatusCard:W,FontAwesomeIcon:w,ChartjsLine:pe},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const s=this.$store.state.mqtt["openWB/optional/et/provider"];return s!==void 0?s.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var s=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[b,t]of Object.entries(s))o.push({timestamp:b*1e3,price:t*1e5});const h=o.slice(-1)[0];o.push({timestamp:h.timestamp+(60*60-1)*1e3,price:h.price})}const c=this.chartDatasets;return c.datasets[0].data=o,c},currentPrice(){return this.chartDataObject.datasets[0].data===void 0||this.chartDataObject.datasets[0].data.length===0?this.formatNumber(0,2):this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},eo={class:"openwb-chart"};function to(s,o,c,h,b,t){const p=i("font-awesome-icon"),l=i("chartjs-line"),m=i("openwb-base-card"),k=i("status-card");return t.electricityTariffConfigured?(d(),g(k,{key:0,subtype:"secondary",state:s.$store.state.mqtt[t.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[t.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[n(p,{"fixed-width":"",icon:["fas","ranking-star"]}),o[0]||(o[0]=u(" Variabler Stromtarif "))]),"header-right":r(()=>[u(a(t.currentPrice)+" ct/kWh",1)]),default:r(()=>[n(m,{title:"Anbieter: "+s.$store.state.mqtt[t.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[e("div",eo,[t.chartDataRead?(d(),g(l,{key:0,ref:"myChart",data:t.chartDataObject,options:b.chartOptions},null,8,["data","options"])):x("",!0)])]),_:1},8,["title"])]),_:1},8,["state","state-message"])):x("",!0)}const so=v(Ys,[["render",to],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const oo={name:"OpenwbStatusView",components:{ChargePointSumCard:Se,ChargePointCard:ht,CounterCard:Kt,InverterSumCard:as,InverterCard:gs,BatterySumCard:Cs,BatteryCard:zs,RippleControlReceiverCard:Hs,VehicleCard:Xs,ElectricityTariffCard:so},mixins:[y],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/chargepoint/+/config"]}},computed:{installedChargePoints:{get(){let s=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[c,h]of Object.entries(s))(h.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[c]=h);return o}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(s,o){return Object.keys(s).filter(c=>s[c].type.includes(o)).reduce((c,h)=>({...c,[h]:s[h]}),{})}}},ao={class:"status"};function ro(s,o,c,h,b,t){const p=i("charge-point-sum-card"),l=i("charge-point-card"),m=i("counter-card"),k=i("inverter-sum-card"),O=i("inverter-card"),z=i("battery-sum-card"),E=i("battery-card"),R=i("vehicle-card"),V=i("electricity-tariff-card"),M=i("ripple-control-receiver-card");return d(),f("div",ao,[t.numChargePointsInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(p,{key:0})):x("",!0),(d(!0),f(B,null,N(t.installedChargePoints,(_,C)=>(d(),g(l,{key:C,"installed-charge-point":_,"installed-charge-point-key":C},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(d(!0),f(B,null,N(t.counterConfigs,_=>(d(),g(m,{key:_.id,counter:_},null,8,["counter"]))),128)),t.numInvertersInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(k,{key:1})):x("",!0),(d(!0),f(B,null,N(t.inverterConfigs,_=>(d(),g(O,{key:_.id,inverter:_},null,8,["inverter"]))),128)),t.numBatteriesInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(z,{key:2})):x("",!0),(d(!0),f(B,null,N(t.batteryConfigs,_=>(d(),g(E,{key:_.id,battery:_},null,8,["battery"]))),128)),(d(!0),f(B,null,N(t.vehicleNames,(_,C)=>(d(),g(R,{key:C,"vehicle-key":C,"vehicle-name":_},null,8,["vehicle-key","vehicle-name"]))),128)),s.$store.state.mqtt["openWB/general/extern"]===!1?(d(),g(V,{key:3})):x("",!0),n(M)])}const bo=v(oo,[["render",ro],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{bo as default}; diff --git a/web/settings/assets/Support-4efa4ffc.js b/web/settings/assets/Support-da96f8f8.js similarity index 98% rename from web/settings/assets/Support-4efa4ffc.js rename to web/settings/assets/Support-da96f8f8.js index b9419dcba9..d720ed533a 100644 --- a/web/settings/assets/Support-4efa4ffc.js +++ b/web/settings/assets/Support-da96f8f8.js @@ -1,3 +1,3 @@ -import{l as D,g as V,F as W}from"./vendor-fortawesome-979a7935.js";import{C as z}from"./index-e7db68ea.js";import{_ as A,u,l as f,m as c,x as r,z as k,E as s,G as o,D as C,B as w,y as n,q as F}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";D.add(V);const x={name:"OpenwbSupportView",components:{FontAwesomeIcon:W},mixins:[z],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,m;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",p=((m=t.info)==null?void 0:m.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${p} +import{l as D,g as V,F as W}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-8a28b331.js";import{_ as A,u,l as f,m as c,x as r,z as k,E as s,G as o,D as C,B as w,y as n,q as F}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";D.add(V);const x={name:"OpenwbSupportView",components:{FontAwesomeIcon:W},mixins:[z],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,m;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",p=((m=t.info)==null?void 0:m.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${p} `}return i.trim()},vehicleInfo(){if(this.vehicles!==void 0)return this.vehicles;let i="";const e=this.getWildcardTopics("openWB/vehicle/+/info");for(const[b,m]of Object.entries(e)){const t=parseInt(b.split("/")[2]);if(t!==0){const a=m.manufacturer||"N/A",d=m.model||"N/A";i+=`(${t}) Hersteller: ${a}, Modell: ${d} `}}return i.trim()}},methods:{sendDebugMessage(){if(document.forms.supportForm.reportValidity())this.$emit("sendCommand",{command:"sendDebug",data:this.debugData}),this.enableSendDebugButton=!1;else{console.warn("form invalid");return}}}},_={class:"support"},q={name:"supportForm"},I={key:1},N={key:0},T={class:"row justify-content-center"};function M(i,e,b,m,t,a){const d=u("router-link"),p=u("openwb-base-alert"),v=u("FontAwesomeIcon"),h=u("openwb-base-text-input"),g=u("openwb-base-textarea"),y=u("openwb-base-click-button"),B=u("openwb-base-card"),S=u("font-awesome-icon");return f(),c("div",_,[r("form",q,[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(f(),k(p,{key:0,subtype:"danger"},{default:s(()=>[e[6]||(e[6]=n(" Du musst der ")),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[5]||(e[5]=[n(" Datenschutzerklärung ")])),_:1}),e[7]||(e[7]=n(" zustimmen, um einen Systembericht senden zu können. "))]),_:1})):(f(),c("div",I,[o(p,{subtype:"success"},{default:s(()=>[e[9]||(e[9]=n(" Du hast der ")),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[8]||(e[8]=[n(" Datenschutzerklärung ")])),_:1}),e[10]||(e[10]=n(" zugestimmt und kannst Systemberichte senden. "))]),_:1}),o(B,{title:"Systembericht"},C({default:s(()=>[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?(f(),c("div",N,[o(p,{subtype:"info"},{default:s(()=>[r("ul",null,[r("li",null,[e[11]||(e[11]=n(" Lies bitte den Hilfetext, der durch Klick auf das ")),o(v,{icon:["far","question-circle"]}),e[12]||(e[12]=n(" angezeigt wird. Nimm das Wiki zur Hilfe. "))]),e[13]||(e[13]=r("li",null,'Vergewissere Dich , dass mindestens die aktuelle "Release" Version installiert ist.',-1)),e[14]||(e[14]=r("li",null," Stelle beim Absenden des Berichtes die Fehlerkonditionen her. Lädt ein Fahrzeug nicht, sollte es angeschlossen und nicht voll geladen sein. Ist PV laden betroffen, sollte die Sonne auch scheinen. Der Systembericht muss dann versendet werden, wenn der Fehler aktuell vorliegt. ",-1)),e[15]||(e[15]=r("li",null," Stelle sicher, dass der Lademodus gewählt ist und im Falle von nicht ladenden ladenden Fahrzeugen, dass der Ladepunkt auch entsperrt wurde. ",-1)),e[16]||(e[16]=r("li",null," Das Auslesen der Systemkonfiguration erfolgt direkt nach den Klick auf Absenden und kann einige Zeit in Anspruch nehmen. Du erhältst ca. 15 bis 30 Minuten nach Versand des Systemberichtes von uns automatisch eine E-Mail mit der Ticketnummer unter der die Anfrage bei uns registriert wurde. Wir melden uns bei Dir. Bitte kontrolliere daher immer auch den Spam Ordner auf eingehende Nachrichten. Erhältst Du trotzdem keine Ticketnummer, ist das Versenden des Systemberichtes vermutlich fehlgeschlagen. ",-1))])]),_:1}),o(h,{modelValue:t.email,"onUpdate:modelValue":e[0]||(e[0]=l=>t.email=l),title:"E-Mail",required:"",subtype:"email"},{help:s(()=>e[17]||(e[17]=[n(" Deine E-Mail-Adresse, an die der Support Dir antwortet. ")])),_:1},8,["modelValue"]),o(h,{title:"openWB Seriennummer",required:"","model-value":i.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=l=>i.updateState("openWB/system/serial_number",l))},{help:s(()=>e[18]||(e[18]=[n(" Die Seriennummer der openWB findest Du außen am, bei älteren Installationen innen im Gehäuse. Du kannst uns aber auch eine Bestellnummer oder Rechnungsnummer übermitteln. Das Gehäuse muss nicht extra geöffnet werden!"),r("br",null,null,-1),n(" Bei einer gekauften openWB wird die Seriennummer automatisch ermittelt. ")])),_:1},8,["model-value"]),o(g,{title:"Verwendete Komponenten",required:"",minlength:"3",maxlength:"500","model-value":a.installedComponents,"onUpdate:modelValue":e[2]||(e[2]=l=>t.components=l)},{help:s(()=>[e[20]||(e[20]=n(" Gib hier möglichst detailliert an, welche Anlagenkomponenten (EVU, PV, Speicher) angebunden sind.")),e[21]||(e[21]=r("br",null,null,-1)),o(d,{to:"/HardwareInstallation"},{default:s(()=>e[19]||(e[19]=[n(" Die Angaben können auch direkt in der Konfiguration der Komponenten dauerhaft gespeichert werden. ")])),_:1})]),_:1},8,["model-value"]),o(g,{title:"Fahrzeuge",required:"",minlength:"3",maxlength:"500","model-value":a.vehicleInfo,"onUpdate:modelValue":e[3]||(e[3]=l=>t.vehicles=l)},{help:s(()=>[e[23]||(e[23]=n(" Gib hier an, welche Fahrzeuge geladen (Hersteller, Modell, Baujahr).")),e[24]||(e[24]=r("br",null,null,-1)),o(d,{to:"/VehicleConfiguration"},{default:s(()=>e[22]||(e[22]=[n(" Die Angaben können auch direkt in der Konfiguration der Fahrzeuge dauerhaft gespeichert werden. ")])),_:1})]),_:1},8,["model-value"]),o(g,{modelValue:t.message,"onUpdate:modelValue":e[4]||(e[4]=l=>t.message=l),title:"Problembeschreibung",required:"",minlength:"20",maxlength:"500"},null,8,["modelValue"])])):w("",!0)]),_:2},[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:s(()=>[r("div",T,[o(y,{class:F(["col-4",t.enableSendDebugButton?"btn-success":"btn-outline-success"]),disabled:!t.enableSendDebugButton,onButtonClicked:a.sendDebugMessage},{default:s(()=>e[25]||(e[25]=[n(" Absenden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024),t.enableSendDebugButton?w("",!0):(f(),k(p,{key:0,subtype:"success"},{default:s(()=>[e[26]||(e[26]=n(" Die Daten für den Fehlerbericht werden im Hintergrund zusammengestellt. Du kannst diese Seite jetzt verlassen. ")),o(S,{"fixed-width":"",icon:["fas","check"]})]),_:1}))]))])])}const $=A(x,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Support.vue"]]);export{$ as default}; diff --git a/web/settings/assets/System-ec758260.js b/web/settings/assets/System-50c91ad7.js similarity index 98% rename from web/settings/assets/System-ec758260.js rename to web/settings/assets/System-50c91ad7.js index 69a450dc82..191fc5226c 100644 --- a/web/settings/assets/System-ec758260.js +++ b/web/settings/assets/System-50c91ad7.js @@ -1 +1 @@ -import{l as W,aj as q,p as A,aa as C,$ as S,ak as $,F as U}from"./vendor-fortawesome-979a7935.js";import{C as z}from"./index-e7db68ea.js";import{_ as E,u as b,l as c,m as w,z as B,E as o,B as y,G as s,x as l,y as i,q as _,N as F,M as j,F as T}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";W.add(q,A,C,S,$);const x={name:"OpenwbSystemView",components:{FontAwesomeIcon:U},mixins:[z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version","openWB/system/serial_number","openWB/system/ip_address","openWB/system/mac_address"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",u="master",v=[t,e],p=(a,d)=>a.value==d.value?0:a.value==t?-1:d.value==t?1:a.value==e?-1:d.value==e?1:a.value==u?-1:d.value==u||a.value>d.value?1:a.value[e[15]||(e[15]=l("h2",null,"Achtung!",-1)),e[16]||(e[16]=l("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),s(f,{modelValue:p.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>p.warningAcknowledged=n),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),p.warningAcknowledged||u.installAssistantActive?(c(),w("div",L,[s(d,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/serial_number"]=n),title:"Seriennummer",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/ip_address"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/ip_address"]=n),title:"IP-Adresse",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/mac_address"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/mac_address"]=n),title:"MAC-Adresse",readonly:""},null,8,["modelValue"])]),_:1}),l("form",N,[s(d,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!u.installAssistantActive},{footer:o(()=>[l("div",R,[l("div",Z,[s(h,{class:"btn-info",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[e[19]||(e[19]=i(" Informationen aktualisieren ")),s(g,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),l("div",O,[s(h,{class:_(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[9]||(e[9]=n=>r.systemUpdate())},{default:o(()=>[e[20]||(e[20]=i(" Update ")),s(g,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n),title:"Entwicklungszweig",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.$store.state.mqtt["openWB/system/version"]=n),title:"Bezeichnung",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[6]||(e[6]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n),title:"installierte Version",readonly:"",class:_(r.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n),title:"aktuellste Version",readonly:""},null,8,["modelValue"]),r.updateAvailable?(c(),B(d,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[l("ul",I,[(c(!0),w(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,V)=>(c(),w("li",{key:V},T(n),1))),128))])]),_:1})):y("",!0),s(m,{subtype:"danger"},{default:o(()=>e[17]||(e[17]=[i(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")])),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"?(c(),B(m,{key:1,subtype:"danger"},{default:o(()=>e[18]||(e[18]=[i(' Du bist nicht auf dem für den normalen Gebrauch empfohlenen Entwicklungszweig "Release". Wir empfehlen, auf diesen Zweig zu wechseln, sobald dort eine neue Version verfügbar ist.'),l("br",null,null,-1),i(" Bevor ein Update angestoßen wird, sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren. ")])),_:1})):y("",!0)]),_:1},8,["collapsed"])]),u.installAssistantActive?y("",!0):(c(),w("form",P,[s(d,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",G,[l("div",M,[s(h,{class:"btn-warning",onButtonClicked:e[10]||(e[10]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[e[22]||(e[22]=i(" Neustart ")),s(g,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),l("div",H,[s(h,{class:"btn-danger",onButtonClicked:e[11]||(e[11]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[e[23]||(e[23]=i(" Ausschalten ")),s(g,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[21]||(e[21]=[i(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1})])),u.installAssistantActive?y("",!0):(c(),w("form",J,[s(d,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",K,[l("div",Q,[s(h,{class:_(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[14]||(e[14]=n=>r.switchBranch())},{default:o(()=>[s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[26]||(e[26]=i(" Branch und Tag wechseln ")),s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[24]||(e[24]=[i(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")])),_:1}),s(m,{subtype:"warning"},{default:o(()=>e[25]||(e[25]=[i(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),l("br",null,null,-1),i(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),l("br",null,null,-1),i(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),l("br",null,null,-1),i(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),l("br",null,null,-1),i(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')])),_:1}),s(k,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[12]||(e[12]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(k,{modelValue:p.selectedTag,"onUpdate:modelValue":e[13]||(e[13]=n=>p.selectedTag=n),title:"Tag",options:r.getBranchTagOptions()},null,8,["modelValue","options"])]),_:1})]))])):y("",!0)])}const le=E(x,[["render",X],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{le as default}; +import{l as W,aj as q,p as A,aa as C,$ as S,ak as $,F as U}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-8a28b331.js";import{_ as E,u as b,l as c,m as w,z as B,E as o,B as y,G as s,x as l,y as i,q as _,N as F,M as j,F as T}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";W.add(q,A,C,S,$);const x={name:"OpenwbSystemView",components:{FontAwesomeIcon:U},mixins:[z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version","openWB/system/serial_number","openWB/system/ip_address","openWB/system/mac_address"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",u="master",v=[t,e],p=(a,d)=>a.value==d.value?0:a.value==t?-1:d.value==t?1:a.value==e?-1:d.value==e?1:a.value==u?-1:d.value==u||a.value>d.value?1:a.value[e[15]||(e[15]=l("h2",null,"Achtung!",-1)),e[16]||(e[16]=l("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),s(f,{modelValue:p.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>p.warningAcknowledged=n),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),p.warningAcknowledged||u.installAssistantActive?(c(),w("div",L,[s(d,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/serial_number"]=n),title:"Seriennummer",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/ip_address"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/ip_address"]=n),title:"IP-Adresse",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/mac_address"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/mac_address"]=n),title:"MAC-Adresse",readonly:""},null,8,["modelValue"])]),_:1}),l("form",N,[s(d,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!u.installAssistantActive},{footer:o(()=>[l("div",R,[l("div",Z,[s(h,{class:"btn-info",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[e[19]||(e[19]=i(" Informationen aktualisieren ")),s(g,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),l("div",O,[s(h,{class:_(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[9]||(e[9]=n=>r.systemUpdate())},{default:o(()=>[e[20]||(e[20]=i(" Update ")),s(g,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n),title:"Entwicklungszweig",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.$store.state.mqtt["openWB/system/version"]=n),title:"Bezeichnung",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[6]||(e[6]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n),title:"installierte Version",readonly:"",class:_(r.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n),title:"aktuellste Version",readonly:""},null,8,["modelValue"]),r.updateAvailable?(c(),B(d,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[l("ul",I,[(c(!0),w(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,V)=>(c(),w("li",{key:V},T(n),1))),128))])]),_:1})):y("",!0),s(m,{subtype:"danger"},{default:o(()=>e[17]||(e[17]=[i(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")])),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"?(c(),B(m,{key:1,subtype:"danger"},{default:o(()=>e[18]||(e[18]=[i(' Du bist nicht auf dem für den normalen Gebrauch empfohlenen Entwicklungszweig "Release". Wir empfehlen, auf diesen Zweig zu wechseln, sobald dort eine neue Version verfügbar ist.'),l("br",null,null,-1),i(" Bevor ein Update angestoßen wird, sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren. ")])),_:1})):y("",!0)]),_:1},8,["collapsed"])]),u.installAssistantActive?y("",!0):(c(),w("form",P,[s(d,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",G,[l("div",M,[s(h,{class:"btn-warning",onButtonClicked:e[10]||(e[10]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[e[22]||(e[22]=i(" Neustart ")),s(g,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),l("div",H,[s(h,{class:"btn-danger",onButtonClicked:e[11]||(e[11]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[e[23]||(e[23]=i(" Ausschalten ")),s(g,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[21]||(e[21]=[i(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1})])),u.installAssistantActive?y("",!0):(c(),w("form",J,[s(d,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",K,[l("div",Q,[s(h,{class:_(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[14]||(e[14]=n=>r.switchBranch())},{default:o(()=>[s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[26]||(e[26]=i(" Branch und Tag wechseln ")),s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[24]||(e[24]=[i(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")])),_:1}),s(m,{subtype:"warning"},{default:o(()=>e[25]||(e[25]=[i(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),l("br",null,null,-1),i(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),l("br",null,null,-1),i(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),l("br",null,null,-1),i(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),l("br",null,null,-1),i(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')])),_:1}),s(k,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[12]||(e[12]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(k,{modelValue:p.selectedTag,"onUpdate:modelValue":e[13]||(e[13]=n=>p.selectedTag=n),title:"Tag",options:r.getBranchTagOptions()},null,8,["modelValue","options"])]),_:1})]))])):y("",!0)])}const le=E(x,[["render",X],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{le as default}; diff --git a/web/settings/assets/TestingStore-bf798932.js b/web/settings/assets/TestingStore-df8399d2.js similarity index 98% rename from web/settings/assets/TestingStore-bf798932.js rename to web/settings/assets/TestingStore-df8399d2.js index e6cfe3ab99..3a892390b6 100644 --- a/web/settings/assets/TestingStore-bf798932.js +++ b/web/settings/assets/TestingStore-df8399d2.js @@ -1 +1 @@ -import{C as k}from"./index-e7db68ea.js";import{S as B}from"./OpenwbSortableList-d8779d41.js";import{_ as O,u as s,l as T,m as z,x as u,G as o,E as n,y as a,F as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:B},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},Z={class:"testingStore"},G={name:"testingStoreForm"};function L(t,e,D,j,A,J){const d=s("OpenwbBaseHeading"),S=s("OpenwbBaseSettingElement"),w=s("openwb-base-button-input"),b=s("openwb-base-button-group-input"),i=s("openwb-base-card"),p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),x=s("openwb-base-textarea"),v=s("openwb-base-range-input"),f=s("openwb-base-select-input"),$=s("openwb-base-checkbox-input"),V=s("openwb-base-array-input"),E=s("openwb-base-heading"),r=s("openwb-base-alert"),U=s("sortable-list"),y=s("openwb-base-submit-buttons");return T(),z("div",Z,[u("form",G,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(d,null,{default:n(()=>e[28]||(e[28]=[a(" Basiselement ")])),_:1}),o(S,null,{help:n(()=>e[29]||(e[29]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1}),o(d,null,{default:n(()=>e[30]||(e[30]=[a(" Abgeleitete Elemente ")])),_:1}),o(w,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>e[31]||(e[31]=[a(" Einfacher Click-Button für Aktionen. ")])),_:1}),o(b,{title:"Button Group Input",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[32]||(e[32]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Einfache Eingabefelder"},{default:n(()=>[o(p,{title:"1. Text","model-value":t.$store.state.examples.text1,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("text1",l))},{help:n(()=>e[33]||(e[33]=[a(" Einfacher Text ")])),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateState("text2",l))},{help:n(()=>e[34]||(e[34]=[a(" Eingabefeld für E-Mailadressen ")])),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text3",l))},{help:n(()=>e[35]||(e[35]=[a(" Eingabefeld für Hosts (IP oder Namen) ")])),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text4",l))},{help:n(()=>e[36]||(e[36]=[a(" Eingabefeld für URLs ")])),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text5",l))},{help:n(()=>e[37]||(e[37]=[a(" Eingabefeld für Benutzernamen ")])),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text6",l))},{help:n(()=>e[38]||(e[38]=[a(" Eingabefeld für Zeiten ")])),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text7",l))},{help:n(()=>e[39]||(e[39]=[a(" Eingabefeld für ein Datum ")])),_:1},8,["model-value"]),e[45]||(e[45]=u("hr",null,null,-1)),o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("number1",l))},{help:n(()=>e[40]||(e[40]=[a(" Zahl mit Einheit ")])),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("number2",l))},{help:n(()=>e[41]||(e[41]=[a(" Eingabefeld für Zahlen ohne Einheit ")])),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":t.$store.state.examples.number3*1e5,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>e[42]||(e[42]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),u("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),u("br",null,null,-1),a(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")])),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("password1",l))},{help:n(()=>e[43]||(e[43]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")])),_:1},8,["model-value"]),e[46]||(e[46]=u("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[12]||(e[12]=l=>t.updateState("textarea1",l))},{help:n(()=>e[44]||(e[44]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(v,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("range1",l))},{help:n(()=>e[47]||(e[47]=[a(" Range ohne spezielle Labels ")])),_:1},8,["model-value"]),o(v,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.$store.state.examples.range2,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("range2",l))},{help:n(()=>e[48]||(e[48]=[a(" Range mit speziellen Labels ")])),_:1},8,["model-value"]),e[53]||(e[53]=u("hr",null,null,-1)),o(f,{title:"1. Select","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("select1",l))},{help:n(()=>e[49]||(e[49]=[a(" Select mit einfachen Optionen ")])),_:1},8,["model-value"]),o(f,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"not-selected":"Bitte auswählen","add-button":!0,"model-value":t.$store.state.examples.select2,"onUpdate:modelValue":e[16]||(e[16]=l=>t.updateState("select2",l)),"onInput:add":e[17]||(e[17]=l=>t.alert("add button pressed"))},{help:n(()=>e[50]||(e[50]=[a(" Select mit Gruppen und Add-Button. ")])),_:1},8,["model-value"]),e[54]||(e[54]=u("hr",null,null,-1)),o(b,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[18]||(e[18]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[51]||(e[51]=[a(" Hilfetext ")])),_:1},8,["model-value"]),e[55]||(e[55]=u("hr",null,null,-1)),o($,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[19]||(e[19]=l=>t.updateState("checkbox1",l))},{help:n(()=>e[52]||(e[52]=[a(" Hilfetext ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:n(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":t.$store.state.examples.json1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("json1",l))},{help:n(()=>e[56]||(e[56]=[a(" JSON Objekt ")])),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("json1",l,"text"))},{help:n(()=>e[57]||(e[57]=[a(" Text im JSON Objekt ")])),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("json1",l,"number"))},{help:n(()=>e[58]||(e[58]=[a(" Zahl im JSON Objekt ")])),_:1},8,["model-value"]),o(V,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[23]||(e[23]=l=>t.updateState("tags",l))},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>e[59]||(e[59]=[u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])),default:n(()=>[o(E,null,{help:n(()=>e[60]||(e[60]=[a(" Es sind auch Hilfetexte im #help Slot möglich. "),u("a",{href:"test"},"Link",-1)])),default:n(()=>[e[61]||(e[61]=a(" Das ist eine Überschrift "))]),_:1}),o(r,null,{default:n(()=>e[62]||(e[62]=[a(" Meldung ohne speziellen Subtype. ")])),_:1}),o(r,{subtype:"info"},{default:n(()=>e[63]||(e[63]=[a(" Infomeldung ")])),_:1}),o(r,{subtype:"warning"},{default:n(()=>e[64]||(e[64]=[a(" Warnmeldung ")])),_:1}),o(r,{subtype:"danger"},{default:n(()=>e[65]||(e[65]=[a(" Fehlermeldung ")])),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[24]||(e[24]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(y,{"form-name":"testingStoreForm",onSave:e[25]||(e[25]=l=>t.$emit("save")),onReset:e[26]||(e[26]=l=>t.$emit("reset")),onDefaults:e[27]||(e[27]=l=>t.$emit("defaults"))})])])}const K=O(N,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{K as default}; +import{C as k}from"./index-8a28b331.js";import{S as B}from"./OpenwbSortableList-cb1cc8c9.js";import{_ as O,u as s,l as T,m as z,x as u,G as o,E as n,y as a,F as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:B},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},Z={class:"testingStore"},G={name:"testingStoreForm"};function L(t,e,D,j,A,J){const d=s("OpenwbBaseHeading"),S=s("OpenwbBaseSettingElement"),w=s("openwb-base-button-input"),b=s("openwb-base-button-group-input"),i=s("openwb-base-card"),p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),x=s("openwb-base-textarea"),v=s("openwb-base-range-input"),f=s("openwb-base-select-input"),$=s("openwb-base-checkbox-input"),V=s("openwb-base-array-input"),E=s("openwb-base-heading"),r=s("openwb-base-alert"),U=s("sortable-list"),y=s("openwb-base-submit-buttons");return T(),z("div",Z,[u("form",G,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(d,null,{default:n(()=>e[28]||(e[28]=[a(" Basiselement ")])),_:1}),o(S,null,{help:n(()=>e[29]||(e[29]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1}),o(d,null,{default:n(()=>e[30]||(e[30]=[a(" Abgeleitete Elemente ")])),_:1}),o(w,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>e[31]||(e[31]=[a(" Einfacher Click-Button für Aktionen. ")])),_:1}),o(b,{title:"Button Group Input",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[32]||(e[32]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Einfache Eingabefelder"},{default:n(()=>[o(p,{title:"1. Text","model-value":t.$store.state.examples.text1,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("text1",l))},{help:n(()=>e[33]||(e[33]=[a(" Einfacher Text ")])),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateState("text2",l))},{help:n(()=>e[34]||(e[34]=[a(" Eingabefeld für E-Mailadressen ")])),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text3",l))},{help:n(()=>e[35]||(e[35]=[a(" Eingabefeld für Hosts (IP oder Namen) ")])),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text4",l))},{help:n(()=>e[36]||(e[36]=[a(" Eingabefeld für URLs ")])),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text5",l))},{help:n(()=>e[37]||(e[37]=[a(" Eingabefeld für Benutzernamen ")])),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text6",l))},{help:n(()=>e[38]||(e[38]=[a(" Eingabefeld für Zeiten ")])),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text7",l))},{help:n(()=>e[39]||(e[39]=[a(" Eingabefeld für ein Datum ")])),_:1},8,["model-value"]),e[45]||(e[45]=u("hr",null,null,-1)),o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("number1",l))},{help:n(()=>e[40]||(e[40]=[a(" Zahl mit Einheit ")])),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("number2",l))},{help:n(()=>e[41]||(e[41]=[a(" Eingabefeld für Zahlen ohne Einheit ")])),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":t.$store.state.examples.number3*1e5,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>e[42]||(e[42]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),u("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),u("br",null,null,-1),a(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")])),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("password1",l))},{help:n(()=>e[43]||(e[43]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")])),_:1},8,["model-value"]),e[46]||(e[46]=u("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[12]||(e[12]=l=>t.updateState("textarea1",l))},{help:n(()=>e[44]||(e[44]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(v,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("range1",l))},{help:n(()=>e[47]||(e[47]=[a(" Range ohne spezielle Labels ")])),_:1},8,["model-value"]),o(v,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.$store.state.examples.range2,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("range2",l))},{help:n(()=>e[48]||(e[48]=[a(" Range mit speziellen Labels ")])),_:1},8,["model-value"]),e[53]||(e[53]=u("hr",null,null,-1)),o(f,{title:"1. Select","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("select1",l))},{help:n(()=>e[49]||(e[49]=[a(" Select mit einfachen Optionen ")])),_:1},8,["model-value"]),o(f,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"not-selected":"Bitte auswählen","add-button":!0,"model-value":t.$store.state.examples.select2,"onUpdate:modelValue":e[16]||(e[16]=l=>t.updateState("select2",l)),"onInput:add":e[17]||(e[17]=l=>t.alert("add button pressed"))},{help:n(()=>e[50]||(e[50]=[a(" Select mit Gruppen und Add-Button. ")])),_:1},8,["model-value"]),e[54]||(e[54]=u("hr",null,null,-1)),o(b,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[18]||(e[18]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[51]||(e[51]=[a(" Hilfetext ")])),_:1},8,["model-value"]),e[55]||(e[55]=u("hr",null,null,-1)),o($,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[19]||(e[19]=l=>t.updateState("checkbox1",l))},{help:n(()=>e[52]||(e[52]=[a(" Hilfetext ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:n(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":t.$store.state.examples.json1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("json1",l))},{help:n(()=>e[56]||(e[56]=[a(" JSON Objekt ")])),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("json1",l,"text"))},{help:n(()=>e[57]||(e[57]=[a(" Text im JSON Objekt ")])),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("json1",l,"number"))},{help:n(()=>e[58]||(e[58]=[a(" Zahl im JSON Objekt ")])),_:1},8,["model-value"]),o(V,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[23]||(e[23]=l=>t.updateState("tags",l))},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>e[59]||(e[59]=[u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])),default:n(()=>[o(E,null,{help:n(()=>e[60]||(e[60]=[a(" Es sind auch Hilfetexte im #help Slot möglich. "),u("a",{href:"test"},"Link",-1)])),default:n(()=>[e[61]||(e[61]=a(" Das ist eine Überschrift "))]),_:1}),o(r,null,{default:n(()=>e[62]||(e[62]=[a(" Meldung ohne speziellen Subtype. ")])),_:1}),o(r,{subtype:"info"},{default:n(()=>e[63]||(e[63]=[a(" Infomeldung ")])),_:1}),o(r,{subtype:"warning"},{default:n(()=>e[64]||(e[64]=[a(" Warnmeldung ")])),_:1}),o(r,{subtype:"danger"},{default:n(()=>e[65]||(e[65]=[a(" Fehlermeldung ")])),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[24]||(e[24]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(y,{"form-name":"testingStoreForm",onSave:e[25]||(e[25]=l=>t.$emit("save")),onReset:e[26]||(e[26]=l=>t.$emit("reset")),onDefaults:e[27]||(e[27]=l=>t.$emit("defaults"))})])])}const K=O(N,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{K as default}; diff --git a/web/settings/assets/TimeChargeConfig-823f0668.js b/web/settings/assets/TimeChargeConfig-9a973deb.js similarity index 93% rename from web/settings/assets/TimeChargeConfig-823f0668.js rename to web/settings/assets/TimeChargeConfig-9a973deb.js index e49fe3aeb4..19060a0888 100644 --- a/web/settings/assets/TimeChargeConfig-823f0668.js +++ b/web/settings/assets/TimeChargeConfig-9a973deb.js @@ -1 +1 @@ -import{C as l}from"./index-e7db68ea.js";import{_ as b,u as o,l as i,m as a,x as _,G as s,E as r,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const f={name:"OpenwbTimeChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},h={class:"timeChargeConfig"},c={name:"timeChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return i(),a("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),a("div",v,[s(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),a("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const q=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{q as default}; +import{C as l}from"./index-8a28b331.js";import{_ as b,u as o,l as i,m as a,x as _,G as s,E as r,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const f={name:"OpenwbTimeChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},h={class:"timeChargeConfig"},c={name:"timeChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return i(),a("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),a("div",v,[s(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),a("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const q=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{q as default}; diff --git a/web/settings/assets/VehicleConfig-135359c7.js b/web/settings/assets/VehicleConfig-135359c7.js deleted file mode 100644 index 796b93875b..0000000000 --- a/web/settings/assets/VehicleConfig-135359c7.js +++ /dev/null @@ -1 +0,0 @@ -import{l as $,d as H,a7 as j,A as J,ag as G,ah as Y,z as Q,W as X,O as K,Y as ee,ai as te,N as ne,F as ae,I as le}from"./vendor-fortawesome-979a7935.js";import{_ as k,C as ie}from"./index-e7db68ea.js";import{_ as oe}from"./dynamic-import-helper-be004503.js";import{_ as M,u as V,l as d,m as g,z as p,E as l,y as i,F as C,G as a,x as h,a1 as re,a2 as de,N as P,B as m,M as E,D as F,q as x,A as N}from"./vendor-0c15df0c.js";const ue={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=M(ue,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),me={name:"VehicleConfigFallback",mixins:[se]},ge={class:"vehicle-fallback"},he={key:1};function ce(t,e,b,B,f,s){const W=V("openwb-base-alert"),v=V("openwb-base-textarea");return d(),g("div",ge,[Object.keys(t.vehicle.configuration).length==0?(d(),p(W,{key:0,subtype:"info"},{default:l(()=>[i(' Der Fahrzeug-Typ "'+C(t.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(d(),g("div",he,[a(W,{subtype:"warning"},{default:l(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+C(t.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(v,{title:"Konfiguration",subtype:"json","model-value":t.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=T=>t.updateConfiguration(T,"configuration"))},{help:l(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(W,{subtype:"info"},{default:l(()=>[h("pre",null,C(JSON.stringify(t.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const pe=M(me,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),be={name:"OpenwbVehicleProxy",props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],methods:{getVehicleComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),re({loader:()=>oe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-72863d82.js"),["assets/vehicle-72863d82.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-179c48cd.js"),["assets/vehicle-179c48cd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-011a9d3b.js"),["assets/vehicle-011a9d3b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-4560a090.js"),["assets/vehicle-4560a090.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-b8e7750d.js"),["assets/vehicle-b8e7750d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-98d731d7.js"),["assets/vehicle-98d731d7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-273d468c.js"),["assets/vehicle-273d468c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-a379349e.js"),["assets/vehicle-a379349e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-372569ca.js"),["assets/vehicle-372569ca.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-a9d91069.js"),["assets/vehicle-a9d91069.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-7a9cc90c.js"),["assets/vehicle-7a9cc90c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-81b18646.js"),["assets/vehicle-81b18646.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-fac3659d.js"),["assets/vehicle-fac3659d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-0e9783a0.js"),["assets/vehicle-0e9783a0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./skodaconnect/vehicle.vue":()=>k(()=>import("./vehicle-eb469628.js"),["assets/vehicle-eb469628.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-a11b8cea.js"),["assets/vehicle-a11b8cea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-894ddb29.js"),["assets/vehicle-894ddb29.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-axios-c9d2afa0.js","assets/index-e7db68ea.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-fd7a768b.js"),["assets/vehicle-fd7a768b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-07f38986.js"),["assets/vehicle-07f38986.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/index-e7db68ea.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:pe})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,b,B,f,s){const W=V("openwb-base-heading");return d(),g(P,null,[a(W,null,{default:l(()=>[i(' Einstellungen für SoC-Modul "'+C(b.vehicle.name)+'" ',1)]),_:1}),(d(),p(de(s.getVehicleComponent()),{"vehicle-id":b.vehicleId,vehicle:b.vehicle,"onUpdate:configuration":e[0]||(e[0]=v=>s.updateConfiguration(v))},null,40,["vehicle-id","vehicle"]))],64)}const fe=M(be,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);$.add(H,j,J,G,Y,Q,X,K,ee,te,ne);const _e={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:ae,FontAwesomeLayers:le,OpenwbVehicleProxy:fe},mixins:[ie],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/info","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let t=[];return Object.keys(this.evTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+b].name;t.push({value:b,text:B})}),t}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let t=[];return Object.keys(this.chargeTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+b].name;t.push({value:b,text:B})}),t}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/+")},addVehicle(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(t,e){e.stopPropagation(),this.modalVehicleIndex=t,this.showVehicleModal=!0},removeVehicle(t,e){this.showVehicleModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeVehicle",data:{id:t}})},getVehicleName(t){return this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]:"Fahrzeug "+t},getSocDefaultConfiguration(t){const e=this.socModuleList.find(b=>b.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",t),{})},updateSelectedSocModule(t,e){this.updateState("openWB/vehicle/"+t+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+t+"/soc_module/config",this.getSocDefaultConfiguration(e))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},addEvTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(t,e){e.stopPropagation(),this.modalEvTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(t,e){this.showEvTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:t}})},getEvTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t].name:"Fahrzeug-Profil "+t},addChargeTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargeTemplateModal(t,e){e.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(t),this.showChargeTemplateModal=!0},removeChargeTemplate(t,e){this.showChargeTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:t}})},getChargeTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t].name:"Lade-Profil "+t},getChargeTemplateSchedulePlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e].name:"Zielladen Zeitplan "+t+"/"+e},addChargeTemplateSchedulePlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:b}})},removeChargeTemplateSchedulePlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(t,e,b){this.showChargeTemplateSchedulePlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:t,plan:e}})},getChargeTemplateTimeChargingPlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e].name:"Zeitladen Zeitplan "+t+"/"+e},addChargeTemplateTimeChargingPlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:b}})},removeChargeTemplateTimeChargingPlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(t,e,b){this.showChargeTemplateTimeChargingPlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:t,plan:e}})}}},we={class:"vehicleConfig"},ke={name:"vehicleConfigForm"},Ve={key:0},Ce={key:1},Se={key:2},ze=["innerHTML"],Ue={key:3},Te={key:0},We={key:1},Le={key:0},Pe={key:1},Ae={key:0},ye={key:0},Ee={key:3},Be={key:0},Fe={key:1},Me={key:0},qe={key:0},De={key:0},Ze=["onClick"],xe={key:0},Ne={key:1},Oe={key:2},Ie={key:3},Re={key:4},$e={key:5},He={key:4},je=["onClick"],Je={key:0},Ge={key:1},Ye={key:2},Qe={key:3},Xe={key:4},Ke={key:5};function et(t,e,b,B,f,s){const W=V("openwb-base-modal-dialog"),v=V("font-awesome-icon"),T=V("openwb-base-avatar"),y=V("openwb-base-alert"),z=V("openwb-base-text-input"),q=V("openwb-base-select-input"),O=V("openwb-base-array-input"),_=V("openwb-base-button-group-input"),L=V("openwb-base-heading"),w=V("openwb-base-number-input"),I=V("openwb-vehicle-proxy"),A=V("openwb-base-card"),Z=V("font-awesome-layers"),S=V("openwb-base-range-input"),R=V("openwb-base-submit-buttons");return d(),g(P,null,[a(W,{show:f.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>s.removeVehicle(f.modalVehicleIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug "'+C(s.getVehicleName(f.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>s.removeEvTemplate(f.modalEvTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug-Profil "'+C(s.getEvTemplateName(f.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=o=>s.removeChargeTemplate(f.modalChargeTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Lade-Profil "'+C(s.getChargeTemplateName(f.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[3]||(e[3]=o=>s.removeChargeTemplateSchedulePlan(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zielladen Zeitplan "'+C(s.getChargeTemplateSchedulePlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[4]||(e[4]=o=>s.removeChargeTemplateTimeChargingPlan(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zeitladen Zeitplan "'+C(s.getChargeTemplateTimeChargingPlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),h("div",we,[h("form",ke,[a(A,{subtype:"info",collapsible:!0,collapsed:t.$route.params.section!="vehicle"},{header:l(()=>[a(v,{"fixed-width":"",icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addVehicle},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Ve,[a(y,{subtype:"info"},{default:l(()=>e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Ce,[(d(!0),g(P,null,E(s.vehicleIndexes,o=>(d(),p(A,{key:o,title:s.getVehicleName(o),collapsible:!0,collapsed:!(t.$route.params.section=="vehicle"&&parseInt(t.$route.params.section_index)==o),subtype:"info"},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/name"],disabled:o===0,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/name",r)},F({_:2},[o===0?{name:"help",fn:l(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),o!==0?(d(),p(z,{key:0,title:"Fahrzeughersteller ","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].manufacturer,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"manufacturer")},{help:l(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),o!==0?(d(),p(z,{key:1,title:"Fahrzeugmodell","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].model,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"model")},{help:l(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht."),h("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(y,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[i(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])]),_:1}),a(q,{title:"Fahrzeug-Profil",options:s.evTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/ev_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/ev_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),a(q,{title:"Lade-Profil",options:s.chargeTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/charge_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/charge_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),e[24]||(e[24]=h("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!b.installAssistantActive?(d(),g("div",Se,[a(O,{title:"Zugeordnete ID-Tags","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/tag_id"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/tag_id",r)},null,8,["model-value","onUpdate:modelValue"]),a(y,{subtype:"info"},{default:l(()=>[e[14]||(e[14]=i(" Die hier eingetragenen ID-Tags dienen ausschließlich der Fahrzeugzuordnung.")),e[15]||(e[15]=h("br",null,null,-1)),h("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,ze)]),_:1}),e[16]||(e[16]=h("hr",null,null,-1))])):m("",!0),a(q,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:s.socModuleList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type,"onUpdate:modelValue":r=>s.updateSelectedSocModule(o,r)},{help:l(()=>[...e[17]||(e[17]=[i(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),h("br",null,null,-1),i(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),h("br",null,null,-1),i(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),h("br",null,null,-1),i(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type?(d(),g("div",Ue,[a(_,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"use_soc_from_cp")},{help:l(()=>[...e[18]||(e[18]=[i(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{help:l(()=>[...e[19]||(e[19]=[i(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")])]),default:l(()=>[e[20]||(e[20]=i(" Aktualisierung der Fahrzeugdaten "))]),_:1}),a(w,{title:"Während der Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_charging")},{help:l(()=>[...e[21]||(e[21]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Ohne laufende Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_not_charging")},{help:l(()=>[...e[22]||(e[22]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"request_only_plugged")},{help:l(()=>[...e[23]||(e[23]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(I,{"vehicle-id":o,vehicle:t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"],"onUpdate:configuration":r=>s.updateConfiguration("openWB/vehicle/"+o+"/soc_module/config",r)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]),_:2},[o!==0?{name:"actions",fn:l(r=>[r.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:n=>s.removeVehicleModal(o,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[81]||(e[81]=h("hr",{class:"border-secondary"},null,-1)),a(L,null,{default:l(()=>e[25]||(e[25]=[i("Profile")])),_:1}),a(A,{collapsible:!0,collapsed:!0},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[26]||(e[26]=i(" Fahrzeug-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addEvTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Te,[a(y,{subtype:"info"},{default:l(()=>e[27]||(e[27]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",We,[a(y,{subtype:"info"},{default:l(()=>e[28]||(e[28]=[i(" Ein anderes Fahrzeug-Profil wird erst "),h("span",{class:"text-uppercase font-weight-bold"}," nach dem Abstecken ",-1),i(" übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])),_:1}),(d(!0),g(P,null,E(s.evTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!0},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[29]||(e[29]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[30]||(e[30]=[i(" Angaben zur Batterie ")])]),_:1}),a(w,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":o.battery_capacity/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"battery_capacity")},{help:l(()=>[...e[31]||(e[31]=[i(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Le,[a(w,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":o.efficiency,"onUpdate:modelValue":n=>t.updateState(r,n,"efficiency")},{help:l(()=>[...e[32]||(e[32]=[i(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),h("br",null,null,-1),i(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),h("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),h("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),h("br",null,null,-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])),a(w,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":o.average_consump/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),g("div",Pe,[a(L,null,{default:l(()=>[...e[33]||(e[33]=[i(" Angaben zur Ladeleistung (DC) ")])]),_:1}),a(w,{title:"Mindestleistung",min:5,unit:"kW","model-value":t.ac_current2dc_power(o.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Maximalleistung",unit:"kW","model-value":t.ac_current2dc_power(o.dc_max_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),a(L,null,{default:l(()=>[e[34]||(e[34]=i(" Angaben zum Ladestrom ")),s.dcChargingEnabled===!0?(d(),g("span",Ae," (AC) ")):m("",!0)]),_:1}),a(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":o.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"min_current")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":o.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":o.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":o.nominal_difference,"onUpdate:modelValue":n=>t.updateState(r,n,"nominal_difference")},{help:l(()=>[...e[35]||(e[35]=[i(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{default:l(()=>[e[36]||(e[36]=i(" Angaben zur Handhabung von Phasen ")),s.dcChargingEnabled===!0?(d(),g("span",ye," (AC) ")):m("",!0)]),_:1}),a(_,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":o.max_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_phases")},{help:l(()=>[...e[37]||(e[37]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.control_pilot_interruption,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption")},{help:l(()=>[...e[38]||(e[38]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o.control_pilot_interruption?(d(),p(w,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":o.control_pilot_interruption_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_phase_switch,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_phase_switch")},{help:l(()=>[...e[39]||(e[39]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_charge_stop,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_charge_stop")},{help:l(()=>[...e[40]||(e[40]=[i(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,required:"","model-value":o.phase_switch_pause,"onUpdate:modelValue":n=>t.updateState(r,n,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Ee,[a(w,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":o.keep_charge_active_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"keep_charge_active_duration")},{help:l(()=>[...e[41]||(e[41]=[i(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[t.$store.state.mqtt["openWB/general/extern"]===!1&&!n.collapsed?(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeEvTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(A,{collapsible:!0,collapsed:t.$route.params.section!="charge_template"},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[42]||(e[42]=i(" Lade-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addChargeTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Be,[a(y,{subtype:"info"},{default:l(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Fe,[(d(!0),g(P,null,E(s.chargeTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!(t.$route.params.section=="charge_template"&&parseInt(t.$route.params.section_index)==s.getChargeTemplateIndex(r))},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[44]||(e[44]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[45]||(e[45]=[i(" Allgemeine Optionen ")])]),_:1}),a(_,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":o.chargemode.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.selected")},{help:l(()=>[...e[46]||(e[46]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),h("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),h("br",null,null,-1),h("ol",null,[h("li",null,"Zielladen (Sofortladen) mit Priorität"),h("li",null,"Zielladen (Sofortladen)"),h("li",null,"Zeitladen mit Priorität"),h("li",null,"Zeitladen"),h("li",null,"Sofortladen mit Priorität"),h("li",null,"Sofortladen"),h("li",null,"PV (Min-Anteil) mit Priorität"),h("li",null,"PV (Min-Anteil)"),h("li",null,"Zielladen (PV) mit Priorität"),h("li",null,"Zielladen (PV)"),h("li",null,"PV (PV-Anteil) mit Priorität"),h("li",null,"PV (PV-Anteil)")],-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Me,[a(_,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.prio,"onUpdate:modelValue":n=>t.updateState(r,n,"prio")},{help:l(()=>[...e[47]||(e[47]=[i(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.time_charging.active,"onUpdate:modelValue":n=>t.updateState(r,n,"time_charging.active")},{help:l(()=>[...e[48]||(e[48]=[i(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.load_default,"onUpdate:modelValue":n=>t.updateState(r,n,"load_default")},{help:l(()=>[...e[49]||(e[49]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.et.active,"onUpdate:modelValue":n=>t.updateState(r,n,"et.active")},null,8,["model-value","onUpdate:modelValue"]),o.et.active==!0?(d(),g("div",qe,[!t.$store.state.mqtt["openWB/optional/et/provider"]||!t.$store.state.mqtt["openWB/optional/et/provider"].type?(d(),g("div",De,[a(y,{subtype:"danger"},{default:l(()=>[...e[50]||(e[50]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")])]),_:1})])):m("",!0),a(w,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":o.et.max_price*1e5,"onUpdate:modelValue":n=>t.updateState(r,parseFloat((n/1e5).toFixed(7)),"et.max_price")},{help:l(()=>[...e[51]||(e[51]=[i(" Für Zielladen werden die günstigsten Stunden ermittelt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):m("",!0),e[52]||(e[52]=h("hr",null,null,-1))])),a(L,null,{default:l(()=>[...e[53]||(e[53]=[i("Sofortladen")])]),_:1}),a(S,{title:"Soll-Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.instant_charging.current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:1,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.instant_charging.dc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":o.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.selected")},{help:l(()=>[...e[54]||(e[54]=[i(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":o.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.soc")},{help:l(()=>[...e[55]||(e[55]=[i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":o.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"chargemode.instant_charging.limit.amount")},{help:l(()=>[...e[56]||(e[56]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[79]||(e[79]=h("hr",null,null,-1)),a(L,null,{default:l(()=>[...e[57]||(e[57]=[i("PV-Laden")])]),_:1}),a(S,{title:"Minimaler Dauerstrom"+(s.dcChargingEnabled?" (AC)":""),min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":o.chargemode.pv_charging.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_current")},{help:l(()=>[...e[58]||(e[58]=[i(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:2,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_current")},{help:l(()=>[...e[59]||(e[59]=[i(" Hier kann eine Leistung eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Leistungswert empfohlen wird. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(S,{title:"SoC-Limit für das Fahrzeug",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":o.chargemode.pv_charging.max_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.max_soc")},{help:l(()=>[...e[60]||(e[60]=[i(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC für das Fahrzeug",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":o.chargemode.pv_charging.min_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc")},{help:l(()=>[...e[61]||(e[61]=[i(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC-Strom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc_current")},{help:l(()=>[...e[62]||(e[62]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:3,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_soc_current")},{help:l(()=>[...e[63]||(e[63]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit der hier festgelegten "Mindest-SoC-Leistung" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.feed_in_limit")},{help:l(()=>[...e[64]||(e[64]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[80]||(e[80]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateSchedulePlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[65]||(e[65]=[i(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),h("br",null,null,-1),i(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit für das Fahrzeug" erreicht wird.'),h("br",null,null,-1),i(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")])]),default:l(()=>[e[66]||(e[66]=i(" Zielladen "))]),_:2},1024),(d(!0),g(P,null,E(s.getChargeTemplateScheduledChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",xe,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc_scheduled)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ne,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time)+" ",1),n.frequency.selected=="once"?(d(),g("span",Oe,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once)),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Ie,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Re,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,Ze)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateSchedulePlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Ziel-Uhrzeit",subtype:"time","model-value":n.time,"onUpdate:modelValue":u=>t.updateState(c,u,"time")},{help:l(()=>[...e[67]||(e[67]=[i(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},{help:l(()=>[...e[68]||(e[68]=[i(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[69]||(e[69]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_scheduled,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_scheduled")},{help:l(()=>[...e[70]||(e[70]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="soc"?(d(),p(S,{key:2,title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_limit,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_limit")},{help:l(()=>[...e[71]||(e[71]=[i(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. Sobald das SoC-Limit erreicht wurde, findet keine Ladung mehr mit Überschuss statt! ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:3,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[72]||(e[72]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Datum",subtype:"date","model-value":n.frequency.once,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",$e,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128)),b.installAssistantActive?m("",!0):(d(),g("div",He,[e[75]||(e[75]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateTimeChargingPlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[73]||(e[73]=[i(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")])]),default:l(()=>[e[74]||(e[74]=i(" Laden nach Zeitplan "))]),_:2},1024)])),(d(!0),g(P,null,E(s.getChargeTemplateTimeChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",Je,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ge,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time[0])+" - "+C(n.time[1])+" ",1),n.frequency.selected=="once"?(d(),g("span",Ye,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Qe,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Xe,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,je)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateTimeChargingPlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[76]||(e[76]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Ziel-SoC für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc")},{help:l(()=>[...e[77]||(e[77]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[78]||(e[78]=[i(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(z,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":u=>t.updateState(c,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":u=>t.updateState(c,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:3,title:"Gültig ab",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Gültig bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",Ke,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[n.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeChargeTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),a(R,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=o=>t.$emit("save")),onReset:e[6]||(e[6]=o=>t.$emit("reset")),onDefaults:e[7]||(e[7]=o=>t.$emit("defaults"))})])])],64)}const tt=M(_e,[["render",et],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),ot=Object.freeze(Object.defineProperty({__proto__:null,default:tt},Symbol.toStringTag,{value:"Module"}));export{se as V,tt as a,ot as b}; diff --git a/web/settings/assets/VehicleConfig-268e1718.js b/web/settings/assets/VehicleConfig-268e1718.js new file mode 100644 index 0000000000..7d555847f6 --- /dev/null +++ b/web/settings/assets/VehicleConfig-268e1718.js @@ -0,0 +1 @@ +import{l as $,d as H,a7 as j,A as J,ag as G,ah as Y,z as Q,W as X,O as K,Y as ee,ai as te,N as ne,F as ae,I as le}from"./vendor-fortawesome-231ff303.js";import{_ as k,C as ie}from"./index-8a28b331.js";import{_ as oe}from"./dynamic-import-helper-be004503.js";import{_ as M,u as V,l as d,m as g,z as p,E as l,y as i,F as C,G as a,x as h,a1 as re,a2 as de,N as P,B as m,M as E,D as F,q as x,A as N}from"./vendor-0c15df0c.js";const ue={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=M(ue,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),me={name:"VehicleConfigFallback",mixins:[se]},ge={class:"vehicle-fallback"},he={key:1};function ce(t,e,b,B,f,s){const W=V("openwb-base-alert"),v=V("openwb-base-textarea");return d(),g("div",ge,[Object.keys(t.vehicle.configuration).length==0?(d(),p(W,{key:0,subtype:"info"},{default:l(()=>[i(' Der Fahrzeug-Typ "'+C(t.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(d(),g("div",he,[a(W,{subtype:"warning"},{default:l(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+C(t.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(v,{title:"Konfiguration",subtype:"json","model-value":t.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=T=>t.updateConfiguration(T,"configuration"))},{help:l(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(W,{subtype:"info"},{default:l(()=>[h("pre",null,C(JSON.stringify(t.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const pe=M(me,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),be={name:"OpenwbVehicleProxy",props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading vehicle: ${this.vehicle.name} (${this.vehicle.type})`),re({loader:()=>oe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-1024da60.js"),["assets/vehicle-1024da60.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-ca57e690.js"),["assets/vehicle-ca57e690.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-7d4167b7.js"),["assets/vehicle-7d4167b7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-516971a1.js"),["assets/vehicle-516971a1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-7111a846.js"),["assets/vehicle-7111a846.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-ac973cba.js"),["assets/vehicle-ac973cba.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-17aa1112.js"),["assets/vehicle-17aa1112.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-3b803900.js"),["assets/vehicle-3b803900.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-088ec646.js"),["assets/vehicle-088ec646.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-2d4ed79f.js"),["assets/vehicle-2d4ed79f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-c6ed14f3.js"),["assets/vehicle-c6ed14f3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-da94dc64.js"),["assets/vehicle-da94dc64.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-8f50b694.js"),["assets/vehicle-8f50b694.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-4bfa542f.js"),["assets/vehicle-4bfa542f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./skodaconnect/vehicle.vue":()=>k(()=>import("./vehicle-8fa1baf8.js"),["assets/vehicle-8fa1baf8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-db7f42f1.js"),["assets/vehicle-db7f42f1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-7195a3e0.js"),["assets/vehicle-7195a3e0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-axios-c9d2afa0.js","assets/index-8a28b331.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-41e5b9ed.js"),["assets/vehicle-41e5b9ed.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-67482c43.js"),["assets/vehicle-67482c43.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-8a28b331.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:pe})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,b,B,f,s){const W=V("openwb-base-heading");return d(),g(P,null,[a(W,null,{default:l(()=>[i(' Einstellungen für SoC-Modul "'+C(b.vehicle.name)+'" ',1)]),_:1}),(d(),p(de(s.myComponent),{"vehicle-id":b.vehicleId,vehicle:b.vehicle,"onUpdate:configuration":e[0]||(e[0]=v=>s.updateConfiguration(v))},null,40,["vehicle-id","vehicle"]))],64)}const fe=M(be,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);$.add(H,j,J,G,Y,Q,X,K,ee,te,ne);const _e={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:ae,FontAwesomeLayers:le,OpenwbVehicleProxy:fe},mixins:[ie],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/info","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let t=[];return Object.keys(this.evTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+b].name;t.push({value:b,text:B})}),t}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let t=[];return Object.keys(this.chargeTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+b].name;t.push({value:b,text:B})}),t}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/+")},addVehicle(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(t,e){e.stopPropagation(),this.modalVehicleIndex=t,this.showVehicleModal=!0},removeVehicle(t,e){this.showVehicleModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeVehicle",data:{id:t}})},getVehicleName(t){return this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]:"Fahrzeug "+t},getSocDefaultConfiguration(t){const e=this.socModuleList.find(b=>b.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",t),{})},updateSelectedSocModule(t,e){this.updateState("openWB/vehicle/"+t+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+t+"/soc_module/config",this.getSocDefaultConfiguration(e))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},addEvTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(t,e){e.stopPropagation(),this.modalEvTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(t,e){this.showEvTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:t}})},getEvTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t].name:"Fahrzeug-Profil "+t},addChargeTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargeTemplateModal(t,e){e.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(t),this.showChargeTemplateModal=!0},removeChargeTemplate(t,e){this.showChargeTemplateModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:t}})},getChargeTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t].name:"Lade-Profil "+t},getChargeTemplateSchedulePlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e].name:"Zielladen Zeitplan "+t+"/"+e},addChargeTemplateSchedulePlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:b}})},removeChargeTemplateSchedulePlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(t,e,b){this.showChargeTemplateSchedulePlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:t,plan:e}})},getChargeTemplateTimeChargingPlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e].name:"Zeitladen Zeitplan "+t+"/"+e},addChargeTemplateTimeChargingPlan(t,e){e.stopPropagation();let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:b}})},removeChargeTemplateTimeChargingPlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(t,e,b){this.showChargeTemplateTimeChargingPlanModal=!1,b=="confirm"&&this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:t,plan:e}})}}},we={class:"vehicleConfig"},ke={name:"vehicleConfigForm"},Ve={key:0},Ce={key:1},Se={key:2},ze=["innerHTML"],Ue={key:3},Te={key:0},We={key:1},Le={key:0},Pe={key:1},Ae={key:0},ye={key:0},Ee={key:3},Be={key:0},Fe={key:1},Me={key:0},qe={key:0},De={key:0},Ze=["onClick"],xe={key:0},Ne={key:1},Oe={key:2},Ie={key:3},Re={key:4},$e={key:5},He={key:4},je=["onClick"],Je={key:0},Ge={key:1},Ye={key:2},Qe={key:3},Xe={key:4},Ke={key:5};function et(t,e,b,B,f,s){const W=V("openwb-base-modal-dialog"),v=V("font-awesome-icon"),T=V("openwb-base-avatar"),y=V("openwb-base-alert"),z=V("openwb-base-text-input"),q=V("openwb-base-select-input"),O=V("openwb-base-array-input"),_=V("openwb-base-button-group-input"),L=V("openwb-base-heading"),w=V("openwb-base-number-input"),I=V("openwb-vehicle-proxy"),A=V("openwb-base-card"),Z=V("font-awesome-layers"),S=V("openwb-base-range-input"),R=V("openwb-base-submit-buttons");return d(),g(P,null,[a(W,{show:f.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>s.removeVehicle(f.modalVehicleIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug "'+C(s.getVehicleName(f.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>s.removeEvTemplate(f.modalEvTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug-Profil "'+C(s.getEvTemplateName(f.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=o=>s.removeChargeTemplate(f.modalChargeTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Lade-Profil "'+C(s.getChargeTemplateName(f.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[3]||(e[3]=o=>s.removeChargeTemplateSchedulePlan(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zielladen Zeitplan "'+C(s.getChargeTemplateSchedulePlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[4]||(e[4]=o=>s.removeChargeTemplateTimeChargingPlan(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zeitladen Zeitplan "'+C(s.getChargeTemplateTimeChargingPlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),h("div",we,[h("form",ke,[a(A,{subtype:"info",collapsible:!0,collapsed:t.$route.params.section!="vehicle"},{header:l(()=>[a(v,{"fixed-width":"",icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addVehicle},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Ve,[a(y,{subtype:"info"},{default:l(()=>e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Ce,[(d(!0),g(P,null,E(s.vehicleIndexes,o=>(d(),p(A,{key:o,title:s.getVehicleName(o),collapsible:!0,collapsed:!(t.$route.params.section=="vehicle"&&parseInt(t.$route.params.section_index)==o),subtype:"info"},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/name"],disabled:o===0,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/name",r)},F({_:2},[o===0?{name:"help",fn:l(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),o!==0?(d(),p(z,{key:0,title:"Fahrzeughersteller ","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].manufacturer,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"manufacturer")},{help:l(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),o!==0?(d(),p(z,{key:1,title:"Fahrzeugmodell","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].model,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"model")},{help:l(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht."),h("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(y,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[i(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])]),_:1}),a(q,{title:"Fahrzeug-Profil",options:s.evTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/ev_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/ev_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),a(q,{title:"Lade-Profil",options:s.chargeTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/charge_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/charge_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),e[24]||(e[24]=h("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!b.installAssistantActive?(d(),g("div",Se,[a(O,{title:"Zugeordnete ID-Tags","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/tag_id"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/tag_id",r)},null,8,["model-value","onUpdate:modelValue"]),a(y,{subtype:"info"},{default:l(()=>[e[14]||(e[14]=i(" Die hier eingetragenen ID-Tags dienen ausschließlich der Fahrzeugzuordnung.")),e[15]||(e[15]=h("br",null,null,-1)),h("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,ze)]),_:1}),e[16]||(e[16]=h("hr",null,null,-1))])):m("",!0),a(q,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:s.socModuleList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type,"onUpdate:modelValue":r=>s.updateSelectedSocModule(o,r)},{help:l(()=>[...e[17]||(e[17]=[i(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),h("br",null,null,-1),i(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),h("br",null,null,-1),i(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),h("br",null,null,-1),i(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type?(d(),g("div",Ue,[a(_,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"use_soc_from_cp")},{help:l(()=>[...e[18]||(e[18]=[i(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{help:l(()=>[...e[19]||(e[19]=[i(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")])]),default:l(()=>[e[20]||(e[20]=i(" Aktualisierung der Fahrzeugdaten "))]),_:1}),a(w,{title:"Während der Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_charging")},{help:l(()=>[...e[21]||(e[21]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Ohne laufende Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_not_charging")},{help:l(()=>[...e[22]||(e[22]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"request_only_plugged")},{help:l(()=>[...e[23]||(e[23]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(I,{"vehicle-id":o,vehicle:t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"],"onUpdate:configuration":r=>s.updateConfiguration("openWB/vehicle/"+o+"/soc_module/config",r)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]),_:2},[o!==0?{name:"actions",fn:l(r=>[r.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:n=>s.removeVehicleModal(o,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[81]||(e[81]=h("hr",{class:"border-secondary"},null,-1)),a(L,null,{default:l(()=>e[25]||(e[25]=[i("Profile")])),_:1}),a(A,{collapsible:!0,collapsed:!0},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[26]||(e[26]=i(" Fahrzeug-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addEvTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Te,[a(y,{subtype:"info"},{default:l(()=>e[27]||(e[27]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",We,[a(y,{subtype:"info"},{default:l(()=>e[28]||(e[28]=[i(" Ein anderes Fahrzeug-Profil wird erst "),h("span",{class:"text-uppercase font-weight-bold"}," nach dem Abstecken ",-1),i(" übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])),_:1}),(d(!0),g(P,null,E(s.evTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!0},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[29]||(e[29]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[30]||(e[30]=[i(" Angaben zur Batterie ")])]),_:1}),a(w,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":o.battery_capacity/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"battery_capacity")},{help:l(()=>[...e[31]||(e[31]=[i(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Le,[a(w,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":o.efficiency,"onUpdate:modelValue":n=>t.updateState(r,n,"efficiency")},{help:l(()=>[...e[32]||(e[32]=[i(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),h("br",null,null,-1),i(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),h("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),h("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),h("br",null,null,-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])),a(w,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":o.average_consump/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),g("div",Pe,[a(L,null,{default:l(()=>[...e[33]||(e[33]=[i(" Angaben zur Ladeleistung (DC) ")])]),_:1}),a(w,{title:"Mindestleistung",min:5,unit:"kW","model-value":t.ac_current2dc_power(o.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Maximalleistung",unit:"kW","model-value":t.ac_current2dc_power(o.dc_max_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),a(L,null,{default:l(()=>[e[34]||(e[34]=i(" Angaben zum Ladestrom ")),s.dcChargingEnabled===!0?(d(),g("span",Ae," (AC) ")):m("",!0)]),_:1}),a(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":o.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"min_current")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":o.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":o.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":o.nominal_difference,"onUpdate:modelValue":n=>t.updateState(r,n,"nominal_difference")},{help:l(()=>[...e[35]||(e[35]=[i(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{default:l(()=>[e[36]||(e[36]=i(" Angaben zur Handhabung von Phasen ")),s.dcChargingEnabled===!0?(d(),g("span",ye," (AC) ")):m("",!0)]),_:1}),a(_,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":o.max_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_phases")},{help:l(()=>[...e[37]||(e[37]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.control_pilot_interruption,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption")},{help:l(()=>[...e[38]||(e[38]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o.control_pilot_interruption?(d(),p(w,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":o.control_pilot_interruption_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_phase_switch,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_phase_switch")},{help:l(()=>[...e[39]||(e[39]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_charge_stop,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_charge_stop")},{help:l(()=>[...e[40]||(e[40]=[i(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,required:"","model-value":o.phase_switch_pause,"onUpdate:modelValue":n=>t.updateState(r,n,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Ee,[a(w,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":o.keep_charge_active_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"keep_charge_active_duration")},{help:l(()=>[...e[41]||(e[41]=[i(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[t.$store.state.mqtt["openWB/general/extern"]===!1&&!n.collapsed?(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeEvTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(A,{collapsible:!0,collapsed:t.$route.params.section!="charge_template"},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[42]||(e[42]=i(" Lade-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addChargeTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Be,[a(y,{subtype:"info"},{default:l(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Fe,[(d(!0),g(P,null,E(s.chargeTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!(t.$route.params.section=="charge_template"&&parseInt(t.$route.params.section_index)==s.getChargeTemplateIndex(r))},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[44]||(e[44]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[45]||(e[45]=[i(" Allgemeine Optionen ")])]),_:1}),a(_,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":o.chargemode.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.selected")},{help:l(()=>[...e[46]||(e[46]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),h("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),h("br",null,null,-1),h("ol",null,[h("li",null,"Zielladen (Sofortladen) mit Priorität"),h("li",null,"Zielladen (Sofortladen)"),h("li",null,"Zeitladen mit Priorität"),h("li",null,"Zeitladen"),h("li",null,"Sofortladen mit Priorität"),h("li",null,"Sofortladen"),h("li",null,"PV (Min-Anteil) mit Priorität"),h("li",null,"PV (Min-Anteil)"),h("li",null,"Zielladen (PV) mit Priorität"),h("li",null,"Zielladen (PV)"),h("li",null,"PV (PV-Anteil) mit Priorität"),h("li",null,"PV (PV-Anteil)")],-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Me,[a(_,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.prio,"onUpdate:modelValue":n=>t.updateState(r,n,"prio")},{help:l(()=>[...e[47]||(e[47]=[i(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.time_charging.active,"onUpdate:modelValue":n=>t.updateState(r,n,"time_charging.active")},{help:l(()=>[...e[48]||(e[48]=[i(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.load_default,"onUpdate:modelValue":n=>t.updateState(r,n,"load_default")},{help:l(()=>[...e[49]||(e[49]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.et.active,"onUpdate:modelValue":n=>t.updateState(r,n,"et.active")},null,8,["model-value","onUpdate:modelValue"]),o.et.active==!0?(d(),g("div",qe,[!t.$store.state.mqtt["openWB/optional/et/provider"]||!t.$store.state.mqtt["openWB/optional/et/provider"].type?(d(),g("div",De,[a(y,{subtype:"danger"},{default:l(()=>[...e[50]||(e[50]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")])]),_:1})])):m("",!0),a(w,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":o.et.max_price*1e5,"onUpdate:modelValue":n=>t.updateState(r,parseFloat((n/1e5).toFixed(7)),"et.max_price")},{help:l(()=>[...e[51]||(e[51]=[i(" Für Zielladen werden die günstigsten Stunden ermittelt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):m("",!0),e[52]||(e[52]=h("hr",null,null,-1))])),a(L,null,{default:l(()=>[...e[53]||(e[53]=[i("Sofortladen")])]),_:1}),a(S,{title:"Soll-Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.instant_charging.current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:1,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.instant_charging.dc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":o.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.selected")},{help:l(()=>[...e[54]||(e[54]=[i(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":o.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.soc")},{help:l(()=>[...e[55]||(e[55]=[i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":o.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"chargemode.instant_charging.limit.amount")},{help:l(()=>[...e[56]||(e[56]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[79]||(e[79]=h("hr",null,null,-1)),a(L,null,{default:l(()=>[...e[57]||(e[57]=[i("PV-Laden")])]),_:1}),a(S,{title:"Minimaler Dauerstrom"+(s.dcChargingEnabled?" (AC)":""),min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":o.chargemode.pv_charging.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_current")},{help:l(()=>[...e[58]||(e[58]=[i(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:2,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_current")},{help:l(()=>[...e[59]||(e[59]=[i(" Hier kann eine Leistung eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Leistungswert empfohlen wird. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(S,{title:"SoC-Limit für das Fahrzeug",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":o.chargemode.pv_charging.max_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.max_soc")},{help:l(()=>[...e[60]||(e[60]=[i(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC für das Fahrzeug",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":o.chargemode.pv_charging.min_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc")},{help:l(()=>[...e[61]||(e[61]=[i(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC-Strom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc_current")},{help:l(()=>[...e[62]||(e[62]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:3,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_soc_current")},{help:l(()=>[...e[63]||(e[63]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit der hier festgelegten "Mindest-SoC-Leistung" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.feed_in_limit")},{help:l(()=>[...e[64]||(e[64]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[80]||(e[80]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateSchedulePlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[65]||(e[65]=[i(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),h("br",null,null,-1),i(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit für das Fahrzeug" erreicht wird.'),h("br",null,null,-1),i(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")])]),default:l(()=>[e[66]||(e[66]=i(" Zielladen "))]),_:2},1024),(d(!0),g(P,null,E(s.getChargeTemplateScheduledChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",xe,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc_scheduled)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ne,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time)+" ",1),n.frequency.selected=="once"?(d(),g("span",Oe,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once)),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Ie,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Re,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,Ze)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateSchedulePlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Ziel-Uhrzeit",subtype:"time","model-value":n.time,"onUpdate:modelValue":u=>t.updateState(c,u,"time")},{help:l(()=>[...e[67]||(e[67]=[i(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},{help:l(()=>[...e[68]||(e[68]=[i(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[69]||(e[69]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_scheduled,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_scheduled")},{help:l(()=>[...e[70]||(e[70]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="soc"?(d(),p(S,{key:2,title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_limit,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_limit")},{help:l(()=>[...e[71]||(e[71]=[i(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. Sobald das SoC-Limit erreicht wurde, findet keine Ladung mehr mit Überschuss statt! ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:3,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[72]||(e[72]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Datum",subtype:"date","model-value":n.frequency.once,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",$e,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128)),b.installAssistantActive?m("",!0):(d(),g("div",He,[e[75]||(e[75]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateTimeChargingPlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[73]||(e[73]=[i(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")])]),default:l(()=>[e[74]||(e[74]=i(" Laden nach Zeitplan "))]),_:2},1024)])),(d(!0),g(P,null,E(s.getChargeTemplateTimeChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",Je,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ge,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time[0])+" - "+C(n.time[1])+" ",1),n.frequency.selected=="once"?(d(),g("span",Ye,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Qe,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Xe,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,je)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateTimeChargingPlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[76]||(e[76]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Ziel-SoC für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc")},{help:l(()=>[...e[77]||(e[77]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[78]||(e[78]=[i(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(z,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":u=>t.updateState(c,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":u=>t.updateState(c,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:3,title:"Gültig ab",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Gültig bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",Ke,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[n.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeChargeTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),a(R,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=o=>t.$emit("save")),onReset:e[6]||(e[6]=o=>t.$emit("reset")),onDefaults:e[7]||(e[7]=o=>t.$emit("defaults"))})])])],64)}const tt=M(_e,[["render",et],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),ot=Object.freeze(Object.defineProperty({__proto__:null,default:tt},Symbol.toStringTag,{value:"Module"}));export{se as V,tt as a,ot as b}; diff --git a/web/settings/assets/backup_cloud-9ccbda09.js b/web/settings/assets/backup_cloud-0988d0d5.js similarity index 90% rename from web/settings/assets/backup_cloud-9ccbda09.js rename to web/settings/assets/backup_cloud-0988d0d5.js index f8cd0f37e7..6bb3ce01ee 100644 --- a/web/settings/assets/backup_cloud-9ccbda09.js +++ b/web/settings/assets/backup_cloud-0988d0d5.js @@ -1 +1 @@ -import{B as r}from"./DataManagement-fdf145a6.js";import{_ as i,u as s,l as p,m as d,G as t,E as m,y as a,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"BackupCloudSamba",mixins:[r]},f={class:"backup-cloud-samba"};function g(o,e,v,C,c,k){const u=s("openwb-base-text-input");return p(),d("div",f,[t(u,{title:"Server",subtype:"host",required:"","model-value":o.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.smb_server"))},null,8,["model-value"]),t(u,{title:"Freigabe",required:"","model-value":o.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.smb_share"))},null,8,["model-value"]),t(u,{title:"Unterordner (optional)","model-value":o.backupCloud.configuration.smb_path,pattern:'(^\\/$)|(^([^\\\\:"\\|*?<>]+\\/)+$)',required:"","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.smb_path"))},{help:m(()=>e[5]||(e[5]=[a(" Jeder Unterordner muss mit / enden."),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!'),l("br",null,null,-1),a(" Beispiel 1: openwb/ "),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ")])),_:1},8,["model-value"]),t(u,{title:"Benutzer",subtype:"user","model-value":o.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.smb_user"))},null,8,["model-value"]),t(u,{title:"Kennwort",subtype:"password","model-value":o.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.smb_password"))},null,8,["model-value"])])}const E=i(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{E as default}; +import{B as r}from"./DataManagement-2af74759.js";import{_ as i,u as s,l as p,m as d,G as t,E as m,y as a,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"BackupCloudSamba",mixins:[r]},f={class:"backup-cloud-samba"};function g(o,e,v,C,c,k){const u=s("openwb-base-text-input");return p(),d("div",f,[t(u,{title:"Server",subtype:"host",required:"","model-value":o.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.smb_server"))},null,8,["model-value"]),t(u,{title:"Freigabe",required:"","model-value":o.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.smb_share"))},null,8,["model-value"]),t(u,{title:"Unterordner (optional)","model-value":o.backupCloud.configuration.smb_path,pattern:'(^\\/$)|(^([^\\\\:"\\|*?<>]+\\/)+$)',required:"","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.smb_path"))},{help:m(()=>e[5]||(e[5]=[a(" Jeder Unterordner muss mit / enden."),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!'),l("br",null,null,-1),a(" Beispiel 1: openwb/ "),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ")])),_:1},8,["model-value"]),t(u,{title:"Benutzer",subtype:"user","model-value":o.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.smb_user"))},null,8,["model-value"]),t(u,{title:"Kennwort",subtype:"password","model-value":o.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.smb_password"))},null,8,["model-value"])])}const E=i(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{E as default}; diff --git a/web/settings/assets/backup_cloud-a96cb4a0.js b/web/settings/assets/backup_cloud-6d7d2b92.js similarity index 88% rename from web/settings/assets/backup_cloud-a96cb4a0.js rename to web/settings/assets/backup_cloud-6d7d2b92.js index 62bb299eab..b784327836 100644 --- a/web/settings/assets/backup_cloud-a96cb4a0.js +++ b/web/settings/assets/backup_cloud-6d7d2b92.js @@ -1 +1 @@ -import{B as s}from"./DataManagement-fdf145a6.js";import{_ as a,u as r,l as i,m as l,G as u,E as d,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[s]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const n=r("openwb-base-text-input");return i(),l("div",c,[u(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},{help:d(()=>e[3]||(e[3]=[p(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")])),_:1},8,["model-value"]),u(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),u(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{$ as default}; +import{B as s}from"./DataManagement-2af74759.js";import{_ as a,u as r,l as i,m as l,G as u,E as d,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[s]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const n=r("openwb-base-text-input");return i(),l("div",c,[u(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},{help:d(()=>e[3]||(e[3]=[p(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")])),_:1},8,["model-value"]),u(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),u(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{$ as default}; diff --git a/web/settings/assets/backup_cloud-82179585.js b/web/settings/assets/backup_cloud-bddc42ce.js similarity index 84% rename from web/settings/assets/backup_cloud-82179585.js rename to web/settings/assets/backup_cloud-bddc42ce.js index c577b1c47f..0fd0d29bcd 100644 --- a/web/settings/assets/backup_cloud-82179585.js +++ b/web/settings/assets/backup_cloud-bddc42ce.js @@ -1 +1 @@ -import{B as r}from"./DataManagement-fdf145a6.js";import{_ as p,u,l as i,m as l,G as d,E as c,y as o,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNfs",mixins:[r]},f={class:"backup-cloud-nfs"};function _(t,e,b,k,v,x){const a=u("openwb-base-text-input");return i(),l("div",f,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$",required:"","model-value":t.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.nfs_share"))},{help:c(()=>e[1]||(e[1]=[o(" 1. IP basierter Pfad: 1.2.3.4:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ")])),_:1},8,["model-value"])])}const V=p(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{V as default}; +import{B as r}from"./DataManagement-2af74759.js";import{_ as p,u,l as i,m as l,G as d,E as c,y as o,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNfs",mixins:[r]},f={class:"backup-cloud-nfs"};function _(t,e,b,k,v,x){const a=u("openwb-base-text-input");return i(),l("div",f,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$",required:"","model-value":t.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.nfs_share"))},{help:c(()=>e[1]||(e[1]=[o(" 1. IP basierter Pfad: 1.2.3.4:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ")])),_:1},8,["model-value"])])}const V=p(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{V as default}; diff --git a/web/settings/assets/backup_cloud-5a41a507.js b/web/settings/assets/backup_cloud-c7903444.js similarity index 94% rename from web/settings/assets/backup_cloud-5a41a507.js rename to web/settings/assets/backup_cloud-c7903444.js index 557aaa734e..693d551df4 100644 --- a/web/settings/assets/backup_cloud-5a41a507.js +++ b/web/settings/assets/backup_cloud-c7903444.js @@ -1 +1 @@ -import{B as c}from"./DataManagement-fdf145a6.js";import{_ as m,u as a,l as b,m as f,G as t,E as r,y as n,x as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"BackupCloudOneDrive",mixins:[c]},v={class:"backup-cloud-one-drive"};function k(o,e,h,w,B,C){const d=a("openwb-base-alert"),u=a("openwb-base-text-input"),p=a("openwb-base-heading"),l=a("openwb-base-button-input");return b(),f("div",v,[t(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")])),_:1}),t(u,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":o.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.backuppath"))},{help:r(()=>e[4]||(e[4]=[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ")])),_:1},8,["model-value"]),t(u,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":o.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(p,null,{default:r(()=>e[5]||(e[5]=[n(" Zugang zu OneDrive für diese openWB autorisieren ")])),_:1}),t(l,{title:"1. Anmeldeanforderung erstellen","button-text":"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=s=>o.sendSystemCommand("requestMSALAuthCode",{}))},{help:r(()=>e[6]||(e[6]=[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),i("br",null,null,-1),n(" Weitere Infos:"),i("br",null,null,-1),i("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),i("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1)])),_:1}),t(u,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":o.backupCloud.configuration.authcode},null,8,["model-value"]),t(u,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":o.backupCloud.configuration.authurl},{help:r(()=>e[7]||(e[7]=[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")])),_:1},8,["model-value"]),t(l,{title:"4. Token abrufen und speichern","button-text":"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=s=>o.sendSystemCommand("retrieveMSALTokens",{}))},{help:r(()=>e[8]||(e[8]=[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")])),_:1})])}const L=m(g,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{L as default}; +import{B as c}from"./DataManagement-2af74759.js";import{_ as m,u as a,l as b,m as f,G as t,E as r,y as n,x as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"BackupCloudOneDrive",mixins:[c]},v={class:"backup-cloud-one-drive"};function k(o,e,h,w,B,C){const d=a("openwb-base-alert"),u=a("openwb-base-text-input"),p=a("openwb-base-heading"),l=a("openwb-base-button-input");return b(),f("div",v,[t(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")])),_:1}),t(u,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":o.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.backuppath"))},{help:r(()=>e[4]||(e[4]=[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ")])),_:1},8,["model-value"]),t(u,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":o.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(p,null,{default:r(()=>e[5]||(e[5]=[n(" Zugang zu OneDrive für diese openWB autorisieren ")])),_:1}),t(l,{title:"1. Anmeldeanforderung erstellen","button-text":"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=s=>o.sendSystemCommand("requestMSALAuthCode",{}))},{help:r(()=>e[6]||(e[6]=[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),i("br",null,null,-1),n(" Weitere Infos:"),i("br",null,null,-1),i("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),i("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1)])),_:1}),t(u,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":o.backupCloud.configuration.authcode},null,8,["model-value"]),t(u,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":o.backupCloud.configuration.authurl},{help:r(()=>e[7]||(e[7]=[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")])),_:1},8,["model-value"]),t(l,{title:"4. Token abrufen und speichern","button-text":"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=s=>o.sendSystemCommand("retrieveMSALTokens",{}))},{help:r(()=>e[8]||(e[8]=[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")])),_:1})])}const L=m(g,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{L as default}; diff --git a/web/settings/assets/bat-d84eb370.js b/web/settings/assets/bat-0e972653.js similarity index 83% rename from web/settings/assets/bat-d84eb370.js rename to web/settings/assets/bat-0e972653.js index 2336143cfa..cbd14a7673 100644 --- a/web/settings/assets/bat-d84eb370.js +++ b/web/settings/assets/bat-0e972653.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as n,l as u,m as l,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyBat",mixins:[m]},b={class:"device-sigenergy-bat"};function _(o,e,c,f,v,y){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return u(),l("div",b,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Sigenergy Batteriespeicher ")])),_:1}),t(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=d(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as n,l as u,m as l,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyBat",mixins:[m]},b={class:"device-sigenergy-bat"};function _(o,e,c,f,v,y){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return u(),l("div",b,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Sigenergy Batteriespeicher ")])),_:1}),t(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=d(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{V as default}; diff --git a/web/settings/assets/bat-994c7663.js b/web/settings/assets/bat-1eddc274.js similarity index 82% rename from web/settings/assets/bat-994c7663.js rename to web/settings/assets/bat-1eddc274.js index 0cd5b84a1a..ae92050cbe 100644 --- a/web/settings/assets/bat-994c7663.js +++ b/web/settings/assets/bat-1eddc274.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l as p,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceHuaweiSmartLoggerBat",mixins:[s]},c={class:"device-huawei-smart-logger-bat"};function b(o,e,g,f,w,v){const i=t("openwb-base-heading"),a=t("openwb-base-number-input");return p(),u("div",c,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Batteriespeicher ")])),_:1}),n(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/bat.vue"]]);export{H as default}; +import{C as s}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l as p,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceHuaweiSmartLoggerBat",mixins:[s]},c={class:"device-huawei-smart-logger-bat"};function b(o,e,g,f,w,v){const i=t("openwb-base-heading"),a=t("openwb-base-number-input");return p(),u("div",c,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Batteriespeicher ")])),_:1}),n(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/bat.vue"]]);export{H as default}; diff --git a/web/settings/assets/bat-eaa9b535.js b/web/settings/assets/bat-2a9a8fa7.js similarity index 94% rename from web/settings/assets/bat-eaa9b535.js rename to web/settings/assets/bat-2a9a8fa7.js index 21762140d6..a10ca7bb19 100644 --- a/web/settings/assets/bat-eaa9b535.js +++ b/web/settings/assets/bat-2a9a8fa7.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as p,l as b,m as g,G as l,E as i,y as t,x as n,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttBat",mixins:[m]},k={class:"device-mqtt-bat"};function B(o,e,z,x,w,W){const u=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),d=p("openwb-base-alert");return b(),g("div",k,[l(u,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Batteriespeicher ")])),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[26]||(e[26]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung")),e[3]||(e[3]=n("br",null,null,-1)),e[4]||(e[4]=t(" Beispiel: ")),e[5]||(e[5]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Beispiel: ")),e[10]||(e[10]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[13]||(e[13]=n("br",null,null,-1)),e[14]||(e[14]=t(" Beispiel: ")),e[15]||(e[15]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100")),e[18]||(e[18]=n("br",null,null,-1)),e[19]||(e[19]=t(" Beispiel: ")),e[20]||(e[20]=n("span",{class:"text-info"},"95",-1))])]),e[27]||(e[27]=t(" Optional: Wenn der Speicher dies unterstützt, kann folgendes Topic abonniert werden, um die Entladeleistung im Speicher zu setzen. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.")),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Beispiel: ")),e[25]||(e[25]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1})])}const I=a(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{I as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as p,l as b,m as g,G as l,E as i,y as t,x as n,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttBat",mixins:[m]},k={class:"device-mqtt-bat"};function B(o,e,z,x,w,W){const u=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),d=p("openwb-base-alert");return b(),g("div",k,[l(u,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Batteriespeicher ")])),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[26]||(e[26]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung")),e[3]||(e[3]=n("br",null,null,-1)),e[4]||(e[4]=t(" Beispiel: ")),e[5]||(e[5]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Beispiel: ")),e[10]||(e[10]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[13]||(e[13]=n("br",null,null,-1)),e[14]||(e[14]=t(" Beispiel: ")),e[15]||(e[15]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100")),e[18]||(e[18]=n("br",null,null,-1)),e[19]||(e[19]=t(" Beispiel: ")),e[20]||(e[20]=n("span",{class:"text-info"},"95",-1))])]),e[27]||(e[27]=t(" Optional: Wenn der Speicher dies unterstützt, kann folgendes Topic abonniert werden, um die Entladeleistung im Speicher zu setzen. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.")),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Beispiel: ")),e[25]||(e[25]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1})])}const I=a(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{I as default}; diff --git a/web/settings/assets/bat-7170eed4.js b/web/settings/assets/bat-3128f856.js similarity index 81% rename from web/settings/assets/bat-7170eed4.js rename to web/settings/assets/bat-3128f856.js index 2038cd7dd3..8c52a758ec 100644 --- a/web/settings/assets/bat-7170eed4.js +++ b/web/settings/assets/bat-3128f856.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFroniusBat",mixins:[a]},_={class:"device-fronius-bat"};function f(o,e,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Fronius Batteriespeicher ")])),_:1}),t(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.meter_id"))},null,8,["model-value"])])}const F=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/bat.vue"]]);export{F as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFroniusBat",mixins:[a]},_={class:"device-fronius-bat"};function f(o,e,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Fronius Batteriespeicher ")])),_:1}),t(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.meter_id"))},null,8,["model-value"])])}const F=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/bat.vue"]]);export{F as default}; diff --git a/web/settings/assets/bat-78298702.js b/web/settings/assets/bat-56ad6f91.js similarity index 81% rename from web/settings/assets/bat-78298702.js rename to web/settings/assets/bat-56ad6f91.js index 76dffd3f39..472a5b8469 100644 --- a/web/settings/assets/bat-78298702.js +++ b/web/settings/assets/bat-56ad6f91.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as t,l as m,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceStuderBat",mixins:[a]},_={class:"device-studer-bat"};function b(o,e,f,v,g,w){const i=t("openwb-base-heading"),s=t("openwb-base-number-input");return m(),u("div",_,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Studer Batteriespeicher ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/bat.vue"]]);export{M as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as t,l as m,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceStuderBat",mixins:[a]},_={class:"device-studer-bat"};function b(o,e,f,v,g,w){const i=t("openwb-base-heading"),s=t("openwb-base-number-input");return m(),u("div",_,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Studer Batteriespeicher ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-ae4623d4.js b/web/settings/assets/bat-594c5e06.js similarity index 92% rename from web/settings/assets/bat-ae4623d4.js rename to web/settings/assets/bat-594c5e06.js index 9163db9f1f..2b7a03b05a 100644 --- a/web/settings/assets/bat-ae4623d4.js +++ b/web/settings/assets/bat-594c5e06.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as l,l as p,m,G as o,E as a,y as r,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function w(t,e,v,j,q,_){const s=l("openwb-base-heading"),i=l("openwb-base-text-input");return p(),m("div",b,[o(s,null,{default:a(()=>e[4]||(e[4]=[r(" Einstellungen für JSON Batteriespeicher ")])),_:1}),o(i,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":t.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.jq_power"))},{help:a(()=>e[5]||(e[5]=[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":t.component.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.jq_soc"))},null,8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:a(()=>e[6]||(e[6]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:a(()=>e[7]||(e[7]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const E=u(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/bat.vue"]]);export{E as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as l,l as p,m,G as o,E as a,y as r,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function w(t,e,v,j,q,_){const s=l("openwb-base-heading"),i=l("openwb-base-text-input");return p(),m("div",b,[o(s,null,{default:a(()=>e[4]||(e[4]=[r(" Einstellungen für JSON Batteriespeicher ")])),_:1}),o(i,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":t.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.jq_power"))},{help:a(()=>e[5]||(e[5]=[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":t.component.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.jq_soc"))},null,8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:a(()=>e[6]||(e[6]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:a(()=>e[7]||(e[7]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const E=u(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/bat.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-3168142b.js b/web/settings/assets/bat-71678e56.js similarity index 81% rename from web/settings/assets/bat-3168142b.js rename to web/settings/assets/bat-71678e56.js index aca3c68aed..de96682a39 100644 --- a/web/settings/assets/bat-3168142b.js +++ b/web/settings/assets/bat-71678e56.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVictronBat",mixins:[a]},_={class:"device-victron-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[c(" Einstellungen für Victron Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{M as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVictronBat",mixins:[a]},_={class:"device-victron-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[c(" Einstellungen für Victron Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-6e7e4df3.js b/web/settings/assets/bat-72e0ef16.js similarity index 82% rename from web/settings/assets/bat-6e7e4df3.js rename to web/settings/assets/bat-72e0ef16.js index d58794edf3..adf25d5f6a 100644 --- a/web/settings/assets/bat-6e7e4df3.js +++ b/web/settings/assets/bat-72e0ef16.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const h=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat.vue"]]);export{h as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const h=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat.vue"]]);export{h as default}; diff --git a/web/settings/assets/bat-709b4dff.js b/web/settings/assets/bat-80c609d7.js similarity index 94% rename from web/settings/assets/bat-709b4dff.js rename to web/settings/assets/bat-80c609d7.js index d8bf83a75d..bdba4ba30c 100644 --- a/web/settings/assets/bat-709b4dff.js +++ b/web/settings/assets/bat-80c609d7.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as s,l as p,m as g,G as r,E as i,y as n,x as o}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,v,w,c,k){const d=s("openwb-base-heading"),l=s("openwb-base-text-input");return p(),g("div",b,[r(d,null,{default:i(()=>e[4]||(e[4]=[n(" Einstellungen für Http Batteriespeicher ")])),_:1}),r(l,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.power_path"))},{help:i(()=>e[5]||(e[5]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateConfiguration(a,"configuration.soc_path"))},{help:i(()=>e[6]||(e[6]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateConfiguration(a,"configuration.imported_path"))},{help:i(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateConfiguration(a,"configuration.exported_path"))},{help:i(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),o("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const A=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{A as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as s,l as p,m as g,G as r,E as i,y as n,x as o}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,v,w,c,k){const d=s("openwb-base-heading"),l=s("openwb-base-text-input");return p(),g("div",b,[r(d,null,{default:i(()=>e[4]||(e[4]=[n(" Einstellungen für Http Batteriespeicher ")])),_:1}),r(l,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.power_path"))},{help:i(()=>e[5]||(e[5]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateConfiguration(a,"configuration.soc_path"))},{help:i(()=>e[6]||(e[6]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateConfiguration(a,"configuration.imported_path"))},{help:i(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateConfiguration(a,"configuration.exported_path"))},{help:i(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),o("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const A=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{A as default}; diff --git a/web/settings/assets/bat-6d32db11.js b/web/settings/assets/bat-81dcce8e.js similarity index 82% rename from web/settings/assets/bat-6d32db11.js rename to web/settings/assets/bat-81dcce8e.js index 948b8389e4..595197bd3f 100644 --- a/web/settings/assets/bat-6d32db11.js +++ b/web/settings/assets/bat-81dcce8e.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeBat",mixins:[s]},_={class:"device-solaredge-bat"};function b(o,e,f,g,v,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Batteriespeicher ")])),_:1}),t(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{D as default}; +import{C as s}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeBat",mixins:[s]},_={class:"device-solaredge-bat"};function b(o,e,f,g,v,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Batteriespeicher ")])),_:1}),t(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{D as default}; diff --git a/web/settings/assets/bat-457ed942.js b/web/settings/assets/bat-86f621e9.js similarity index 83% rename from web/settings/assets/bat-457ed942.js rename to web/settings/assets/bat-86f621e9.js index 8e4c091ac6..f7961e4b67 100644 --- a/web/settings/assets/bat-457ed942.js +++ b/web/settings/assets/bat-86f621e9.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l as p,m as l,G as n,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxBat",mixins:[r]},b={class:"device-solarmax-bat"};function _(o,e,f,x,v,g){const a=t("openwb-base-alert"),s=t("openwb-base-number-input");return p(),l("div",b,[n(a,{subtype:"info"},{default:u(()=>e[1]||(e[1]=[d(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const T=m(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{T as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l as p,m as l,G as n,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxBat",mixins:[r]},b={class:"device-solarmax-bat"};function _(o,e,f,x,v,g){const a=t("openwb-base-alert"),s=t("openwb-base-number-input");return p(),l("div",b,[n(a,{subtype:"info"},{default:u(()=>e[1]||(e[1]=[d(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const T=m(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{T as default}; diff --git a/web/settings/assets/bat-3e04b8e1.js b/web/settings/assets/bat-878456d6.js similarity index 82% rename from web/settings/assets/bat-3e04b8e1.js rename to web/settings/assets/bat-878456d6.js index 7ecbaa1f5d..e54478c81f 100644 --- a/web/settings/assets/bat-3e04b8e1.js +++ b/web/settings/assets/bat-878456d6.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as o,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyIslandBat",mixins:[r]},c={class:"device-sunnyisland-bat"};function b(n,e,f,v,g,w){const s=o("openwb-base-heading"),i=o("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Sunny Island Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/bat.vue"]]);export{k as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as o,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyIslandBat",mixins:[r]},c={class:"device-sunnyisland-bat"};function b(n,e,f,v,g,w){const s=o("openwb-base-heading"),i=o("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Sunny Island Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-936f8aff.js b/web/settings/assets/bat-88de5805.js similarity index 86% rename from web/settings/assets/bat-936f8aff.js rename to web/settings/assets/bat-88de5805.js index 53e656d667..141a204bee 100644 --- a/web/settings/assets/bat-936f8aff.js +++ b/web/settings/assets/bat-88de5805.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as t,l as d,m as c,G as i,E as a,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-select-input"),u=t("openwb-base-number-input");return d(),c("div",_,[i(p,null,{default:a(()=>e[2]||(e[2]=[s(" Einstellungen für M-Tec Batteriespeicher ")])),_:1}),i(r,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:2,text:"Gen 2"},{value:3,text:"Gen 3"}],"model-value":o.component.configuration.generation,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"]),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:a(()=>e[3]||(e[3]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=l(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/bat.vue"]]);export{k as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as t,l as d,m as c,G as i,E as a,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-select-input"),u=t("openwb-base-number-input");return d(),c("div",_,[i(p,null,{default:a(()=>e[2]||(e[2]=[s(" Einstellungen für M-Tec Batteriespeicher ")])),_:1}),i(r,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:2,text:"Gen 2"},{value:3,text:"Gen 3"}],"model-value":o.component.configuration.generation,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"]),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:a(()=>e[3]||(e[3]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=l(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-670d0d56.js b/web/settings/assets/bat-986161e1.js similarity index 81% rename from web/settings/assets/bat-670d0d56.js rename to web/settings/assets/bat-986161e1.js index 476c016405..4d424ab252 100644 --- a/web/settings/assets/bat-670d0d56.js +++ b/web/settings/assets/bat-986161e1.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeBat",mixins:[r]},_={class:"device-deye-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/bat.vue"]]);export{k as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeBat",mixins:[r]},_={class:"device-deye-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-e78965ec.js b/web/settings/assets/bat-9b9b821e.js similarity index 89% rename from web/settings/assets/bat-e78965ec.js rename to web/settings/assets/bat-9b9b821e.js index a87392dc76..3c0800aa6c 100644 --- a/web/settings/assets/bat-e78965ec.js +++ b/web/settings/assets/bat-9b9b821e.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as r,u as o,l,m,G as n,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbBatkitBat",mixins:[p]},_={class:"device-openwb-batkit-bat"};function b(t,e,f,v,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),m("div",_,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_bat_kit/bat.vue"]]);export{$ as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as r,u as o,l,m,G as n,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbBatkitBat",mixins:[p]},_={class:"device-openwb-batkit-bat"};function b(t,e,f,v,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),m("div",_,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_bat_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-4f676382.js b/web/settings/assets/bat-eeb6666d.js similarity index 86% rename from web/settings/assets/bat-4f676382.js rename to web/settings/assets/bat-eeb6666d.js index cf080fd423..b23550c121 100644 --- a/web/settings/assets/bat-4f676382.js +++ b/web/settings/assets/bat-eeb6666d.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-bb14911c.js";import{_ as r,u as t,l as u,m,G as i,E as d,y as b}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenwbFlexBat",mixins:[l]},f={class:"device-openwb-flex-bat"};function _(o,e,v,w,g,x){const a=t("openwb-base-heading"),p=t("openwb-base-select-input"),s=t("openwb-base-number-input");return u(),m("div",f,[i(a,null,{default:d(()=>e[2]||(e[2]=[b(" Einstellungen für openWB-Flex Batteriespeicher ")])),_:1}),i(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(s,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const k=r(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/bat.vue"]]);export{k as default}; +import{C as l}from"./HardwareInstallation-a49fa11f.js";import{_ as r,u as t,l as u,m,G as i,E as d,y as b}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenwbFlexBat",mixins:[l]},f={class:"device-openwb-flex-bat"};function _(o,e,v,w,g,x){const a=t("openwb-base-heading"),p=t("openwb-base-select-input"),s=t("openwb-base-number-input");return u(),m("div",f,[i(a,null,{default:d(()=>e[2]||(e[2]=[b(" Einstellungen für openWB-Flex Batteriespeicher ")])),_:1}),i(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(s,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const k=r(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-0c48f406.js b/web/settings/assets/bat-ef1fe6e7.js similarity index 82% rename from web/settings/assets/bat-0c48f406.js rename to web/settings/assets/bat-ef1fe6e7.js index be7089cc9a..950bb818d1 100644 --- a/web/settings/assets/bat-0c48f406.js +++ b/web/settings/assets/bat-ef1fe6e7.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as o,l as m,m as u,G as t,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceFemsBat",mixins:[r]},f={class:"device-fems-bat"};function _(n,e,b,v,g,C){const i=o("openwb-base-heading"),s=o("openwb-base-number-input");return m(),u("div",f,[t(i,null,{default:l(()=>e[1]||(e[1]=[c(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher ")])),_:1}),t(s,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":n.component.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.num"))},null,8,["model-value"])])}const S=p(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/bat.vue"]]);export{S as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as o,l as m,m as u,G as t,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceFemsBat",mixins:[r]},f={class:"device-fems-bat"};function _(n,e,b,v,g,C){const i=o("openwb-base-heading"),s=o("openwb-base-number-input");return m(),u("div",f,[t(i,null,{default:l(()=>e[1]||(e[1]=[c(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher ")])),_:1}),t(s,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":n.component.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.num"))},null,8,["model-value"])])}const S=p(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/bat.vue"]]);export{S as default}; diff --git a/web/settings/assets/bat-b9e175aa.js b/web/settings/assets/bat-f5fcfa80.js similarity index 81% rename from web/settings/assets/bat-b9e175aa.js rename to web/settings/assets/bat-f5fcfa80.js index d2e5fb09f5..c5325936c2 100644 --- a/web/settings/assets/bat-b9e175aa.js +++ b/web/settings/assets/bat-f5fcfa80.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisBat",mixins:[r]},_={class:"device-solis-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/bat.vue"]]);export{M as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisBat",mixins:[r]},_={class:"device-solis-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-adffce5e.js b/web/settings/assets/bat-f90903b5.js similarity index 81% rename from web/settings/assets/bat-adffce5e.js rename to web/settings/assets/bat-f90903b5.js index 8ad7b281f5..562d81fb35 100644 --- a/web/settings/assets/bat-adffce5e.js +++ b/web/settings/assets/bat-f90903b5.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssBat",mixins:[r]},c={class:"device-fox_ess-bat"};function b(o,e,f,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const F=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/bat.vue"]]);export{F as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssBat",mixins:[r]},c={class:"device-fox_ess-bat"};function b(o,e,f,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const F=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/bat.vue"]]);export{F as default}; diff --git a/web/settings/assets/bat-9eab7298.js b/web/settings/assets/bat-ff2e34c4.js similarity index 83% rename from web/settings/assets/bat-9eab7298.js rename to web/settings/assets/bat-ff2e34c4.js index b0f1f8d6b4..d3d5ff7aee 100644 --- a/web/settings/assets/bat-9eab7298.js +++ b/web/settings/assets/bat-ff2e34c4.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as r,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitBat",mixins:[a]},_={class:"device-openwb-evukit-bat"};function v(t,e,b,f,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),u("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/bat.vue"]]);export{$ as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as r,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitBat",mixins:[a]},_={class:"device-openwb-evukit-bat"};function v(t,e,b,f,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),u("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat_smart_energy-ea04b153.js b/web/settings/assets/bat_smart_energy-4c867c27.js similarity index 82% rename from web/settings/assets/bat_smart_energy-ea04b153.js rename to web/settings/assets/bat_smart_energy-4c867c27.js index 5a857a8a65..fe86776dd0 100644 --- a/web/settings/assets/bat_smart_energy-ea04b153.js +++ b/web/settings/assets/bat_smart_energy-4c867c27.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as o,l as p,m as u,G as t,E as d,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSunnyBoyBatSmartEnergy",mixins:[a]},b={class:"device-sunnyboy-bat-smart-energy"};function c(n,e,f,y,g,v){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return p(),u("div",b,[t(s,null,{default:d(()=>e[1]||(e[1]=[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const h=m(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat_smart_energy.vue"]]);export{h as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as o,l as p,m as u,G as t,E as d,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSunnyBoyBatSmartEnergy",mixins:[a]},b={class:"device-sunnyboy-bat-smart-energy"};function c(n,e,f,y,g,v){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return p(),u("div",b,[t(s,null,{default:d(()=>e[1]||(e[1]=[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const h=m(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat_smart_energy.vue"]]);export{h as default}; diff --git a/web/settings/assets/chargePoint-9fe4f654.js b/web/settings/assets/chargePoint-23d031b9.js similarity index 86% rename from web/settings/assets/chargePoint-9fe4f654.js rename to web/settings/assets/chargePoint-23d031b9.js index f3d80897bf..2d16a21678 100644 --- a/web/settings/assets/chargePoint-9fe4f654.js +++ b/web/settings/assets/chargePoint-23d031b9.js @@ -1 +1 @@ -import{C as p}from"./ChargePointInstallation-4851d3f5.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointSatellite",mixins:[p]},c={class:"charge-point-openwb-satellite"};function g(n,e,f,b,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const N=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{N as default}; +import{C as p}from"./ChargePointInstallation-e2d03469.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointSatellite",mixins:[p]},c={class:"charge-point-openwb-satellite"};function g(n,e,f,b,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const N=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{N as default}; diff --git a/web/settings/assets/chargePoint-c70ace8b.js b/web/settings/assets/chargePoint-54a9d033.js similarity index 86% rename from web/settings/assets/chargePoint-c70ace8b.js rename to web/settings/assets/chargePoint-54a9d033.js index 7268e5a73f..ef561502fb 100644 --- a/web/settings/assets/chargePoint-c70ace8b.js +++ b/web/settings/assets/chargePoint-54a9d033.js @@ -1 +1 @@ -import{C as r}from"./ChargePointInstallation-4851d3f5.js";import{_ as i,u as a,l as p,m as s,G as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbDcAdapter",mixins:[r]},m={class:"charge-point-openwb-dc-adapter"};function u(e,o,_,l,f,g){const t=a("openwb-base-text-input");return p(),s("div",m,[d(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":e.chargePoint.configuration.ip_address,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_dc_adapter/chargePoint.vue"]]);export{k as default}; +import{C as r}from"./ChargePointInstallation-e2d03469.js";import{_ as i,u as a,l as p,m as s,G as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbDcAdapter",mixins:[r]},m={class:"charge-point-openwb-dc-adapter"};function u(e,o,_,l,f,g){const t=a("openwb-base-text-input");return p(),s("div",m,[d(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":e.chargePoint.configuration.ip_address,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_dc_adapter/chargePoint.vue"]]);export{k as default}; diff --git a/web/settings/assets/chargePoint-219e2ada.js b/web/settings/assets/chargePoint-65ae1b24.js similarity index 97% rename from web/settings/assets/chargePoint-219e2ada.js rename to web/settings/assets/chargePoint-65ae1b24.js index 6fd8d1d977..7aad4c5fd3 100644 --- a/web/settings/assets/chargePoint-219e2ada.js +++ b/web/settings/assets/chargePoint-65ae1b24.js @@ -1 +1 @@ -import{C as d}from"./ChargePointInstallation-4851d3f5.js";import{_ as g,u,l as a,m,G as e,E as i,y as t,x as l,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointMqtt",mixins:[d]},b={class:"charge-point-mqtt"};function k(o,n,B,v,w,W){const p=u("openwb-base-alert"),s=u("openwb-base-copy-to-clipboard");return a(),m("div",b,[e(p,{subtype:"danger"},{default:i(()=>n[0]||(n[0]=[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")])),_:1}),e(p,{subtype:"info"},{default:i(()=>[n[72]||(n[72]=t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden.")),n[73]||(n[73]=l("br",null,null,-1)),n[74]||(n[74]=t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). ")),l("ol",null,[l("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=l("br",null,null,-1)),n[2]||(n[2]=t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[3]||(n[3]=l("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=l("span",{class:"text-info"},"12.34",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=l("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3")),n[8]||(n[8]=l("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=l("span",{class:"text-info"},"1",-1))])])]),l("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=l("br",null,null,-1)),n[13]||(n[13]=t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[14]||(n[14]=l("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ")),n[16]||(n[16]=l("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=l("br",null,null,-1)),n[18]||(n[18]=t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[19]||(n[19]=l("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ")),n[21]||(n[21]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=l("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).")),n[24]||(n[24]=l("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ")),n[26]||(n[26]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=l("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).")),n[29]||(n[29]=l("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ")),n[31]||(n[31]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=l("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3")),n[34]||(n[34]=l("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ")),n[36]||(n[36]=l("span",{class:"text-info"},"3",-1))])])]),l("li",null,[n[71]||(n[71]=t(" optionale Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=l("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[40]||(n[40]=l("br",null,null,-1)),n[41]||(n[41]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[42]||(n[42]=l("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ")),n[44]||(n[44]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=l("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[47]||(n[47]=l("br",null,null,-1)),n[48]||(n[48]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[49]||(n[49]=l("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ")),n[51]||(n[51]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=l("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.")),n[54]||(n[54]=l("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[56]||(n[56]=l("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ")),n[58]||(n[58]=l("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=l("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.")),n[61]||(n[61]=l("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[63]||(n[63]=l("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ")),n[65]||(n[65]=l("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/rfid_tag ",1)]),_:1}),n[66]||(n[66]=l("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert.")),n[68]||(n[68]=l("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ")),n[70]||(n[70]=l("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const Z=g(f,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{Z as default}; +import{C as d}from"./ChargePointInstallation-e2d03469.js";import{_ as g,u,l as a,m,G as e,E as i,y as t,x as l,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointMqtt",mixins:[d]},b={class:"charge-point-mqtt"};function k(o,n,B,v,w,W){const p=u("openwb-base-alert"),s=u("openwb-base-copy-to-clipboard");return a(),m("div",b,[e(p,{subtype:"danger"},{default:i(()=>n[0]||(n[0]=[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")])),_:1}),e(p,{subtype:"info"},{default:i(()=>[n[72]||(n[72]=t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden.")),n[73]||(n[73]=l("br",null,null,-1)),n[74]||(n[74]=t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). ")),l("ol",null,[l("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=l("br",null,null,-1)),n[2]||(n[2]=t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[3]||(n[3]=l("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=l("span",{class:"text-info"},"12.34",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=l("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3")),n[8]||(n[8]=l("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=l("span",{class:"text-info"},"1",-1))])])]),l("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=l("br",null,null,-1)),n[13]||(n[13]=t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[14]||(n[14]=l("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ")),n[16]||(n[16]=l("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=l("br",null,null,-1)),n[18]||(n[18]=t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[19]||(n[19]=l("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ")),n[21]||(n[21]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=l("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).")),n[24]||(n[24]=l("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ")),n[26]||(n[26]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=l("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).")),n[29]||(n[29]=l("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ")),n[31]||(n[31]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=l("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3")),n[34]||(n[34]=l("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ")),n[36]||(n[36]=l("span",{class:"text-info"},"3",-1))])])]),l("li",null,[n[71]||(n[71]=t(" optionale Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=l("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[40]||(n[40]=l("br",null,null,-1)),n[41]||(n[41]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[42]||(n[42]=l("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ")),n[44]||(n[44]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=l("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[47]||(n[47]=l("br",null,null,-1)),n[48]||(n[48]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[49]||(n[49]=l("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ")),n[51]||(n[51]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=l("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.")),n[54]||(n[54]=l("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[56]||(n[56]=l("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ")),n[58]||(n[58]=l("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=l("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.")),n[61]||(n[61]=l("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[63]||(n[63]=l("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ")),n[65]||(n[65]=l("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/rfid_tag ",1)]),_:1}),n[66]||(n[66]=l("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert.")),n[68]||(n[68]=l("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ")),n[70]||(n[70]=l("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const Z=g(f,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{Z as default}; diff --git a/web/settings/assets/chargePoint-e841d870.js b/web/settings/assets/chargePoint-882bf2ac.js similarity index 86% rename from web/settings/assets/chargePoint-e841d870.js rename to web/settings/assets/chargePoint-882bf2ac.js index b970a42537..7c1fbaa197 100644 --- a/web/settings/assets/chargePoint-e841d870.js +++ b/web/settings/assets/chargePoint-882bf2ac.js @@ -1 +1 @@ -import{C as r}from"./ChargePointInstallation-4851d3f5.js";import{_ as i,u as p,l as s,m as a,G as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbPro",mixins:[r]},d={class:"charge-point-openwb-pro"};function u(o,e,_,l,f,g){const t=p("openwb-base-text-input");return s(),a("div",d,[m(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{k as default}; +import{C as r}from"./ChargePointInstallation-e2d03469.js";import{_ as i,u as p,l as s,m as a,G as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbPro",mixins:[r]},d={class:"charge-point-openwb-pro"};function u(o,e,_,l,f,g){const t=p("openwb-base-text-input");return s(),a("div",d,[m(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{k as default}; diff --git a/web/settings/assets/chargePoint-0589eb90.js b/web/settings/assets/chargePoint-924b624b.js similarity index 89% rename from web/settings/assets/chargePoint-0589eb90.js rename to web/settings/assets/chargePoint-924b624b.js index ac4f082a84..c21a0c00e9 100644 --- a/web/settings/assets/chargePoint-0589eb90.js +++ b/web/settings/assets/chargePoint-924b624b.js @@ -1 +1 @@ -import{C as u}from"./ChargePointInstallation-4851d3f5.js";import{_ as p,u as t,l as i,m as d,G as m,z as l,E as c,y as g,B as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointInternalOpenwb",mixins:[u],methods:{updateMode(e){["series","socket","pro_plus"].includes(e)&&this.updateConfiguration(0,"configuration.duo_num"),this.updateConfiguration(e,"configuration.mode")}}},b={class:"charge-point-internal-openwb"};function h(e,o,B,v,w,a){const r=t("openwb-base-select-input"),s=t("openwb-base-number-input");return i(),d("div",b,[m(r,{title:"Bauart","not-selected":"Bitte auswählen",required:"",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"},{value:"pro_plus",text:"openWB Pro+"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":o[0]||(o[0]=n=>a.updateMode(n))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n-1,"configuration.duo_num"))},{help:c(()=>o[2]||(o[2]=[g(' Bei einer openWB Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. ')])),_:1},8,["model-value"])):_("",!0)])}const q=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{q as default}; +import{C as u}from"./ChargePointInstallation-e2d03469.js";import{_ as p,u as t,l as i,m as d,G as m,z as l,E as c,y as g,B as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointInternalOpenwb",mixins:[u],methods:{updateMode(e){["series","socket","pro_plus"].includes(e)&&this.updateConfiguration(0,"configuration.duo_num"),this.updateConfiguration(e,"configuration.mode")}}},b={class:"charge-point-internal-openwb"};function h(e,o,B,v,w,a){const r=t("openwb-base-select-input"),s=t("openwb-base-number-input");return i(),d("div",b,[m(r,{title:"Bauart","not-selected":"Bitte auswählen",required:"",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"},{value:"pro_plus",text:"openWB Pro+"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":o[0]||(o[0]=n=>a.updateMode(n))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n-1,"configuration.duo_num"))},{help:c(()=>o[2]||(o[2]=[g(' Bei einer openWB Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. ')])),_:1},8,["model-value"])):_("",!0)])}const q=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{q as default}; diff --git a/web/settings/assets/chargePoint-80dffdd9.js b/web/settings/assets/chargePoint-d5b1d9bd.js similarity index 86% rename from web/settings/assets/chargePoint-80dffdd9.js rename to web/settings/assets/chargePoint-d5b1d9bd.js index 0413995d24..684e7cadc9 100644 --- a/web/settings/assets/chargePoint-80dffdd9.js +++ b/web/settings/assets/chargePoint-d5b1d9bd.js @@ -1 +1 @@ -import{C as p}from"./ChargePointInstallation-4851d3f5.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointExternalOpenwb",mixins:[p]},c={class:"charge-point-external-openwb"};function g(n,e,b,f,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const E=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{E as default}; +import{C as p}from"./ChargePointInstallation-e2d03469.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointExternalOpenwb",mixins:[p]},c={class:"charge-point-external-openwb"};function g(n,e,b,f,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const E=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{E as default}; diff --git a/web/settings/assets/chargePoint-17364b91.js b/web/settings/assets/chargePoint-f168bf5c.js similarity index 86% rename from web/settings/assets/chargePoint-17364b91.js rename to web/settings/assets/chargePoint-f168bf5c.js index d28e27f6e3..626f71163d 100644 --- a/web/settings/assets/chargePoint-17364b91.js +++ b/web/settings/assets/chargePoint-f168bf5c.js @@ -1 +1 @@ -import{C as s}from"./ChargePointInstallation-4851d3f5.js";import{_ as p,u as n,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"ChargePointSmartwb",mixins:[s]},b={class:"charge-point-smartwb"};function c(t,e,f,_,w,v){const r=n("openwb-base-text-input"),a=n("openwb-base-number-input");return u(),m("div",b,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":t.chargePoint.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:d(()=>e[2]||(e[2]=[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")])),_:1},8,["model-value"])])}const q=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{q as default}; +import{C as s}from"./ChargePointInstallation-e2d03469.js";import{_ as p,u as n,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"ChargePointSmartwb",mixins:[s]},b={class:"charge-point-smartwb"};function c(t,e,f,_,w,v){const r=n("openwb-base-text-input"),a=n("openwb-base-number-input");return u(),m("div",b,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":t.chargePoint.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:d(()=>e[2]||(e[2]=[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")])),_:1},8,["model-value"])])}const q=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{q as default}; diff --git a/web/settings/assets/commands-c2da35a6.js b/web/settings/assets/commands-764e20d6.js similarity index 93% rename from web/settings/assets/commands-c2da35a6.js rename to web/settings/assets/commands-764e20d6.js index 21dcfa9446..d537d6fdd9 100644 --- a/web/settings/assets/commands-c2da35a6.js +++ b/web/settings/assets/commands-764e20d6.js @@ -1 +1 @@ -import{a as g}from"./ChargePointInstallation-4851d3f5.js";import{_ as h,u,l as a,m as c,G as d,E as r,y as i,z as _,F as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointCommandsInternalOpenwb",mixins:[g],computed:{mode(){switch(this.chargePoint.configuration.mode){case"series":return"openWB series1/2 custom, standard & standard+";case"duo":return"openWB series1/2 Duo";case"socket":return"openWB series1/2 Buchse";case"pro_plus":return"openWB Pro+";default:return this.chargePoint.configuration.mode}}},methods:{async triggerUpdate(){let n=new FormData;n.append("command","update_pro_plus");const t="Die Aktualisierung der openWB Pro+ wird gestartet...";this.$root.postClientMessage(t,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/internal_openwb/commands.php",n,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro+ wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+location.hostname+":8080","_blank")}}},b={class:"charge-point-commands-internal-openwb"},k={key:0};function B(n,t,e,s,w,o){const p=u("openwb-base-button-input"),m=u("openwb-base-alert");return a(),c("div",b,[n.chargePoint.configuration.mode=="pro_plus"?(a(),c("div",k,[d(p,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",onButtonClicked:o.triggerUpdate},{help:r(()=>t[0]||(t[0]=[i(" Hier können Sie die Aktualisierung der openWB Pro anstoßen. Bitte stellen Sie sicher, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["onButtonClicked"]),d(p,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",onButtonClicked:o.openSettings},{help:r(()=>t[1]||(t[1]=[i(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["onButtonClicked"])])):(a(),_(m,{key:1,subtype:"secondary"},{default:r(()=>[i(' Der Ladepunkt-Typ "'+l(n.chargePoint.type)+'" bietet für die Bauart "'+l(o.mode)+'" keine Befehle an. ',1)]),_:1}))])}const S=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{S as default}; +import{a as g}from"./ChargePointInstallation-e2d03469.js";import{_ as h,u,l as a,m as c,G as d,E as r,y as i,z as _,F as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointCommandsInternalOpenwb",mixins:[g],computed:{mode(){switch(this.chargePoint.configuration.mode){case"series":return"openWB series1/2 custom, standard & standard+";case"duo":return"openWB series1/2 Duo";case"socket":return"openWB series1/2 Buchse";case"pro_plus":return"openWB Pro+";default:return this.chargePoint.configuration.mode}}},methods:{async triggerUpdate(){let n=new FormData;n.append("command","update_pro_plus");const t="Die Aktualisierung der openWB Pro+ wird gestartet...";this.$root.postClientMessage(t,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/internal_openwb/commands.php",n,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro+ wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+location.hostname+":8080","_blank")}}},b={class:"charge-point-commands-internal-openwb"},k={key:0};function B(n,t,e,s,w,o){const p=u("openwb-base-button-input"),m=u("openwb-base-alert");return a(),c("div",b,[n.chargePoint.configuration.mode=="pro_plus"?(a(),c("div",k,[d(p,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",onButtonClicked:o.triggerUpdate},{help:r(()=>t[0]||(t[0]=[i(" Hier können Sie die Aktualisierung der openWB Pro anstoßen. Bitte stellen Sie sicher, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["onButtonClicked"]),d(p,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",onButtonClicked:o.openSettings},{help:r(()=>t[1]||(t[1]=[i(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["onButtonClicked"])])):(a(),_(m,{key:1,subtype:"secondary"},{default:r(()=>[i(' Der Ladepunkt-Typ "'+l(n.chargePoint.type)+'" bietet für die Bauart "'+l(o.mode)+'" keine Befehle an. ',1)]),_:1}))])}const S=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{S as default}; diff --git a/web/settings/assets/commands-05432a36.js b/web/settings/assets/commands-bfc94eef.js similarity index 92% rename from web/settings/assets/commands-05432a36.js rename to web/settings/assets/commands-bfc94eef.js index 88834f398a..f57628867d 100644 --- a/web/settings/assets/commands-05432a36.js +++ b/web/settings/assets/commands-bfc94eef.js @@ -1 +1 @@ -import{a as d}from"./ChargePointInstallation-4851d3f5.js";import{_ as u,u as c,l,m as g,G as a,E as r,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"ChargePointCommandsOpenwbPro",mixins:[d],methods:{async triggerUpdate(){let t=new FormData;t.append("command","update"),t.append("data",'{"ip_address":"'+this.chargePoint.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",t,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+this.chargePoint.configuration.ip_address,"_blank")}}},h={class:"charge-point-commands-openwb-pro"};function f(t,n,e,s,b,o){const i=c("openwb-base-button-input");return l(),g("div",h,[a(i,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:r(()=>n[0]||(n[0]=[p(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["disabled","onButtonClicked"]),a(i,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.openSettings},{help:r(()=>n[1]||(n[1]=[p(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["disabled","onButtonClicked"])])}const v=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{v as default}; +import{a as d}from"./ChargePointInstallation-e2d03469.js";import{_ as u,u as c,l,m as g,G as a,E as r,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"ChargePointCommandsOpenwbPro",mixins:[d],methods:{async triggerUpdate(){let t=new FormData;t.append("command","update"),t.append("data",'{"ip_address":"'+this.chargePoint.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",t,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+this.chargePoint.configuration.ip_address,"_blank")}}},h={class:"charge-point-commands-openwb-pro"};function f(t,n,e,s,b,o){const i=c("openwb-base-button-input");return l(),g("div",h,[a(i,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:r(()=>n[0]||(n[0]=[p(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["disabled","onButtonClicked"]),a(i,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.openSettings},{help:r(()=>n[1]||(n[1]=[p(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["disabled","onButtonClicked"])])}const v=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{v as default}; diff --git a/web/settings/assets/consumption_counter-a6ce919c.js b/web/settings/assets/consumption_counter-227bd16c.js similarity index 89% rename from web/settings/assets/consumption_counter-a6ce919c.js rename to web/settings/assets/consumption_counter-227bd16c.js index e5a74f9cfa..bbd1a2aad0 100644 --- a/web/settings/assets/consumption_counter-a6ce919c.js +++ b/web/settings/assets/consumption_counter-227bd16c.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOpenwbFlexConsumptionCounter",mixins:[d]},f={class:"device-openwb-flex-consumption-counter"};function g(n,e,w,v,x,B){const l=o("openwb-base-heading"),u=o("openwb-base-alert"),p=o("openwb-base-select-input"),a=o("openwb-base-number-input");return b(),c("div",f,[t(l,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für openWB-Flex Verbrauchszähler ")])),_:1}),t(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für den Bezug aus dem Zähler ausgelesen. Eine Messung der Einspeisung ist nicht möglich. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const z=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/consumption_counter.vue"]]);export{z as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOpenwbFlexConsumptionCounter",mixins:[d]},f={class:"device-openwb-flex-consumption-counter"};function g(n,e,w,v,x,B){const l=o("openwb-base-heading"),u=o("openwb-base-alert"),p=o("openwb-base-select-input"),a=o("openwb-base-number-input");return b(),c("div",f,[t(l,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für openWB-Flex Verbrauchszähler ")])),_:1}),t(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für den Bezug aus dem Zähler ausgelesen. Eine Messung der Einspeisung ist nicht möglich. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const z=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/consumption_counter.vue"]]);export{z as default}; diff --git a/web/settings/assets/counter-aaa85d56.js b/web/settings/assets/counter-07f0d10b.js similarity index 84% rename from web/settings/assets/counter-aaa85d56.js rename to web/settings/assets/counter-07f0d10b.js index 8dc59c7c8d..7b7215dc55 100644 --- a/web/settings/assets/counter-aaa85d56.js +++ b/web/settings/assets/counter-07f0d10b.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as t,l,m as d,G as r,E as i,y as n,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmCounter",mixins:[p]},f={class:"device-smahm-counter"};function b(o,e,g,v,M,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),d("div",f,[r(s,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für SMA-HM/EM Zähler ")])),_:1}),r(a,{title:"Seriennummer","model-value":o.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.serials"))},{help:i(()=>e[2]||(e[2]=[n(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ")])),_:1},8,["model-value"])])}const H=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{H as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as t,l,m as d,G as r,E as i,y as n,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmCounter",mixins:[p]},f={class:"device-smahm-counter"};function b(o,e,g,v,M,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),d("div",f,[r(s,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für SMA-HM/EM Zähler ")])),_:1}),r(a,{title:"Seriennummer","model-value":o.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.serials"))},{help:i(()=>e[2]||(e[2]=[n(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ")])),_:1},8,["model-value"])])}const H=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{H as default}; diff --git a/web/settings/assets/counter-d992c60a.js b/web/settings/assets/counter-08e8232e.js similarity index 82% rename from web/settings/assets/counter-d992c60a.js rename to web/settings/assets/counter-08e8232e.js index 44d9c8b004..e22fa62eca 100644 --- a/web/settings/assets/counter-d992c60a.js +++ b/web/settings/assets/counter-08e8232e.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as t,l as a,m as l,G as n,E as m,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DevicePowerdogCounter",mixins:[p]},_={class:"device-powerdog-counter"};function b(e,o,f,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return a(),l("div",_,[n(i,null,{default:m(()=>o[1]||(o[1]=[d(" Einstellungen für Powerdog Zähler ")])),_:1}),n(r,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":e.component.configuration.position_evu,"onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.position_evu"))},null,8,["model-value"])])}const N=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/counter.vue"]]);export{N as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as t,l as a,m as l,G as n,E as m,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DevicePowerdogCounter",mixins:[p]},_={class:"device-powerdog-counter"};function b(e,o,f,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return a(),l("div",_,[n(i,null,{default:m(()=>o[1]||(o[1]=[d(" Einstellungen für Powerdog Zähler ")])),_:1}),n(r,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":e.component.configuration.position_evu,"onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.position_evu"))},null,8,["model-value"])])}const N=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-17ce2a16.js b/web/settings/assets/counter-138c4f55.js similarity index 96% rename from web/settings/assets/counter-17ce2a16.js rename to web/settings/assets/counter-138c4f55.js index 489e8ea334..3c5518eeb9 100644 --- a/web/settings/assets/counter-17ce2a16.js +++ b/web/settings/assets/counter-138c4f55.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as s,l as p,m as g,G as i,E as a,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpCounter",mixins:[u]},b={class:"device-http-counter"};function f(t,e,w,v,k,S){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),g("div",b,[i(d,null,{default:a(()=>e[6]||(e[6]=[n(" Einstellungen für Http Zähler ")])),_:1}),i(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.power_path"))},{help:a(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:a(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:a(()=>e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l1_path,"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:a(()=>e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l2_path,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:a(()=>e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l3_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:a(()=>e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const F=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/counter.vue"]]);export{F as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as s,l as p,m as g,G as i,E as a,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpCounter",mixins:[u]},b={class:"device-http-counter"};function f(t,e,w,v,k,S){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),g("div",b,[i(d,null,{default:a(()=>e[6]||(e[6]=[n(" Einstellungen für Http Zähler ")])),_:1}),i(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.power_path"))},{help:a(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:a(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:a(()=>e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l1_path,"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:a(()=>e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l2_path,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:a(()=>e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l3_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:a(()=>e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const F=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/counter.vue"]]);export{F as default}; diff --git a/web/settings/assets/counter-65b38f83.js b/web/settings/assets/counter-145518cd.js similarity index 87% rename from web/settings/assets/counter-65b38f83.js rename to web/settings/assets/counter-145518cd.js index f002e29abc..cea29e467a 100644 --- a/web/settings/assets/counter-65b38f83.js +++ b/web/settings/assets/counter-145518cd.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as r,l as p,m as f,G as n,E as s,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeCounter",mixins:[m]},b={class:"device-solaredge-counter"};function c(o,e,_,v,w,C){const l=r("openwb-base-heading"),u=r("openwb-base-alert"),i=r("openwb-base-number-input");return p(),f("div",b,[n(l,null,{default:s(()=>e[2]||(e[2]=[a(" Einstellungen für SolarEdge Zähler ")])),_:1}),n(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[a(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")])),_:1}),n(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(i,{title:"SolarEdge-Meter-ID","model-value":o.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/counter.vue"]]);export{M as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as r,l as p,m as f,G as n,E as s,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeCounter",mixins:[m]},b={class:"device-solaredge-counter"};function c(o,e,_,v,w,C){const l=r("openwb-base-heading"),u=r("openwb-base-alert"),i=r("openwb-base-number-input");return p(),f("div",b,[n(l,null,{default:s(()=>e[2]||(e[2]=[a(" Einstellungen für SolarEdge Zähler ")])),_:1}),n(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[a(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")])),_:1}),n(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(i,{title:"SolarEdge-Meter-ID","model-value":o.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-70e4d5a7.js b/web/settings/assets/counter-19f06606.js similarity index 79% rename from web/settings/assets/counter-70e4d5a7.js rename to web/settings/assets/counter-19f06606.js index b6bbf6f28b..33ed1deab5 100644 --- a/web/settings/assets/counter-70e4d5a7.js +++ b/web/settings/assets/counter-19f06606.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-bb14911c.js";import{_ as s,u as n,l as r,m as i,G as a,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalSemCounter",mixins:[o]},l={class:"device-kostal-sem-counter"};function d(_,e,u,f,b,h){const t=n("openwb-base-alert");return r(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")])),_:1})])}const N=s(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/counter.vue"]]);export{N as default}; +import{C as o}from"./HardwareInstallation-a49fa11f.js";import{_ as s,u as n,l as r,m as i,G as a,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalSemCounter",mixins:[o]},l={class:"device-kostal-sem-counter"};function d(_,e,u,f,b,h){const t=n("openwb-base-alert");return r(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")])),_:1})])}const N=s(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-d928cc97.js b/web/settings/assets/counter-19fb0fca.js similarity index 96% rename from web/settings/assets/counter-d928cc97.js rename to web/settings/assets/counter-19fb0fca.js index 38d5e5a483..8198f8032d 100644 --- a/web/settings/assets/counter-d928cc97.js +++ b/web/settings/assets/counter-19fb0fca.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as a,u,l as f,m as g,G as l,E as o,y as t,x as e,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},k={class:"device-mqtt-counter"};function B(i,n,z,x,v,w){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",k,[l(p,null,{default:o(()=>n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ")])),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power ",1)]),_:1}),n[1]||(n[1]=e("br",null,null,-1)),n[2]||(n[2]=t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung")),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/imported ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/exported ",1)]),_:1}),n[11]||(n[11]=e("br",null,null,-1)),n[12]||(n[12]=t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ")),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[42]||(n[42]=t(" Ströme je Phase sind für phasenbasiertes Lastmanagement unbedingt erforderlich, sonst erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung am EVU-Punkt: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/currents ",1)]),_:1}),n[16]||(n[16]=e("br",null,null,-1)),n[17]||(n[17]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung")),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ")),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[43]||(n[43]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/frequency ",1)]),_:1}),n[21]||(n[21]=e("br",null,null,-1)),n[22]||(n[22]=t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen")),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ")),n[25]||(n[25]=e("span",{class:"text-info"},"50.12",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/voltages ",1)]),_:1}),n[26]||(n[26]=e("br",null,null,-1)),n[27]||(n[27]=t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)")),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ")),n[30]||(n[30]=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/powers ",1)]),_:1}),n[31]||(n[31]=e("br",null,null,-1)),n[32]||(n[32]=t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)")),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ")),n[35]||(n[35]=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power_factors ",1)]),_:1}),n[36]||(n[36]=e("br",null,null,-1)),n[37]||(n[37]=t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1")),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ")),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const q=a(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{q as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u,l as f,m as g,G as l,E as o,y as t,x as e,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},k={class:"device-mqtt-counter"};function B(i,n,z,x,v,w){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",k,[l(p,null,{default:o(()=>n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ")])),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power ",1)]),_:1}),n[1]||(n[1]=e("br",null,null,-1)),n[2]||(n[2]=t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung")),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/imported ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/exported ",1)]),_:1}),n[11]||(n[11]=e("br",null,null,-1)),n[12]||(n[12]=t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ")),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[42]||(n[42]=t(" Ströme je Phase sind für phasenbasiertes Lastmanagement unbedingt erforderlich, sonst erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung am EVU-Punkt: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/currents ",1)]),_:1}),n[16]||(n[16]=e("br",null,null,-1)),n[17]||(n[17]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung")),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ")),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[43]||(n[43]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/frequency ",1)]),_:1}),n[21]||(n[21]=e("br",null,null,-1)),n[22]||(n[22]=t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen")),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ")),n[25]||(n[25]=e("span",{class:"text-info"},"50.12",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/voltages ",1)]),_:1}),n[26]||(n[26]=e("br",null,null,-1)),n[27]||(n[27]=t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)")),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ")),n[30]||(n[30]=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/powers ",1)]),_:1}),n[31]||(n[31]=e("br",null,null,-1)),n[32]||(n[32]=t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)")),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ")),n[35]||(n[35]=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power_factors ",1)]),_:1}),n[36]||(n[36]=e("br",null,null,-1)),n[37]||(n[37]=t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1")),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ")),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const q=a(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{q as default}; diff --git a/web/settings/assets/counter-d7a32211.js b/web/settings/assets/counter-1ff29173.js similarity index 85% rename from web/settings/assets/counter-d7a32211.js rename to web/settings/assets/counter-1ff29173.js index 460993a8e1..3887f63d4b 100644 --- a/web/settings/assets/counter-d7a32211.js +++ b/web/settings/assets/counter-1ff29173.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as t,l as m,m as d,G as o,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVirtualCounter",mixins:[p]},_={class:"device-virtual-counter"};function f(n,e,b,g,v,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return m(),d("div",_,[o(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für virtuelle Zähler ")])),_:1}),o(a,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":n.component.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u*1e3,"configuration.external_consumption"))},{help:i(()=>e[2]||(e[2]=[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")])),_:1},8,["model-value"])])}const E=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/virtual/counter.vue"]]);export{E as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as t,l as m,m as d,G as o,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVirtualCounter",mixins:[p]},_={class:"device-virtual-counter"};function f(n,e,b,g,v,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return m(),d("div",_,[o(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für virtuelle Zähler ")])),_:1}),o(a,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":n.component.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u*1e3,"configuration.external_consumption"))},{help:i(()=>e[2]||(e[2]=[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")])),_:1},8,["model-value"])])}const E=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/virtual/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-999f66b2.js b/web/settings/assets/counter-24257723.js similarity index 79% rename from web/settings/assets/counter-999f66b2.js rename to web/settings/assets/counter-24257723.js index 6d8d9159f2..9735574b57 100644 --- a/web/settings/assets/counter-999f66b2.js +++ b/web/settings/assets/counter-24257723.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-bb14911c.js";import{_ as o,u as s,l as i,m as r,G as a,E as p,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieCounter",mixins:[t]},d={class:"device-sonnenbatterie-counter"};function _(l,e,u,f,b,v){const n=s("openwb-base-alert");return i(),r("div",d,[a(n,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[m(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{y as default}; +import{C as t}from"./HardwareInstallation-a49fa11f.js";import{_ as o,u as s,l as i,m as r,G as a,E as p,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieCounter",mixins:[t]},d={class:"device-sonnenbatterie-counter"};function _(l,e,u,f,b,v){const n=s("openwb-base-alert");return i(),r("div",d,[a(n,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[m(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-3613a28e.js b/web/settings/assets/counter-5c0b0fb9.js similarity index 82% rename from web/settings/assets/counter-3613a28e.js rename to web/settings/assets/counter-5c0b0fb9.js index db2e5ccc81..e268a5bb43 100644 --- a/web/settings/assets/counter-3613a28e.js +++ b/web/settings/assets/counter-5c0b0fb9.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as n,u as s,l as i,m as a,G as c,E as p,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreCounter",mixins:[r]},u={class:"device-kostal-plenticore-counter"};function _(d,e,f,b,h,v){const t=s("openwb-base-alert");return i(),a("div",u,[c(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),l("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as n,u as s,l as i,m as a,G as c,E as p,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreCounter",mixins:[r]},u={class:"device-kostal-plenticore-counter"};function _(d,e,f,b,h,v){const t=s("openwb-base-alert");return i(),a("div",u,[c(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),l("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-583f538c.js b/web/settings/assets/counter-627afdde.js similarity index 88% rename from web/settings/assets/counter-583f538c.js rename to web/settings/assets/counter-627afdde.js index cd60db78de..f9db13be31 100644 --- a/web/settings/assets/counter-583f538c.js +++ b/web/settings/assets/counter-627afdde.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxCounter",mixins:[u]},b={class:"device-powerfox-counter"};function g(o,e,w,x,_,h){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Zähler ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{$ as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxCounter",mixins:[u]},b={class:"device-powerfox-counter"};function g(o,e,w,x,_,h){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Zähler ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-07791e58.js b/web/settings/assets/counter-76d10be7.js similarity index 77% rename from web/settings/assets/counter-07791e58.js rename to web/settings/assets/counter-76d10be7.js index d787ff0c4f..255eb3dff2 100644 --- a/web/settings/assets/counter-07791e58.js +++ b/web/settings/assets/counter-76d10be7.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-bb14911c.js";import{_ as n,u as i,l as s,m as a,G as r,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceJanitzaBat",mixins:[o]},u={class:"device-janitza-counter"};function _(d,e,f,l,v,b){const t=i("openwb-base-alert");return s(),a("div",u,[r(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')])),_:1})])}const y=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{y as default}; +import{C as o}from"./HardwareInstallation-a49fa11f.js";import{_ as n,u as i,l as s,m as a,G as r,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceJanitzaBat",mixins:[o]},u={class:"device-janitza-counter"};function _(d,e,f,l,v,b){const t=i("openwb-base-alert");return s(),a("div",u,[r(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')])),_:1})])}const y=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-1b63f2b5.js b/web/settings/assets/counter-7c4ab905.js similarity index 81% rename from web/settings/assets/counter-1b63f2b5.js rename to web/settings/assets/counter-7c4ab905.js index 121f9c6b9d..2b1cfa6974 100644 --- a/web/settings/assets/counter-1b63f2b5.js +++ b/web/settings/assets/counter-7c4ab905.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l as p,m as u,G as n,E as l,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeCounter",mixins:[a]},_={class:"device-smart-me-counter"};function f(o,e,b,v,g,x){const r=t("openwb-base-heading"),i=t("openwb-base-text-input");return p(),u("div",_,[n(r,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für smart-me Zähler ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/counter.vue"]]);export{G as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l as p,m as u,G as n,E as l,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeCounter",mixins:[a]},_={class:"device-smart-me-counter"};function f(o,e,b,v,g,x){const r=t("openwb-base-heading"),i=t("openwb-base-text-input");return p(),u("div",_,[n(r,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für smart-me Zähler ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-e467b0cc.js b/web/settings/assets/counter-8347a086.js similarity index 81% rename from web/settings/assets/counter-e467b0cc.js rename to web/settings/assets/counter-8347a086.js index 98fdb129aa..746797dd22 100644 --- a/web/settings/assets/counter-e467b0cc.js +++ b/web/settings/assets/counter-8347a086.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as n,l as m,m as u,G as t,E as l,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisCounter",mixins:[p]},_={class:"device-solis-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/counter.vue"]]);export{M as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as n,l as m,m as u,G as t,E as l,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisCounter",mixins:[p]},_={class:"device-solis-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-5ae556f9.js b/web/settings/assets/counter-96aea554.js similarity index 88% rename from web/settings/assets/counter-5ae556f9.js rename to web/settings/assets/counter-96aea554.js index 989ad83ab5..fffe6afd92 100644 --- a/web/settings/assets/counter-5ae556f9.js +++ b/web/settings/assets/counter-96aea554.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as r,l as m,m as g,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerCounter",mixins:[s]},_={class:"device-vzlogger-counter"};function c(n,e,b,v,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return m(),g("div",_,[t(a,null,{default:l(()=>e[3]||(e[3]=[u(" Einstellungen für VZLogger Zähler ")])),_:1}),t(p,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),t(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),t(i,{title:"Zeile der Einspeisung",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"]),t(i,{title:"Zeile des Bezugs",min:0,"model-value":n.component.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.line_imported"))},null,8,["model-value"])])}const U=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/counter.vue"]]);export{U as default}; +import{C as s}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as r,l as m,m as g,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerCounter",mixins:[s]},_={class:"device-vzlogger-counter"};function c(n,e,b,v,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return m(),g("div",_,[t(a,null,{default:l(()=>e[3]||(e[3]=[u(" Einstellungen für VZLogger Zähler ")])),_:1}),t(p,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),t(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),t(i,{title:"Zeile der Einspeisung",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"]),t(i,{title:"Zeile des Bezugs",min:0,"model-value":n.component.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.line_imported"))},null,8,["model-value"])])}const U=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/counter.vue"]]);export{U as default}; diff --git a/web/settings/assets/counter-2614172b.js b/web/settings/assets/counter-ad649c7f.js similarity index 78% rename from web/settings/assets/counter-2614172b.js rename to web/settings/assets/counter-ad649c7f.js index fec38258ab..89dfcdbb7b 100644 --- a/web/settings/assets/counter-2614172b.js +++ b/web/settings/assets/counter-ad649c7f.js @@ -1 +1 @@ -import{C as n}from"./HardwareInstallation-bb14911c.js";import{_ as o,u as s,l as r,m as a,G as i,E as m,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceTeslaCounter",mixins:[n]},l={class:"device-tesla-counter"};function _(d,e,u,f,v,x){const t=s("openwb-base-alert");return r(),a("div",l,[i(t,{subtype:"info"},{default:m(()=>e[0]||(e[0]=[p(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{y as default}; +import{C as n}from"./HardwareInstallation-a49fa11f.js";import{_ as o,u as s,l as r,m as a,G as i,E as m,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceTeslaCounter",mixins:[n]},l={class:"device-tesla-counter"};function _(d,e,u,f,v,x){const t=s("openwb-base-alert");return r(),a("div",l,[i(t,{subtype:"info"},{default:m(()=>e[0]||(e[0]=[p(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-cdf44678.js b/web/settings/assets/counter-b3d99b2e.js similarity index 82% rename from web/settings/assets/counter-cdf44678.js rename to web/settings/assets/counter-b3d99b2e.js index 3c22042cbb..33c1960e03 100644 --- a/web/settings/assets/counter-cdf44678.js +++ b/web/settings/assets/counter-b3d99b2e.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as n,l as u,m as p,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerCounter",mixins:[s]},_={class:"device-huawei-smart-logger-counter"};function g(o,e,b,f,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return u(),p("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/counter.vue"]]);export{H as default}; +import{C as s}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as n,l as u,m as p,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerCounter",mixins:[s]},_={class:"device-huawei-smart-logger-counter"};function g(o,e,b,f,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return u(),p("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/counter.vue"]]);export{H as default}; diff --git a/web/settings/assets/counter-bc3a3551.js b/web/settings/assets/counter-b821c0ee.js similarity index 76% rename from web/settings/assets/counter-bc3a3551.js rename to web/settings/assets/counter-b821c0ee.js index 7d1be49852..4ec87e87b2 100644 --- a/web/settings/assets/counter-bc3a3551.js +++ b/web/settings/assets/counter-b821c0ee.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-bb14911c.js";import{_ as n,u as r,l as s,m as a,G as i,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceCarloGavazziCounter",mixins:[t]},_={class:"device-carlo-gavazzi-counter"};function l(u,e,d,v,f,z){const o=r("openwb-base-alert");return s(),a("div",_,[i(o,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" ModbusTCP muss aktiviert sein. ")])),_:1})])}const E=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{E as default}; +import{C as t}from"./HardwareInstallation-a49fa11f.js";import{_ as n,u as r,l as s,m as a,G as i,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceCarloGavazziCounter",mixins:[t]},_={class:"device-carlo-gavazzi-counter"};function l(u,e,d,v,f,z){const o=r("openwb-base-alert");return s(),a("div",_,[i(o,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" ModbusTCP muss aktiviert sein. ")])),_:1})])}const E=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-dbc334ea.js b/web/settings/assets/counter-b939fed8.js similarity index 83% rename from web/settings/assets/counter-dbc334ea.js rename to web/settings/assets/counter-b939fed8.js index 9ed95fb5c3..f457b37bf5 100644 --- a/web/settings/assets/counter-dbc334ea.js +++ b/web/settings/assets/counter-b939fed8.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,y){const s=n("openwb-base-heading"),p=n("openwb-base-number-input");return d(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Zähler ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/counter.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,y){const s=n("openwb-base-heading"),p=n("openwb-base-number-input");return d(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Zähler ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-87e7d953.js b/web/settings/assets/counter-b95d2506.js similarity index 86% rename from web/settings/assets/counter-87e7d953.js rename to web/settings/assets/counter-b95d2506.js index bc980d5c6e..ed0e59080d 100644 --- a/web/settings/assets/counter-87e7d953.js +++ b/web/settings/assets/counter-b95d2506.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronCounter",mixins:[p]},_={class:"device-victron-counter"};function f(o,e,g,v,C,V){const r=t("openwb-base-heading"),u=t("openwb-base-number-input"),s=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Zähler ")])),_:1}),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":o.component.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const G=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/counter.vue"]]);export{G as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronCounter",mixins:[p]},_={class:"device-victron-counter"};function f(o,e,g,v,C,V){const r=t("openwb-base-heading"),u=t("openwb-base-number-input"),s=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Zähler ")])),_:1}),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":o.component.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const G=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-29e1ba13.js b/web/settings/assets/counter-bc27e842.js similarity index 83% rename from web/settings/assets/counter-29e1ba13.js rename to web/settings/assets/counter-bc27e842.js index c6c11e487a..546d2ec067 100644 --- a/web/settings/assets/counter-29e1ba13.js +++ b/web/settings/assets/counter-bc27e842.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitCounter",mixins:[r]},v={class:"device-openwb-evukit-counter"};function _(o,e,f,b,w,x){const i=t("openwb-base-heading"),s=t("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Zähler ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitCounter",mixins:[r]},v={class:"device-openwb-evukit-counter"};function _(o,e,f,b,w,x){const i=t("openwb-base-heading"),s=t("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Zähler ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-0b45564a.js b/web/settings/assets/counter-be38114b.js similarity index 81% rename from web/settings/assets/counter-0b45564a.js rename to web/settings/assets/counter-be38114b.js index a2a3955475..c67ca8e1c5 100644 --- a/web/settings/assets/counter-0b45564a.js +++ b/web/settings/assets/counter-be38114b.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssCounter",mixins:[p]},c={class:"device-fox_ess-counter"};function f(o,e,b,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Zähler ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/counter.vue"]]);export{F as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssCounter",mixins:[p]},c={class:"device-fox_ess-counter"};function f(o,e,b,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Zähler ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/counter.vue"]]);export{F as default}; diff --git a/web/settings/assets/counter-e5cd37f2.js b/web/settings/assets/counter-c9a42b68.js similarity index 85% rename from web/settings/assets/counter-e5cd37f2.js rename to web/settings/assets/counter-c9a42b68.js index b1aea17ce6..c5c28f9160 100644 --- a/web/settings/assets/counter-e5cd37f2.js +++ b/web/settings/assets/counter-c9a42b68.js @@ -1 +1 @@ -import{C as n}from"./HardwareInstallation-bb14911c.js";import{_ as s,u as a,l as i,m as l,G as m,E as p,x as e,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarLogCounter",mixins:[n]},u={class:"device-solar_log-counter"};function d(_,o,g,h,f,b){const t=a("openwb-base-alert");return i(),l("div",u,[m(t,{subtype:"info"},{default:p(()=>o[0]||(o[0]=[e("span",{class:"text-danger"},[r(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),e("br")],-1),r(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),e("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1),r(". ")])),_:1})])}const E=s(c,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/counter.vue"]]);export{E as default}; +import{C as n}from"./HardwareInstallation-a49fa11f.js";import{_ as s,u as a,l as i,m as l,G as m,E as p,x as e,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarLogCounter",mixins:[n]},u={class:"device-solar_log-counter"};function d(_,o,g,h,f,b){const t=a("openwb-base-alert");return i(),l("div",u,[m(t,{subtype:"info"},{default:p(()=>o[0]||(o[0]=[e("span",{class:"text-danger"},[r(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),e("br")],-1),r(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),e("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1),r(". ")])),_:1})])}const E=s(c,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-8d5a105e.js b/web/settings/assets/counter-cc068105.js similarity index 89% rename from web/settings/assets/counter-8d5a105e.js rename to web/settings/assets/counter-cc068105.js index 3e2a6f68ca..e086289550 100644 --- a/web/settings/assets/counter-8d5a105e.js +++ b/web/settings/assets/counter-cc068105.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as o,l as b,m as c,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceOpenwbFlexCounter",mixins:[d]},_={class:"device-openwb-flex-counter"};function v(n,e,w,g,M,x){const l=o("openwb-base-heading"),a=o("openwb-base-alert"),p=o("openwb-base-select-input"),u=o("openwb-base-number-input");return b(),c("div",_,[t(l,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für openWB-Flex Zähler ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(" Bei saldierenden Zählern (MPM3PM, B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(u,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/counter.vue"]]);export{$ as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as o,l as b,m as c,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceOpenwbFlexCounter",mixins:[d]},_={class:"device-openwb-flex-counter"};function v(n,e,w,g,M,x){const l=o("openwb-base-heading"),a=o("openwb-base-alert"),p=o("openwb-base-select-input"),u=o("openwb-base-number-input");return b(),c("div",_,[t(l,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für openWB-Flex Zähler ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(" Bei saldierenden Zählern (MPM3PM, B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(u,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-86f2f846.js b/web/settings/assets/counter-d65aa242.js similarity index 95% rename from web/settings/assets/counter-86f2f846.js rename to web/settings/assets/counter-d65aa242.js index 860789da9e..7526e71c14 100644 --- a/web/settings/assets/counter-86f2f846.js +++ b/web/settings/assets/counter-d65aa242.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as p,u,l as m,m as f,G as t,E as a,y as l,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[d]},w={class:"device-json-counter"};function v(n,e,j,q,P,C){const i=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-alert");return m(),f("div",w,[t(i,null,{default:a(()=>e[9]||(e[9]=[l(" Einstellungen für JSON Zähler ")])),_:1}),t(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:a(()=>e[10]||(e[10]=[l(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),l(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":n.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_imported"))},{help:a(()=>e[11]||(e[11]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:a(()=>e[12]||(e[12]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:a(()=>e[13]||(e[13]=[l(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")])),_:1}),t(r,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.jq_power_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.jq_power_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.jq_power_l3"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=o=>n.updateConfiguration(o,"configuration.jq_current_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateConfiguration(o,"configuration.jq_current_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateConfiguration(o,"configuration.jq_current_l3"))},null,8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{L as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u,l as m,m as f,G as t,E as a,y as l,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[d]},w={class:"device-json-counter"};function v(n,e,j,q,P,C){const i=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-alert");return m(),f("div",w,[t(i,null,{default:a(()=>e[9]||(e[9]=[l(" Einstellungen für JSON Zähler ")])),_:1}),t(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:a(()=>e[10]||(e[10]=[l(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),l(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":n.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_imported"))},{help:a(()=>e[11]||(e[11]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:a(()=>e[12]||(e[12]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:a(()=>e[13]||(e[13]=[l(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")])),_:1}),t(r,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.jq_power_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.jq_power_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.jq_power_l3"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=o=>n.updateConfiguration(o,"configuration.jq_current_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateConfiguration(o,"configuration.jq_current_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateConfiguration(o,"configuration.jq_current_l3"))},null,8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{L as default}; diff --git a/web/settings/assets/counter-27f5f951.js b/web/settings/assets/counter-de2cbf75.js similarity index 86% rename from web/settings/assets/counter-27f5f951.js rename to web/settings/assets/counter-de2cbf75.js index 4e22abe17a..e32ebb5bbb 100644 --- a/web/settings/assets/counter-27f5f951.js +++ b/web/settings/assets/counter-de2cbf75.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as n,l as u,m as c,G as r,E as i,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDiscovergyCounter",mixins:[d]},g={class:"device-discovergy-counter"};function _(t,e,v,b,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return u(),c("div",g,[r(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Zähler ")])),_:1}),r(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const E=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/counter.vue"]]);export{E as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as n,l as u,m as c,G as r,E as i,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDiscovergyCounter",mixins:[d]},g={class:"device-discovergy-counter"};function _(t,e,v,b,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return u(),c("div",g,[r(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Zähler ")])),_:1}),r(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const E=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-ca2a89f4.js b/web/settings/assets/counter-e11b7190.js similarity index 83% rename from web/settings/assets/counter-ca2a89f4.js rename to web/settings/assets/counter-e11b7190.js index 9eb3e440d1..26db441ea2 100644 --- a/web/settings/assets/counter-ca2a89f4.js +++ b/web/settings/assets/counter-e11b7190.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l as c,m as u,G as o,E as s,y as l,x as n,F as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,y,g,x,v){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return c(),u("div",f,[o(i,null,{default:s(()=>[e[0]||(e[0]=l(" Einstellungen für Shelly Zähler ")),n("span",h,"(Modul: "+d(r.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n("span",{class:"text-danger"}," Als EVU-Zähler werden nur dreiphasige Shelly unterstützt (z.B. Shelly 3EM, Shelly Pro 3EM)",-1),n("br",null,null,-1),l(" Diese Komponente benötigt keine Einstellungen. ")])),_:1})])}const D=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/counter.vue"]]);export{D as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l as c,m as u,G as o,E as s,y as l,x as n,F as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,y,g,x,v){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return c(),u("div",f,[o(i,null,{default:s(()=>[e[0]||(e[0]=l(" Einstellungen für Shelly Zähler ")),n("span",h,"(Modul: "+d(r.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n("span",{class:"text-danger"}," Als EVU-Zähler werden nur dreiphasige Shelly unterstützt (z.B. Shelly 3EM, Shelly Pro 3EM)",-1),n("br",null,null,-1),l(" Diese Komponente benötigt keine Einstellungen. ")])),_:1})])}const D=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/counter.vue"]]);export{D as default}; diff --git a/web/settings/assets/counter-afce1bcd.js b/web/settings/assets/counter-e740a52e.js similarity index 82% rename from web/settings/assets/counter-afce1bcd.js rename to web/settings/assets/counter-e740a52e.js index 82499b535e..fb6ffa1e53 100644 --- a/web/settings/assets/counter-afce1bcd.js +++ b/web/settings/assets/counter-e740a52e.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as n,l as d,m as c,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecCounter",mixins:[a]},_={class:"device-mtec-counter"};function b(o,e,f,v,g,C){const r=n("openwb-base-heading"),m=n("openwb-base-number-input");return d(),c("div",_,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für M-Tec Zähler ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=u(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/counter.vue"]]);export{k as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as n,l as d,m as c,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecCounter",mixins:[a]},_={class:"device-mtec-counter"};function b(o,e,f,v,g,C){const r=n("openwb-base-heading"),m=n("openwb-base-number-input");return d(),c("div",_,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für M-Tec Zähler ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=u(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter-96517d09.js b/web/settings/assets/counter-ee3a1dc4.js similarity index 81% rename from web/settings/assets/counter-96517d09.js rename to web/settings/assets/counter-ee3a1dc4.js index cfa1df07f7..9a03014c92 100644 --- a/web/settings/assets/counter-96517d09.js +++ b/web/settings/assets/counter-ee3a1dc4.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as n,l as a,m,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return a(),m("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const h=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/counter.vue"]]);export{h as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as n,l as a,m,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return a(),m("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const h=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/counter.vue"]]);export{h as default}; diff --git a/web/settings/assets/counter-e35a1717.js b/web/settings/assets/counter-efac3ffc.js similarity index 82% rename from web/settings/assets/counter-e35a1717.js rename to web/settings/assets/counter-efac3ffc.js index beeb52e71f..c9e50423b2 100644 --- a/web/settings/assets/counter-e35a1717.js +++ b/web/settings/assets/counter-efac3ffc.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as s,u as n,l as i,m as a,G as p,E as c,y as o,x as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKostalPikoCounter",mixins:[r]},u={class:"device-kostal-piko-counter"};function _(d,e,f,b,h,k){const t=n("openwb-base-alert");return i(),a("div",u,[p(t,{subtype:"info"},{default:c(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=s(l,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as s,u as n,l as i,m as a,G as p,E as c,y as o,x as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKostalPikoCounter",mixins:[r]},u={class:"device-kostal-piko-counter"};function _(d,e,f,b,h,k){const t=n("openwb-base-alert");return i(),a("div",u,[p(t,{subtype:"info"},{default:c(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=s(l,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-898675d5.js b/web/settings/assets/counter-f06d97af.js similarity index 82% rename from web/settings/assets/counter-898675d5.js rename to web/settings/assets/counter-f06d97af.js index 168728989c..3286f16daf 100644 --- a/web/settings/assets/counter-898675d5.js +++ b/web/settings/assets/counter-f06d97af.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as o,l as d,m as l,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseCounter",mixins:[m]},_={class:"device-enphase-counter"};function f(n,e,b,v,g,E){const p=o("openwb-base-heading"),r=o("openwb-base-number-input");return d(),l("div",_,[t(p,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler ")])),_:1}),t(r,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[s(' EID für "net-consumption" ')])),_:1},8,["model-value"])])}const V=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as o,l as d,m as l,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseCounter",mixins:[m]},_={class:"device-enphase-counter"};function f(n,e,b,v,g,E){const p=o("openwb-base-heading"),r=o("openwb-base-number-input");return d(),l("div",_,[t(p,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler ")])),_:1}),t(r,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[s(' EID für "net-consumption" ')])),_:1},8,["model-value"])])}const V=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-48329963.js b/web/settings/assets/counter-faefb115.js similarity index 81% rename from web/settings/assets/counter-48329963.js rename to web/settings/assets/counter-faefb115.js index 1052a27a2d..e6c7f481b5 100644 --- a/web/settings/assets/counter-48329963.js +++ b/web/settings/assets/counter-faefb115.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeCounter",mixins:[p]},_={class:"device-deye-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/counter.vue"]]);export{k as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeCounter",mixins:[p]},_={class:"device-deye-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter_sm-fcf6222c.js b/web/settings/assets/counter_sm-ccd4e26d.js similarity index 92% rename from web/settings/assets/counter_sm-fcf6222c.js rename to web/settings/assets/counter_sm-ccd4e26d.js index 528c4d9954..6fcd650000 100644 --- a/web/settings/assets/counter_sm-fcf6222c.js +++ b/web/settings/assets/counter_sm-ccd4e26d.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as f,u as i,l as g,m as c,G as o,E as a,y as t,x as l,F as b}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFroniusCounterSM",mixins:[p],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},v={class:"device-fronius-counter-sm"},w=["href"];function D(n,e,M,S,h,s){const m=i("openwb-base-heading"),d=i("openwb-base-select-input"),u=i("openwb-base-number-input");return g(),c("div",v,[o(m,null,{default:a(()=>e[2]||(e[2]=[t(" Einstellungen für Fronius SmartMeter ")])),_:1}),o(d,{title:"Kompatibilitätsmodus","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":n.component.configuration.variant,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.variant"))},{help:a(()=>e[3]||(e[3]=[t(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")])),_:1},8,["model-value"]),o(u,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.meter_id"))},{help:a(()=>[e[4]||(e[4]=t(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. ")),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},b(s.meterRealtimeUrl),9,w),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=t(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. '))]),_:1},8,["model-value"])])}const N=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{N as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as f,u as i,l as g,m as c,G as o,E as a,y as t,x as l,F as b}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFroniusCounterSM",mixins:[p],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},v={class:"device-fronius-counter-sm"},w=["href"];function D(n,e,M,S,h,s){const m=i("openwb-base-heading"),d=i("openwb-base-select-input"),u=i("openwb-base-number-input");return g(),c("div",v,[o(m,null,{default:a(()=>e[2]||(e[2]=[t(" Einstellungen für Fronius SmartMeter ")])),_:1}),o(d,{title:"Kompatibilitätsmodus","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":n.component.configuration.variant,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.variant"))},{help:a(()=>e[3]||(e[3]=[t(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")])),_:1},8,["model-value"]),o(u,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.meter_id"))},{help:a(()=>[e[4]||(e[4]=t(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. ")),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},b(s.meterRealtimeUrl),9,w),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=t(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. '))]),_:1},8,["model-value"])])}const N=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-309bc208.js b/web/settings/assets/device-02247c9c.js similarity index 88% rename from web/settings/assets/device-309bc208.js rename to web/settings/assets/device-02247c9c.js index 8351b4bcdb..0172f87f4a 100644 --- a/web/settings/assets/device-309bc208.js +++ b/web/settings/assets/device-02247c9c.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as r,l as d,m,G as i,E as s,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPikoOld",mixins:[u]},v={class:"device-kostal-piko-old"};function c(o,e,g,b,w,k){const a=r("openwb-base-heading"),n=r("openwb-base-text-input");return d(),m("div",v,[i(a,null,{default:s(()=>e[3]||(e[3]=[l(" Einstellungen für Kostal Piko (alte Generation) ")])),_:1}),i(n,{title:"URL",subtype:"url",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.url"))},{help:s(()=>e[4]||(e[4]=[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')])),_:1},8,["model-value"]),i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{q as default}; +import{D as u}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as r,l as d,m,G as i,E as s,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPikoOld",mixins:[u]},v={class:"device-kostal-piko-old"};function c(o,e,g,b,w,k){const a=r("openwb-base-heading"),n=r("openwb-base-text-input");return d(),m("div",v,[i(a,null,{default:s(()=>e[3]||(e[3]=[l(" Einstellungen für Kostal Piko (alte Generation) ")])),_:1}),i(n,{title:"URL",subtype:"url",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.url"))},{help:s(()=>e[4]||(e[4]=[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')])),_:1},8,["model-value"]),i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-ffa3af1e.js b/web/settings/assets/device-0816b093.js similarity index 84% rename from web/settings/assets/device-ffa3af1e.js rename to web/settings/assets/device-0816b093.js index 2d38befd74..5fd67faad3 100644 --- a/web/settings/assets/device-ffa3af1e.js +++ b/web/settings/assets/device-0816b093.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as s,l as d,m as u,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDiscovergy",mixins:[a]},v={class:"device-discovergy"};function f(o,e,g,_,b,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return d(),u("div",v,[n(r,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Discovergy ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as s,l as d,m as u,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDiscovergy",mixins:[a]},v={class:"device-discovergy"};function f(o,e,g,_,b,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return d(),u("div",v,[n(r,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Discovergy ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-699e32ed.js b/web/settings/assets/device-08fad611.js similarity index 82% rename from web/settings/assets/device-699e32ed.js rename to web/settings/assets/device-08fad611.js index 14384202b0..bb79a77de5 100644 --- a/web/settings/assets/device-699e32ed.js +++ b/web/settings/assets/device-08fad611.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as t,l as d,m as l,G as n,E as c,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceKostalSteca",mixins:[r]},_={class:"device-kostal-steca"};function f(o,e,v,b,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[n(s,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept ")])),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const h=p(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/device.vue"]]);export{h as default}; +import{D as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as t,l as d,m as l,G as n,E as c,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceKostalSteca",mixins:[r]},_={class:"device-kostal-steca"};function f(o,e,v,b,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[n(s,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept ")])),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const h=p(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-c828bb4b.js b/web/settings/assets/device-09780e11.js similarity index 84% rename from web/settings/assets/device-c828bb4b.js rename to web/settings/assets/device-09780e11.js index cf293abb24..2d73180d3b 100644 --- a/web/settings/assets/device-c828bb4b.js +++ b/web/settings/assets/device-09780e11.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l,m as d,G as i,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmax",mixins:[p]},f={class:"device-solarmax"};function b(o,e,v,g,x,w){const a=t("openwb-base-heading"),r=t("openwb-base-text-input"),s=t("openwb-base-number-input");return l(),d("div",f,[i(a,null,{default:u(()=>e[2]||(e[2]=[c(" Einstellungen für Solarmax ")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{N as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l,m as d,G as i,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmax",mixins:[p]},f={class:"device-solarmax"};function b(o,e,v,g,x,w){const a=t("openwb-base-heading"),r=t("openwb-base-text-input"),s=t("openwb-base-number-input");return l(),d("div",f,[i(a,null,{default:u(()=>e[2]||(e[2]=[c(" Einstellungen für Solarmax ")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-909eab17.js b/web/settings/assets/device-0c88c5f5.js similarity index 83% rename from web/settings/assets/device-909eab17.js rename to web/settings/assets/device-0c88c5f5.js index 02ee0b9f56..b20d8bc110 100644 --- a/web/settings/assets/device-909eab17.js +++ b/web/settings/assets/device-0c88c5f5.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l,m as u,G as n,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceVZLogger",mixins:[d]},c={class:"device-vzlogger"};function _(o,e,v,f,b,w){const r=t("openwb-base-heading"),p=t("openwb-base-text-input");return l(),u("div",c,[n(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für VZLogger ")])),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},{help:i(()=>e[2]||(e[2]=[s(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")])),_:1},8,["model-value"])])}const k=m(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/device.vue"]]);export{k as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l,m as u,G as n,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceVZLogger",mixins:[d]},c={class:"device-vzlogger"};function _(o,e,v,f,b,w){const r=t("openwb-base-heading"),p=t("openwb-base-text-input");return l(),u("div",c,[n(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für VZLogger ")])),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},{help:i(()=>e[2]||(e[2]=[s(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")])),_:1},8,["model-value"])])}const k=m(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-592b91c1.js b/web/settings/assets/device-13dadd24.js similarity index 86% rename from web/settings/assets/device-592b91c1.js rename to web/settings/assets/device-13dadd24.js index 4f663fefe6..54e34f2172 100644 --- a/web/settings/assets/device-592b91c1.js +++ b/web/settings/assets/device-13dadd24.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSofar",mixins:[d]},v={class:"device-sofar"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f("Einstellungen für Sofar")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{y as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSofar",mixins:[d]},v={class:"device-sofar"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f("Einstellungen für Sofar")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-418ccbb3.js b/web/settings/assets/device-172e5bda.js similarity index 86% rename from web/settings/assets/device-418ccbb3.js rename to web/settings/assets/device-172e5bda.js index 0449ba2461..a6f84bea84 100644 --- a/web/settings/assets/device-418ccbb3.js +++ b/web/settings/assets/device-172e5bda.js @@ -1 +1 @@ -import{D as s}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceE3dc",mixins:[s]},b={class:"device-e3dc"};function v(o,e,_,g,w,C){const a=i("openwb-base-heading"),r=i("openwb-base-text-input"),d=i("openwb-base-number-input");return p(),l("div",b,[t(a,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für E3DC ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{y as default}; +import{D as s}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceE3dc",mixins:[s]},b={class:"device-e3dc"};function v(o,e,_,g,w,C){const a=i("openwb-base-heading"),r=i("openwb-base-text-input"),d=i("openwb-base-number-input");return p(),l("div",b,[t(a,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für E3DC ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-b9965386.js b/web/settings/assets/device-17521e2e.js similarity index 84% rename from web/settings/assets/device-b9965386.js rename to web/settings/assets/device-17521e2e.js index 3e2e2029a8..5a6d1a7556 100644 --- a/web/settings/assets/device-b9965386.js +++ b/web/settings/assets/device-17521e2e.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as t,l,m as u,G as i,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceOpenwbFlex",mixins:[a]},c={class:"device-openwb-flex"};function f(o,e,v,w,g,x){const p=t("openwb-base-heading"),s=t("openwb-base-text-input"),r=t("openwb-base-number-input");return l(),u("div",c,[i(p,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für openWB-Flex ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{F as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as t,l,m as u,G as i,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceOpenwbFlex",mixins:[a]},c={class:"device-openwb-flex"};function f(o,e,v,w,g,x){const p=t("openwb-base-heading"),s=t("openwb-base-text-input"),r=t("openwb-base-number-input");return l(),u("div",c,[i(p,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für openWB-Flex ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{F as default}; diff --git a/web/settings/assets/device-08560f19.js b/web/settings/assets/device-205f8655.js similarity index 85% rename from web/settings/assets/device-08560f19.js rename to web/settings/assets/device-205f8655.js index f8f0729117..1a3445edb4 100644 --- a/web/settings/assets/device-08560f19.js +++ b/web/settings/assets/device-205f8655.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as n,l as m,m as d,G as i,E as l,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLogger",mixins:[p]},g={class:"device-huawei-smart-logger"};function f(o,e,b,v,w,x){const r=n("openwb-base-heading"),a=n("openwb-base-text-input"),s=n("openwb-base-number-input");return m(),d("div",g,[i(r,null,{default:l(()=>e[2]||(e[2]=[_(" Einstellungen für Huawei SmartLogger ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/device.vue"]]);export{q as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as n,l as m,m as d,G as i,E as l,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLogger",mixins:[p]},g={class:"device-huawei-smart-logger"};function f(o,e,b,v,w,x){const r=n("openwb-base-heading"),a=n("openwb-base-text-input"),s=n("openwb-base-number-input");return m(),d("div",g,[i(r,null,{default:l(()=>e[2]||(e[2]=[_(" Einstellungen für Huawei SmartLogger ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-26bea58f.js b/web/settings/assets/device-21c59979.js similarity index 88% rename from web/settings/assets/device-26bea58f.js rename to web/settings/assets/device-21c59979.js index 5e4bc10285..7489c064d3 100644 --- a/web/settings/assets/device-26bea58f.js +++ b/web/settings/assets/device-21c59979.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as s,l as p,m as l,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceLG",mixins:[m]},f={class:"device-lg"};function c(n,e,v,b,_,w){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),l("div",f,[t(d,null,{default:r(()=>e[2]||(e[2]=[a(" Einstellungen für LG ESS V1.0 ")])),_:1}),t(o,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(o,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[3]||(e[3]=[a(' Passwort, um sich in den LG ESS V1.0 einzuloggen. Das Passwort ist standardmäßig die Registrierungsnummer, die sich auf einem Aufkleber auf dem PCS (dem Hybridwechselrichter und Batteriemanagementsystem) befindet. Alternativ findet man die Registrierungsnummer in der App unter dem Menüpunkt "Systeminformationen". Mit der Registrierungsnummer kann man sich dann in der Rolle "installer" einloggen. ')])),_:1},8,["model-value"])])}const B=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{B as default}; +import{D as m}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as s,l as p,m as l,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceLG",mixins:[m]},f={class:"device-lg"};function c(n,e,v,b,_,w){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),l("div",f,[t(d,null,{default:r(()=>e[2]||(e[2]=[a(" Einstellungen für LG ESS V1.0 ")])),_:1}),t(o,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(o,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[3]||(e[3]=[a(' Passwort, um sich in den LG ESS V1.0 einzuloggen. Das Passwort ist standardmäßig die Registrierungsnummer, die sich auf einem Aufkleber auf dem PCS (dem Hybridwechselrichter und Batteriemanagementsystem) befindet. Alternativ findet man die Registrierungsnummer in der App unter dem Menüpunkt "Systeminformationen". Mit der Registrierungsnummer kann man sich dann in der Rolle "installer" einloggen. ')])),_:1},8,["model-value"])])}const B=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-d412f88e.js b/web/settings/assets/device-2852a4f8.js similarity index 86% rename from web/settings/assets/device-d412f88e.js rename to web/settings/assets/device-2852a4f8.js index 07adabc537..5e47418d68 100644 --- a/web/settings/assets/device-d412f88e.js +++ b/web/settings/assets/device-2852a4f8.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as s,l as u,m as p,G as t,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceBYD",mixins:[a]},v={class:"device-byd"};function b(o,e,c,g,_,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return u(),p("div",v,[t(r,null,{default:l(()=>e[3]||(e[3]=[m(" Einstellungen für BYD ")])),_:1}),t(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"]),t(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const U=d(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/byd/device.vue"]]);export{U as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as s,l as u,m as p,G as t,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceBYD",mixins:[a]},v={class:"device-byd"};function b(o,e,c,g,_,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return u(),p("div",v,[t(r,null,{default:l(()=>e[3]||(e[3]=[m(" Einstellungen für BYD ")])),_:1}),t(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"]),t(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const U=d(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/byd/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-5a930df7.js b/web/settings/assets/device-2af8f80a.js similarity index 90% rename from web/settings/assets/device-5a930df7.js rename to web/settings/assets/device-2af8f80a.js index a113228d9d..222517d3f7 100644 --- a/web/settings/assets/device-5a930df7.js +++ b/web/settings/assets/device-2af8f80a.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as i,l as v,m as b,G as n,E as s,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceGrowatt",mixins:[p]},g={class:"device-growatt"};function _(o,e,c,w,V,C){const a=i("openwb-base-heading"),d=i("openwb-base-text-input"),r=i("openwb-base-number-input"),l=i("openwb-base-select-input");return v(),b("div",g,[n(a,null,{default:s(()=>e[4]||(e[4]=[u("Einstellungen für Growatt")])),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"MAX",text:"MAX Series"},{value:"TL-X",text:"TL-X Inverter"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.version"))},{help:s(()=>e[5]||(e[5]=[u(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"])])}const X=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/growatt/growatt/device.vue"]]);export{X as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as i,l as v,m as b,G as n,E as s,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceGrowatt",mixins:[p]},g={class:"device-growatt"};function _(o,e,c,w,V,C){const a=i("openwb-base-heading"),d=i("openwb-base-text-input"),r=i("openwb-base-number-input"),l=i("openwb-base-select-input");return v(),b("div",g,[n(a,null,{default:s(()=>e[4]||(e[4]=[u("Einstellungen für Growatt")])),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"MAX",text:"MAX Series"},{value:"TL-X",text:"TL-X Inverter"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.version"))},{help:s(()=>e[5]||(e[5]=[u(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"])])}const X=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/growatt/growatt/device.vue"]]);export{X as default}; diff --git a/web/settings/assets/device-948a8a47.js b/web/settings/assets/device-2bd9c2b5.js similarity index 86% rename from web/settings/assets/device-948a8a47.js rename to web/settings/assets/device-2bd9c2b5.js index d6f9a323e7..68501d08f0 100644 --- a/web/settings/assets/device-948a8a47.js +++ b/web/settings/assets/device-2bd9c2b5.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as i,l,m as u,G as n,E as a,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFems",mixins:[d]},c={class:"device-fems"};function v(o,e,_,b,g,w){const p=i("openwb-base-heading"),s=i("openwb-base-text-input");return l(),u("div",c,[n(p,null,{default:a(()=>e[2]||(e[2]=[r(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>e[3]||(e[3]=[r(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")])),_:1},8,["model-value"])])}const V=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/device.vue"]]);export{V as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as i,l,m as u,G as n,E as a,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFems",mixins:[d]},c={class:"device-fems"};function v(o,e,_,b,g,w){const p=i("openwb-base-heading"),s=i("openwb-base-text-input");return l(),u("div",c,[n(p,null,{default:a(()=>e[2]||(e[2]=[r(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>e[3]||(e[3]=[r(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")])),_:1},8,["model-value"])])}const V=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-77d449f8.js b/web/settings/assets/device-2c1c538c.js similarity index 86% rename from web/settings/assets/device-77d449f8.js rename to web/settings/assets/device-2c1c538c.js index 40eaf097ef..7307b14252 100644 --- a/web/settings/assets/device-77d449f8.js +++ b/web/settings/assets/device-2c1c538c.js @@ -1 +1 @@ -import{D as s}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as i,l as u,m,G as t,E as l,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceAmpere",mixins:[s]},v={class:"device-ampere"};function _(o,e,c,g,w,C){const a=i("openwb-base-heading"),p=i("openwb-base-text-input"),r=i("openwb-base-number-input");return u(),m("div",v,[t(a,null,{default:l(()=>e[3]||(e[3]=[f(" Einstellungen für Ampere Pro")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ampere/ampere/device.vue"]]);export{k as default}; +import{D as s}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as i,l as u,m,G as t,E as l,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceAmpere",mixins:[s]},v={class:"device-ampere"};function _(o,e,c,g,w,C){const a=i("openwb-base-heading"),p=i("openwb-base-text-input"),r=i("openwb-base-number-input");return u(),m("div",v,[t(a,null,{default:l(()=>e[3]||(e[3]=[f(" Einstellungen für Ampere Pro")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ampere/ampere/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-90135a67.js b/web/settings/assets/device-2c1d8c15.js similarity index 86% rename from web/settings/assets/device-90135a67.js rename to web/settings/assets/device-2c1d8c15.js index 02e76f2318..76b7c83294 100644 --- a/web/settings/assets/device-90135a67.js +++ b/web/settings/assets/device-2c1d8c15.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJanitza",mixins:[d]},v={class:"device-janitza"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Janitza ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/device.vue"]]);export{U as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJanitza",mixins:[d]},v={class:"device-janitza"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Janitza ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-00deaf69.js b/web/settings/assets/device-2c93c143.js similarity index 88% rename from web/settings/assets/device-00deaf69.js rename to web/settings/assets/device-2c93c143.js index a67736942a..86720091d1 100644 --- a/web/settings/assets/device-00deaf69.js +++ b/web/settings/assets/device-2c93c143.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemensSentron",mixins:[m]},v={class:"device-siemens-sentron"};function c(n,e,g,w,C,x){const u=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(u,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens Sentron ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const P=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens_sentron/device.vue"]]);export{P as default}; +import{D as m}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemensSentron",mixins:[m]},v={class:"device-siemens-sentron"};function c(n,e,g,w,C,x){const u=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(u,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens Sentron ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const P=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens_sentron/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-8060eacf.js b/web/settings/assets/device-32bcc869.js similarity index 93% rename from web/settings/assets/device-8060eacf.js rename to web/settings/assets/device-32bcc869.js index e08e5f63d0..f2a197c8a9 100644 --- a/web/settings/assets/device-8060eacf.js +++ b/web/settings/assets/device-32bcc869.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-bb14911c.js";import{_ as v,u as t,l as b,m as f,G as i,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceGoodWe",mixins:[m]},w={class:"device-goodwe"};function _(o,e,W,c,D,V){const l=t("openwb-base-heading"),a=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-number-input"),u=t("openwb-base-select-input");return b(),f("div",w,[i(l,null,{default:r(()=>e[5]||(e[5]=[s("Einstellungen für GoodWe")])),_:1}),i(a,{subtype:"info"},{default:r(()=>e[6]||(e[6]=[s(" GoodWe-Wechselrichter verfügen über 3 Dongle: Den WiFi-Dongle, das Wifi-Lan-Kit und das Wifi-Lan-Kit 2.0. Die Einbindung über dieses Modul ist nur mit den Wifi-Lan-Kits möglich. Welches Kit benötigt wird ist vom Wechselrichter abhängig und kann bei GoodWe erfragt werden. ")])),_:1}),i(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"API-Version","not-selected":"Bitte auswählen",options:[{value:"v_1_7",text:"v1.7"},{value:"v_1_1",text:"v1.0/ v1.1"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},{help:r(()=>e[7]||(e[7]=[s(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"]),i(u,{title:"Firmware","not-selected":"Bitte auswählen",options:[{value:8,text:"ARM < 9.0"},{value:9,text:"ARM ab 9.0"}],"model-value":o.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.firmware"))},{help:r(()=>e[8]||(e[8]=[s(" Die Auswahl der Firmware-Version beeinflusst die Auslesung der Wirkleistung und der Phasenströme des Zählers. ")])),_:1},8,["model-value"])])}const M=v(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/device.vue"]]);export{M as default}; +import{D as m}from"./HardwareInstallation-a49fa11f.js";import{_ as v,u as t,l as b,m as f,G as i,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceGoodWe",mixins:[m]},w={class:"device-goodwe"};function _(o,e,W,c,D,V){const l=t("openwb-base-heading"),a=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-number-input"),u=t("openwb-base-select-input");return b(),f("div",w,[i(l,null,{default:r(()=>e[5]||(e[5]=[s("Einstellungen für GoodWe")])),_:1}),i(a,{subtype:"info"},{default:r(()=>e[6]||(e[6]=[s(" GoodWe-Wechselrichter verfügen über 3 Dongle: Den WiFi-Dongle, das Wifi-Lan-Kit und das Wifi-Lan-Kit 2.0. Die Einbindung über dieses Modul ist nur mit den Wifi-Lan-Kits möglich. Welches Kit benötigt wird ist vom Wechselrichter abhängig und kann bei GoodWe erfragt werden. ")])),_:1}),i(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"API-Version","not-selected":"Bitte auswählen",options:[{value:"v_1_7",text:"v1.7"},{value:"v_1_1",text:"v1.0/ v1.1"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},{help:r(()=>e[7]||(e[7]=[s(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"]),i(u,{title:"Firmware","not-selected":"Bitte auswählen",options:[{value:8,text:"ARM < 9.0"},{value:9,text:"ARM ab 9.0"}],"model-value":o.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.firmware"))},{help:r(()=>e[8]||(e[8]=[s(" Die Auswahl der Firmware-Version beeinflusst die Auslesung der Wirkleistung und der Phasenströme des Zählers. ")])),_:1},8,["model-value"])])}const M=v(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-4255a88f.js b/web/settings/assets/device-3bb59e11.js similarity index 87% rename from web/settings/assets/device-4255a88f.js rename to web/settings/assets/device-3bb59e11.js index e2f3ea8662..45eece980e 100644 --- a/web/settings/assets/device-4255a88f.js +++ b/web/settings/assets/device-3bb59e11.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as n,l as b,m as _,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,y,g,x){const a=n("openwb-base-heading"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return b(),_("div",f,[t(a,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für SMA Sunny Boy/Tripower ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const $=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/device.vue"]]);export{$ as default}; +import{D as l}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as n,l as b,m as _,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,y,g,x){const a=n("openwb-base-heading"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return b(),_("div",f,[t(a,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für SMA Sunny Boy/Tripower ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const $=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-9a7629fb.js b/web/settings/assets/device-3cd32732.js similarity index 88% rename from web/settings/assets/device-9a7629fb.js rename to web/settings/assets/device-3cd32732.js index 38e2bd6bdf..b4358eb980 100644 --- a/web/settings/assets/device-9a7629fb.js +++ b/web/settings/assets/device-3cd32732.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemens",mixins:[m]},v={class:"device-siemens"};function c(o,e,g,w,C,x){const p=i("openwb-base-heading"),d=i("openwb-base-alert"),u=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(p,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens ")])),_:1}),t(d,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{U as default}; +import{D as m}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemens",mixins:[m]},v={class:"device-siemens"};function c(o,e,g,w,C,x){const p=i("openwb-base-heading"),d=i("openwb-base-alert"),u=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(p,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens ")])),_:1}),t(d,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-ba152e92.js b/web/settings/assets/device-3d21c085.js similarity index 88% rename from web/settings/assets/device-ba152e92.js rename to web/settings/assets/device-3d21c085.js index 8555846367..9fa9a2a10c 100644 --- a/web/settings/assets/device-ba152e92.js +++ b/web/settings/assets/device-3d21c085.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as n,l as p,m as c,G as t,E as r,y as o,x as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input");return p(),c("div",b,[t(s,null,{default:r(()=>e[1]||(e[1]=[o(" Einstellungen für Fronius ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein."),_("br",null,null,-1),o(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const G=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/device.vue"]]);export{G as default}; +import{D as l}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as n,l as p,m as c,G as t,E as r,y as o,x as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input");return p(),c("div",b,[t(s,null,{default:r(()=>e[1]||(e[1]=[o(" Einstellungen für Fronius ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein."),_("br",null,null,-1),o(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const G=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/device.vue"]]);export{G as default}; diff --git a/web/settings/assets/device-0916ddb1.js b/web/settings/assets/device-3e928193.js similarity index 87% rename from web/settings/assets/device-0916ddb1.js rename to web/settings/assets/device-3e928193.js index 080351e130..9d801aee40 100644 --- a/web/settings/assets/device-0916ddb1.js +++ b/web/settings/assets/device-3e928193.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DevicePowerdog",mixins:[l]},v={class:"device-powerdog"};function g(o,e,c,w,C,x){const a=i("openwb-base-heading"),p=i("openwb-base-alert"),u=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",v,[t(a,null,{default:s(()=>e[3]||(e[3]=[d(" Einstellungen für Powerdog ")])),_:1}),t(p,{subtype:"info"},{default:s(()=>e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const M=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{M as default}; +import{D as l}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DevicePowerdog",mixins:[l]},v={class:"device-powerdog"};function g(o,e,c,w,C,x){const a=i("openwb-base-heading"),p=i("openwb-base-alert"),u=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",v,[t(a,null,{default:s(()=>e[3]||(e[3]=[d(" Einstellungen für Powerdog ")])),_:1}),t(p,{subtype:"info"},{default:s(()=>e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const M=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-acc7082f.js b/web/settings/assets/device-4001f64d.js similarity index 84% rename from web/settings/assets/device-acc7082f.js rename to web/settings/assets/device-4001f64d.js index 103edaef23..3d266ab4b5 100644 --- a/web/settings/assets/device-acc7082f.js +++ b/web/settings/assets/device-4001f64d.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFoxEss",mixins:[a]},f={class:"device-fox_ess"};function b(o,e,v,g,x,w){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[_("Einstellungen für FoxEss")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{F as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFoxEss",mixins:[a]},f={class:"device-fox_ess"};function b(o,e,v,g,x,w){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[_("Einstellungen für FoxEss")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{F as default}; diff --git a/web/settings/assets/device-bebce0eb.js b/web/settings/assets/device-43bbd9b0.js similarity index 86% rename from web/settings/assets/device-bebce0eb.js rename to web/settings/assets/device-43bbd9b0.js index f7d62fab8d..1c8436483e 100644 --- a/web/settings/assets/device-bebce0eb.js +++ b/web/settings/assets/device-43bbd9b0.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as i,l as p,m as d,G as t,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarView",mixins:[u]},_={class:"device-solar-view"};function c(o,e,b,g,w,V){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),d("div",_,[t(a,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für SolarView ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Timeout",required:"","model-value":o.device.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.timeout"))},null,8,["model-value"])])}const y=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{y as default}; +import{D as u}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as i,l as p,m as d,G as t,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarView",mixins:[u]},_={class:"device-solar-view"};function c(o,e,b,g,w,V){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),d("div",_,[t(a,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für SolarView ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Timeout",required:"","model-value":o.device.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.timeout"))},null,8,["model-value"])])}const y=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-a998e1b7.js b/web/settings/assets/device-485a190d.js similarity index 81% rename from web/settings/assets/device-a998e1b7.js rename to web/settings/assets/device-485a190d.js index ff54e3303f..b1a0ba54eb 100644 --- a/web/settings/assets/device-a998e1b7.js +++ b/web/settings/assets/device-485a190d.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as t,l,m as d,G as n,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarLog",mixins:[a]},c={class:"device-solar_log"};function f(o,e,g,v,b,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return l(),d("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für Solar-Log ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as t,l,m as d,G as n,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarLog",mixins:[a]},c={class:"device-solar_log"};function f(o,e,g,v,b,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return l(),d("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für Solar-Log ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-f396a3fe.js b/web/settings/assets/device-4a0415d9.js similarity index 94% rename from web/settings/assets/device-f396a3fe.js rename to web/settings/assets/device-4a0415d9.js index 0741ff9778..8b75c0ae50 100644 --- a/web/settings/assets/device-f396a3fe.js +++ b/web/settings/assets/device-4a0415d9.js @@ -1 +1 @@ -import{D as f}from"./HardwareInstallation-bb14911c.js";import{_ as g,u as d,l as t,m as b,G as l,E as a,y as i,z as s,B as u,x as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceEnphase",mixins:[f]},y={class:"device-enphase"};function k(n,e,V,c,E,h){const m=d("openwb-base-heading"),r=d("openwb-base-text-input"),v=d("openwb-base-select-input");return t(),b("div",y,[l(m,null,{default:a(()=>e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ")])),_:1}),l(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hostname"))},{help:a(()=>e[7]||(e[7]=[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')])),_:1},8,["model-value"]),l(v,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":n.device.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[8]||(e[8]=[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")])),_:1},8,["model-value"]),n.device.configuration.version>1?(t(),s(r,{key:0,title:"Benutzer",subtype:"user","model-value":n.device.configuration.user,required:"","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.user"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:1,title:"Kennwort",subtype:"password","model-value":n.device.configuration.password,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:2,title:"Envoy Seriennummer","model-value":n.device.configuration.serial,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.serial"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:3,title:"Token",subtype:"password","model-value":n.device.configuration.token,required:"","onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.token"))},{help:a(()=>e[9]||(e[9]=[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),p("br",null,null,-1),i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ")])),_:1},8,["model-value"])):u("",!0)])}const T=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{T as default}; +import{D as f}from"./HardwareInstallation-a49fa11f.js";import{_ as g,u as d,l as t,m as b,G as l,E as a,y as i,z as s,B as u,x as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceEnphase",mixins:[f]},y={class:"device-enphase"};function k(n,e,V,c,E,h){const m=d("openwb-base-heading"),r=d("openwb-base-text-input"),v=d("openwb-base-select-input");return t(),b("div",y,[l(m,null,{default:a(()=>e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ")])),_:1}),l(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hostname"))},{help:a(()=>e[7]||(e[7]=[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')])),_:1},8,["model-value"]),l(v,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":n.device.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[8]||(e[8]=[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")])),_:1},8,["model-value"]),n.device.configuration.version>1?(t(),s(r,{key:0,title:"Benutzer",subtype:"user","model-value":n.device.configuration.user,required:"","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.user"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:1,title:"Kennwort",subtype:"password","model-value":n.device.configuration.password,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:2,title:"Envoy Seriennummer","model-value":n.device.configuration.serial,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.serial"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:3,title:"Token",subtype:"password","model-value":n.device.configuration.token,required:"","onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.token"))},{help:a(()=>e[9]||(e[9]=[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),p("br",null,null,-1),i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ")])),_:1},8,["model-value"])):u("",!0)])}const T=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{T as default}; diff --git a/web/settings/assets/device-f49646c8.js b/web/settings/assets/device-4ed2775c.js similarity index 91% rename from web/settings/assets/device-f49646c8.js rename to web/settings/assets/device-4ed2775c.js index e610478b2f..21ef433e93 100644 --- a/web/settings/assets/device-f49646c8.js +++ b/web/settings/assets/device-4ed2775c.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-bb14911c.js";import{_ as v,u as t,l as i,m as f,G as a,E as c,y as b,z as u,B as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceAlphaess",mixins:[m]},_={class:"device-alphaess"};function w(e,o,V,C,B,E){const d=t("openwb-base-heading"),r=t("openwb-base-select-input"),p=t("openwb-base-text-input"),l=t("openwb-base-number-input");return i(),f("div",_,[a(d,null,{default:c(()=>o[5]||(o[5]=[b(" Einstellungen für Alpha ESS ")])),_:1}),a(r,{title:"Ausleseart","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":e.device.configuration.source,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.source"))},null,8,["model-value"]),e.device.configuration.source==1?(i(),u(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":e.device.configuration.ip_address,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":e.device.configuration.port,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:2,title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[3]||(o[3]=n=>e.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])):s("",!0),a(r,{title:"Firmware Version","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":e.device.configuration.version,"onUpdate:modelValue":o[4]||(o[4]=n=>e.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const h=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{h as default}; +import{D as m}from"./HardwareInstallation-a49fa11f.js";import{_ as v,u as t,l as i,m as f,G as a,E as c,y as b,z as u,B as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceAlphaess",mixins:[m]},_={class:"device-alphaess"};function w(e,o,V,C,B,E){const d=t("openwb-base-heading"),r=t("openwb-base-select-input"),p=t("openwb-base-text-input"),l=t("openwb-base-number-input");return i(),f("div",_,[a(d,null,{default:c(()=>o[5]||(o[5]=[b(" Einstellungen für Alpha ESS ")])),_:1}),a(r,{title:"Ausleseart","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":e.device.configuration.source,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.source"))},null,8,["model-value"]),e.device.configuration.source==1?(i(),u(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":e.device.configuration.ip_address,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":e.device.configuration.port,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:2,title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[3]||(o[3]=n=>e.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])):s("",!0),a(r,{title:"Firmware Version","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":e.device.configuration.version,"onUpdate:modelValue":o[4]||(o[4]=n=>e.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const h=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-5b28e77e.js b/web/settings/assets/device-52b0abee.js similarity index 88% rename from web/settings/assets/device-5b28e77e.js rename to web/settings/assets/device-52b0abee.js index 3590b924a5..bc8fccbeaf 100644 --- a/web/settings/assets/device-5b28e77e.js +++ b/web/settings/assets/device-52b0abee.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as t,l as d,m,G as i,E as c,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolis",mixins:[p]},_={class:"device-solis"};function f(o,e,g,w,h,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),a=t("openwb-base-number-input"),l=t("openwb-base-select-input");return d(),m("div",_,[i(s,null,{default:c(()=>e[3]||(e[3]=[v("Einstellungen für Solis")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"inverter",text:"Wechselrichter ohne Speicheranbindung"},{value:"hybrid",text:"Hybridwechselrichter RHI/S Serie"}],"model-value":o.device.configuration.version,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const U=u(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/device.vue"]]);export{U as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as t,l as d,m,G as i,E as c,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolis",mixins:[p]},_={class:"device-solis"};function f(o,e,g,w,h,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),a=t("openwb-base-number-input"),l=t("openwb-base-select-input");return d(),m("div",_,[i(s,null,{default:c(()=>e[3]||(e[3]=[v("Einstellungen für Solis")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"inverter",text:"Wechselrichter ohne Speicheranbindung"},{value:"hybrid",text:"Hybridwechselrichter RHI/S Serie"}],"model-value":o.device.configuration.version,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const U=u(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-1ebe19e3.js b/web/settings/assets/device-58f5fc65.js similarity index 84% rename from web/settings/assets/device-1ebe19e3.js rename to web/settings/assets/device-58f5fc65.js index b63d0ccd23..90ff369c81 100644 --- a/web/settings/assets/device-1ebe19e3.js +++ b/web/settings/assets/device-58f5fc65.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l as d,m as u,G as i,E as s,y as o,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceJson",mixins:[l]},f={class:"device-json"};function b(n,e,v,g,w,x){const r=t("openwb-base-heading"),a=t("openwb-base-text-input");return d(),u("div",f,[i(r,null,{default:s(()=>e[1]||(e[1]=[o(" Einstellungen für JSON ")])),_:1}),i(a,{title:"URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>n.updateConfiguration(p,"configuration.url"))},{help:s(()=>e[2]||(e[2]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/device.vue"]]);export{$ as default}; +import{D as l}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l as d,m as u,G as i,E as s,y as o,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceJson",mixins:[l]},f={class:"device-json"};function b(n,e,v,g,w,x){const r=t("openwb-base-heading"),a=t("openwb-base-text-input");return d(),u("div",f,[i(r,null,{default:s(()=>e[1]||(e[1]=[o(" Einstellungen für JSON ")])),_:1}),i(a,{title:"URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>n.updateConfiguration(p,"configuration.url"))},{help:s(()=>e[2]||(e[2]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-ca0671b5.js b/web/settings/assets/device-59c297ec.js similarity index 81% rename from web/settings/assets/device-ca0671b5.js rename to web/settings/assets/device-59c297ec.js index 22a58b71ba..21130caeed 100644 --- a/web/settings/assets/device-ca0671b5.js +++ b/web/settings/assets/device-59c297ec.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as t,l as d,m as l,G as n,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarWorld",mixins:[a]},c={class:"device-solar_world"};function f(o,e,v,b,w,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),l("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für SolarWorld ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/solar_world/device.vue"]]);export{k as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as t,l as d,m as l,G as n,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarWorld",mixins:[a]},c={class:"device-solar_world"};function f(o,e,v,b,w,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),l("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für SolarWorld ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/solar_world/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-6727ae25.js b/web/settings/assets/device-5c6baa4a.js similarity index 85% rename from web/settings/assets/device-6727ae25.js rename to web/settings/assets/device-5c6baa4a.js index 879a29b0f2..f3b430eca1 100644 --- a/web/settings/assets/device-6727ae25.js +++ b/web/settings/assets/device-5c6baa4a.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as n,l as u,m as d,G as a,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceTasmota",mixins:[r]},v={class:"device-tasmota"};function f(t,e,b,g,w,x){const i=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-select-input");return u(),d("div",v,[a(i,null,{default:m(()=>e[2]||(e[2]=[c("Einstellungen für Tasmota")])),_:1}),a(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Phase","not-selected":"Bitte auswählen",options:[{value:1,text:"1"},{value:2,text:"2"},{value:3,text:"3"}],"model-value":t.device.configuration.phase,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.phase"))},null,8,["model-value"])])}const q=l(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tasmota/tasmota/device.vue"]]);export{q as default}; +import{D as r}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as n,l as u,m as d,G as a,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceTasmota",mixins:[r]},v={class:"device-tasmota"};function f(t,e,b,g,w,x){const i=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-select-input");return u(),d("div",v,[a(i,null,{default:m(()=>e[2]||(e[2]=[c("Einstellungen für Tasmota")])),_:1}),a(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Phase","not-selected":"Bitte auswählen",options:[{value:1,text:"1"},{value:2,text:"2"},{value:3,text:"3"}],"model-value":t.device.configuration.phase,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.phase"))},null,8,["model-value"])])}const q=l(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tasmota/tasmota/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-6d04ce3d.js b/web/settings/assets/device-6d04ce3d.js new file mode 100644 index 0000000000..777dc8396d --- /dev/null +++ b/web/settings/assets/device-6d04ce3d.js @@ -0,0 +1 @@ +import{D as l}from"./HardwareInstallation-a49fa11f.js";import{_ as r,u as a,l as d,m as p,G as i,E as u,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceTesla",mixins:[l]},v={class:"device-tesla"};function c(o,e,g,b,_,w){const s=a("openwb-base-heading"),n=a("openwb-base-text-input");return d(),p("div",v,[i(s,null,{default:u(()=>e[3]||(e[3]=[m(" Einstellungen für Tesla ")])),_:1}),i(n,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(n,{title:"E-Mail",subtype:"email",required:"","model-value":o.device.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.email"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const T=r(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{T as default}; diff --git a/web/settings/assets/device-2bc860f5.js b/web/settings/assets/device-6f8d53e2.js similarity index 87% rename from web/settings/assets/device-2bc860f5.js rename to web/settings/assets/device-6f8d53e2.js index 13f919fa9f..1ae0a666fd 100644 --- a/web/settings/assets/device-2bc860f5.js +++ b/web/settings/assets/device-6f8d53e2.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS",mixins:[u]},f={class:"device-azzurro_zcs"};function b(o,e,v,g,z,w){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),l("div",f,[t(a,null,{default:m(()=>e[3]||(e[3]=[_(" Einstellungen für Azzurro ZCS ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs/device.vue"]]);export{k as default}; +import{D as u}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS",mixins:[u]},f={class:"device-azzurro_zcs"};function b(o,e,v,g,z,w){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),l("div",f,[t(a,null,{default:m(()=>e[3]||(e[3]=[_(" Einstellungen für Azzurro ZCS ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-45bfc089.js b/web/settings/assets/device-7089f93a.js similarity index 87% rename from web/settings/assets/device-45bfc089.js rename to web/settings/assets/device-7089f93a.js index 843ddc9e7b..d2359c1ca5 100644 --- a/web/settings/assets/device-45bfc089.js +++ b/web/settings/assets/device-7089f93a.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as i,l,m as p,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceKostalSEM",mixins:[d]},v={class:"device-kostal-sem"};function _(o,e,c,g,w,C){const s=i("openwb-base-heading"),r=i("openwb-base-text-input"),a=i("openwb-base-number-input");return l(),p("div",v,[t(s,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{B as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as i,l,m as p,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceKostalSEM",mixins:[d]},v={class:"device-kostal-sem"};function _(o,e,c,g,w,C){const s=i("openwb-base-heading"),r=i("openwb-base-text-input"),a=i("openwb-base-number-input");return l(),p("div",v,[t(s,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-aa9727b4.js b/web/settings/assets/device-7396b839.js similarity index 89% rename from web/settings/assets/device-aa9727b4.js rename to web/settings/assets/device-7396b839.js index f2df50cbd2..49ef9f6ca7 100644 --- a/web/settings/assets/device-aa9727b4.js +++ b/web/settings/assets/device-7396b839.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as n,l as c,m as f,G as o,E as l,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[u]},v={class:"device-shelly"};function b(t,e,g,h,w,y){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-select-input");return c(),f("div",v,[o(r,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für Shelly ")])),_:1}),o(a,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(" Unterstützt werden theoretisch alle ein- und dreiphasigen Shelly der Generation 1-3. Getestete Modelle sind Shelly 1pm, 1pm plus, Pro Pro 3EM, Plug S. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":t.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.factor"))},{help:l(()=>e[4]||(e[4]=[s(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as n,l as c,m as f,G as o,E as l,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[u]},v={class:"device-shelly"};function b(t,e,g,h,w,y){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-select-input");return c(),f("div",v,[o(r,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für Shelly ")])),_:1}),o(a,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(" Unterstützt werden theoretisch alle ein- und dreiphasigen Shelly der Generation 1-3. Getestete Modelle sind Shelly 1pm, 1pm plus, Pro Pro 3EM, Plug S. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":t.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.factor"))},{help:l(()=>e[4]||(e[4]=[s(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-043a78bc.js b/web/settings/assets/device-76692771.js similarity index 84% rename from web/settings/assets/device-043a78bc.js rename to web/settings/assets/device-76692771.js index 2625ae39d9..ea2cc081ee 100644 --- a/web/settings/assets/device-043a78bc.js +++ b/web/settings/assets/device-76692771.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as n,l as u,m,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuder",mixins:[a]},f={class:"device-studer"};function b(o,e,v,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-number-input");return u(),m("div",f,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Studer ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as n,l as u,m,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuder",mixins:[a]},f={class:"device-studer"};function b(o,e,v,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-number-input");return u(),m("div",f,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Studer ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-2317d232.js b/web/settings/assets/device-78c553df.js similarity index 81% rename from web/settings/assets/device-2317d232.js rename to web/settings/assets/device-78c553df.js index 61ec3d7ca2..f6fcaf50e2 100644 --- a/web/settings/assets/device-2317d232.js +++ b/web/settings/assets/device-78c553df.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as t,l as m,m as d,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartfox",mixins:[a]},f={class:"device-smartfox"};function _(o,e,v,x,b,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return m(),d("div",f,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für Smartfox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as t,l as m,m as d,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartfox",mixins:[a]},f={class:"device-smartfox"};function _(o,e,v,x,b,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return m(),d("div",f,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für Smartfox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-9f4c38f1.js b/web/settings/assets/device-7e0b4235.js similarity index 81% rename from web/settings/assets/device-9f4c38f1.js rename to web/settings/assets/device-7e0b4235.js index a487b8a966..a9fe57c1e4 100644 --- a/web/settings/assets/device-9f4c38f1.js +++ b/web/settings/assets/device-7e0b4235.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as o,l as d,m as l,G as t,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBenning",mixins:[p]},_={class:"device-benning"};function f(n,e,b,g,v,x){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),l("div",_,[t(i,null,{default:m(()=>e[1]||(e[1]=[u("Einstellungen für Benning")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.url"))},null,8,["model-value"])])}const y=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{y as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as o,l as d,m as l,G as t,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBenning",mixins:[p]},_={class:"device-benning"};function f(n,e,b,g,v,x){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),l("div",_,[t(i,null,{default:m(()=>e[1]||(e[1]=[u("Einstellungen für Benning")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.url"))},null,8,["model-value"])])}const y=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-f1e0574b.js b/web/settings/assets/device-8291c336.js similarity index 91% rename from web/settings/assets/device-f1e0574b.js rename to web/settings/assets/device-8291c336.js index 42e9df3869..4126689ff9 100644 --- a/web/settings/assets/device-f1e0574b.js +++ b/web/settings/assets/device-8291c336.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as i,l as g,m as b,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolax",mixins:[p]},v={class:"device-solax"};function c(n,e,_,w,x,C){const l=i("openwb-base-heading"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input"),u=i("openwb-base-select-input");return g(),b("div",v,[t(l,null,{default:r(()=>e[4]||(e[4]=[a(" Einstellungen für Solax ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",min:1,max:65535,placeholder:502,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},{help:r(()=>e[5]||(e[5]=[a(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ")])),_:1},8,["model-value"]),t(s,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":n.device.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:r(()=>e[6]||(e[6]=[a(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")])),_:1},8,["model-value"]),t(u,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"g2",text:"Gen 2"},{value:"g3",text:"Gen 3"},{value:"g4",text:"Gen 4"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"])])}const U=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{U as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as i,l as g,m as b,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolax",mixins:[p]},v={class:"device-solax"};function c(n,e,_,w,x,C){const l=i("openwb-base-heading"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input"),u=i("openwb-base-select-input");return g(),b("div",v,[t(l,null,{default:r(()=>e[4]||(e[4]=[a(" Einstellungen für Solax ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",min:1,max:65535,placeholder:502,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},{help:r(()=>e[5]||(e[5]=[a(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ")])),_:1},8,["model-value"]),t(s,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":n.device.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:r(()=>e[6]||(e[6]=[a(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")])),_:1},8,["model-value"]),t(u,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:"g2",text:"Gen 2"},{value:"g3",text:"Gen 3"},{value:"g4",text:"Gen 4"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"])])}const U=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-f50ecbb3.js b/web/settings/assets/device-869485f6.js similarity index 89% rename from web/settings/assets/device-f50ecbb3.js rename to web/settings/assets/device-869485f6.js index d2a4352ec1..e17c30df1f 100644 --- a/web/settings/assets/device-f50ecbb3.js +++ b/web/settings/assets/device-869485f6.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r,x as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,B,h,S){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),p=o("openwb-base-text-input"),l=o("openwb-base-number-input");return b(),c("div",_,[t(a,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für SolarEdge ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren SmartHome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},{help:s(()=>e[4]||(e[4]=[r(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")])),_:1},8,["model-value"])])}const $=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r,x as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,B,h,S){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),p=o("openwb-base-text-input"),l=o("openwb-base-number-input");return b(),c("div",_,[t(a,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für SolarEdge ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren SmartHome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},{help:s(()=>e[4]||(e[4]=[r(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")])),_:1},8,["model-value"])])}const $=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-8ee69513.js b/web/settings/assets/device-86ec9e6e.js similarity index 87% rename from web/settings/assets/device-8ee69513.js rename to web/settings/assets/device-86ec9e6e.js index 9f13a32a7f..d04ea63881 100644 --- a/web/settings/assets/device-8ee69513.js +++ b/web/settings/assets/device-86ec9e6e.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as n,l as m,m as _,G as a,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarwatt",mixins:[p]},v={class:"device-solarwatt"};function c(t,e,w,b,g,x){const s=n("openwb-base-heading"),l=n("openwb-base-text-input"),d=n("openwb-base-select-input");return m(),_("div",v,[a(s,null,{default:i(()=>e[2]||(e[2]=[r(" Einstellungen für Solarwatt/My Reserve ")])),_:1}),a(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Abrufmethode","not-selected":"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":t.device.configuration.energy_manager,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.energy_manager"))},{help:i(()=>e[3]||(e[3]=[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")])),_:1},8,["model-value"])])}const G=u(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/solar_watt/device.vue"]]);export{G as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as n,l as m,m as _,G as a,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarwatt",mixins:[p]},v={class:"device-solarwatt"};function c(t,e,w,b,g,x){const s=n("openwb-base-heading"),l=n("openwb-base-text-input"),d=n("openwb-base-select-input");return m(),_("div",v,[a(s,null,{default:i(()=>e[2]||(e[2]=[r(" Einstellungen für Solarwatt/My Reserve ")])),_:1}),a(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Abrufmethode","not-selected":"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":t.device.configuration.energy_manager,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.energy_manager"))},{help:i(()=>e[3]||(e[3]=[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")])),_:1},8,["model-value"])])}const G=u(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/solar_watt/device.vue"]]);export{G as default}; diff --git a/web/settings/assets/device-01e6cf43.js b/web/settings/assets/device-8d3b3230.js similarity index 89% rename from web/settings/assets/device-01e6cf43.js rename to web/settings/assets/device-8d3b3230.js index 430229dd6d..c9bea84e35 100644 --- a/web/settings/assets/device-01e6cf43.js +++ b/web/settings/assets/device-8d3b3230.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as i,l as c,m as b,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPlenticore",mixins:[u]},_={class:"device-kostal-plenticore"};function v(o,e,g,w,C,E){const l=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return c(),b("div",_,[t(l,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Kostal Plenticore ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Smart Energy Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as i,l as c,m as b,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPlenticore",mixins:[u]},_={class:"device-kostal-plenticore"};function v(o,e,g,w,C,E){const l=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return c(),b("div",_,[t(l,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Kostal Plenticore ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Smart Energy Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-782e2556.js b/web/settings/assets/device-9eabc6b0.js similarity index 85% rename from web/settings/assets/device-782e2556.js rename to web/settings/assets/device-9eabc6b0.js index 3d92e4f95f..1302e81d82 100644 --- a/web/settings/assets/device-782e2556.js +++ b/web/settings/assets/device-9eabc6b0.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as t,l as c,m,G as o,E as s,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPiko",mixins:[d]},f={class:"device-kostal-piko"};function b(n,e,v,g,k,h){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input");return c(),m("div",f,[o(a,null,{default:s(()=>e[1]||(e[1]=[i(" Einstellungen für Kostal Piko ")])),_:1}),o(r,{subtype:"info"},{default:s(()=>e[2]||(e[2]=[i(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const B=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{B as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as t,l as c,m,G as o,E as s,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPiko",mixins:[d]},f={class:"device-kostal-piko"};function b(n,e,v,g,k,h){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input");return c(),m("div",f,[o(a,null,{default:s(()=>e[1]||(e[1]=[i(" Einstellungen für Kostal Piko ")])),_:1}),o(r,{subtype:"info"},{default:s(()=>e[2]||(e[2]=[i(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const B=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-f9a95046.js b/web/settings/assets/device-9f02bd71.js similarity index 86% rename from web/settings/assets/device-f9a95046.js rename to web/settings/assets/device-9f02bd71.js index 6f9fc6f10c..440de3ca93 100644 --- a/web/settings/assets/device-f9a95046.js +++ b/web/settings/assets/device-9f02bd71.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVarta",mixins:[d]},b={class:"device-varta"};function _(o,e,c,g,w,V){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",b,[t(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Varta ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{y as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVarta",mixins:[d]},b={class:"device-varta"};function _(o,e,c,g,w,V){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",b,[t(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Varta ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-d0907bd1.js b/web/settings/assets/device-a5c9e4d0.js similarity index 93% rename from web/settings/assets/device-d0907bd1.js rename to web/settings/assets/device-a5c9e4d0.js index 69c70caa44..1935799227 100644 --- a/web/settings/assets/device-d0907bd1.js +++ b/web/settings/assets/device-a5c9e4d0.js @@ -1 +1 @@ -import{D as v}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as o,l as g,m as _,G as s,E as u,y as i,x as n,F as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const A={name:"DeviceSonnenbatterie",mixins:[v],computed:{linkRestApi1(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.device.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.device.configuration.ip_address+"/api/v2/status"}}},k={class:"device-sonnenbatterie"},w={style:{display:"block"}},B=["href"],J=["href"],R=["href"],I=["href"];function P(r,e,x,h,C,t){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),f=o("openwb-base-text-input"),b=o("openwb-base-select-input");return g(),_("div",k,[s(d,null,{default:u(()=>e[2]||(e[2]=[i(" Einstellungen für SonnenBatterie ")])),_:1}),s(p,{subtype:"info"},{default:u(()=>e[3]||(e[3]=[i(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')])),_:1}),s(f,{title:"IP oder Hostname",subtype:"host",required:"","model-value":r.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>r.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),s(b,{title:"Datenverbindung",required:"","not-selected":"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":r.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=a=>r.updateConfiguration(a,"configuration.variant"))},{help:u(()=>[n("span",w,[e[4]||(e[4]=i(" Je nach SonnenBatterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:")),e[5]||(e[5]=n("br",null,null,-1)),e[6]||(e[6]=i(" Rest-API 1: ")),n("a",{href:t.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi1),9,B),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=i(" Rest-API 2: ")),n("a",{href:t.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi2),9,J),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=i(" JSON-API v1: ")),n("a",{href:t.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi1),9,R),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=i(" JSON-API v2: ")),n("a",{href:t.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi2),9,I)])]),_:1},8,["model-value"])])}const U=m(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{U as default}; +import{D as v}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as o,l as g,m as _,G as s,E as u,y as i,x as n,F as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const A={name:"DeviceSonnenbatterie",mixins:[v],computed:{linkRestApi1(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.device.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.device.configuration.ip_address+"/api/v2/status"}}},k={class:"device-sonnenbatterie"},w={style:{display:"block"}},B=["href"],J=["href"],R=["href"],I=["href"];function P(r,e,x,h,C,t){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),f=o("openwb-base-text-input"),b=o("openwb-base-select-input");return g(),_("div",k,[s(d,null,{default:u(()=>e[2]||(e[2]=[i(" Einstellungen für SonnenBatterie ")])),_:1}),s(p,{subtype:"info"},{default:u(()=>e[3]||(e[3]=[i(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')])),_:1}),s(f,{title:"IP oder Hostname",subtype:"host",required:"","model-value":r.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>r.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),s(b,{title:"Datenverbindung",required:"","not-selected":"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":r.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=a=>r.updateConfiguration(a,"configuration.variant"))},{help:u(()=>[n("span",w,[e[4]||(e[4]=i(" Je nach SonnenBatterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:")),e[5]||(e[5]=n("br",null,null,-1)),e[6]||(e[6]=i(" Rest-API 1: ")),n("a",{href:t.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi1),9,B),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=i(" Rest-API 2: ")),n("a",{href:t.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi2),9,J),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=i(" JSON-API v1: ")),n("a",{href:t.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi1),9,R),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=i(" JSON-API v2: ")),n("a",{href:t.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi2),9,I)])]),_:1},8,["model-value"])])}const U=m(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-a655ca22.js b/web/settings/assets/device-a655ca22.js deleted file mode 100644 index 22c1080b53..0000000000 --- a/web/settings/assets/device-a655ca22.js +++ /dev/null @@ -1 +0,0 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as s,l as f,m as g,G as t,E as a,y as r,x as o}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceTesla",mixins:[p]},b={class:"device-tesla"};function c(n,e,v,k,h,_){const d=s("openwb-base-heading"),u=s("openwb-base-alert"),l=s("openwb-base-text-input");return f(),g("div",b,[t(d,null,{default:a(()=>e[3]||(e[3]=[r(" Einstellungen für Tesla ")])),_:1}),t(u,{subtype:"danger"},{default:a(()=>e[4]||(e[4]=[o("span",{style:{"font-weight":"bold"}}," Tesla hat in der aktuellen Firmware-Version die lokale API der PowerWall abgeschaltet. ",-1),r("Daher ist es mit dieser Firmware nicht mehr möglich, die PowerWall direkt auszulesen. Wir prüfen aktuell den Zugriff über die Tesla-Server. Bis zur Umsetzung dieser Funktion ist es nicht möglich, die PowerWall lokal auszulesen."),o("br",null,null,-1),o("span",{style:{"font-weight":"bold"}}," Wenn die lokale Abfrage bei Dir noch funktioniert, dann solltest Du die Firmware der PowerWall nicht aktualisieren! ",-1),o("br",null,null,-1),r(" Wir empfehlen, dass Du Tesla kontaktierst und Kritik an dieser Entscheidung mitteilst. Nur so können wir hoffen, dass Tesla die lokale API wieder aktiviert. Mit der Cloud-API kommt es zwangsläufig zu Verzögerungen (Latenzen), welche eine Regelung durch openWB erschweren. Weiterhin kommt es zu einem totalen Ausfall, wenn die Internetverbindung gestört ist. Aus diesen Gründen ist eine lokale API immer vorzuziehen. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"E-Mail",subtype:"email",required:"","model-value":n.device.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.email"))},null,8,["model-value"]),t(l,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.password"))},null,8,["model-value"])])}const B=m(w,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-d840f5eb.js b/web/settings/assets/device-a9087bab.js similarity index 87% rename from web/settings/assets/device-d840f5eb.js rename to web/settings/assets/device-a9087bab.js index e759e59921..33a34a96e7 100644 --- a/web/settings/assets/device-d840f5eb.js +++ b/web/settings/assets/device-a9087bab.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as t,l,m as p,G as i,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceCarloGavazzi",mixins:[d]},f={class:"device-carlo-gavazzi"};function _(o,e,b,g,z,w){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),p("div",f,[i(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Carlo Gavazzi ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/device.vue"]]);export{U as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as t,l,m as p,G as i,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceCarloGavazzi",mixins:[d]},f={class:"device-carlo-gavazzi"};function _(o,e,b,g,z,w){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),p("div",f,[i(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Carlo Gavazzi ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-092f3cf7.js b/web/settings/assets/device-a9cb065d.js similarity index 84% rename from web/settings/assets/device-092f3cf7.js rename to web/settings/assets/device-a9cb065d.js index 6042c25519..43128530cd 100644 --- a/web/settings/assets/device-092f3cf7.js +++ b/web/settings/assets/device-a9cb065d.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as n,l as m,m as u,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceMTec",mixins:[a]},f={class:"device-mtec"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),r=n("openwb-base-text-input"),p=n("openwb-base-number-input");return m(),u("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[c("Einstellungen für M-Tec")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as n,l as m,m as u,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceMTec",mixins:[a]},f={class:"device-mtec"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),r=n("openwb-base-text-input"),p=n("openwb-base-number-input");return m(),u("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[c("Einstellungen für M-Tec")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-45e55046.js b/web/settings/assets/device-b3037576.js similarity index 81% rename from web/settings/assets/device-45e55046.js rename to web/settings/assets/device-b3037576.js index ec2a80ff5b..b27cb8781b 100644 --- a/web/settings/assets/device-45e55046.js +++ b/web/settings/assets/device-b3037576.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l as d,m as u,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenDTU",mixins:[r]},_={class:"device-opendtu"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),u("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[m("Einstellungen für OpenDTU")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.url"))},null,8,["model-value"])])}const h=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/device.vue"]]);export{h as default}; +import{D as r}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l as d,m as u,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenDTU",mixins:[r]},_={class:"device-opendtu"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),u("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[m("Einstellungen für OpenDTU")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.url"))},null,8,["model-value"])])}const h=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-dc7239bb.js b/web/settings/assets/device-be58c66b.js similarity index 80% rename from web/settings/assets/device-dc7239bb.js rename to web/settings/assets/device-be58c66b.js index df65c18e63..7ab4aa0bfc 100644 --- a/web/settings/assets/device-dc7239bb.js +++ b/web/settings/assets/device-be58c66b.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l as d,m as c,G as n,E as m,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceRCT",mixins:[p]},_={class:"device-rct"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),c("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[l(" Einstellungen für RCT ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/rct/device.vue"]]);export{k as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l as d,m as c,G as n,E as m,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceRCT",mixins:[p]},_={class:"device-rct"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),c("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[l(" Einstellungen für RCT ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/rct/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-fcaad7eb.js b/web/settings/assets/device-d282bde6.js similarity index 81% rename from web/settings/assets/device-fcaad7eb.js rename to web/settings/assets/device-d282bde6.js index 7b302f8403..c9b6663b4a 100644 --- a/web/settings/assets/device-fcaad7eb.js +++ b/web/settings/assets/device-d282bde6.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as r,u as t,l as d,m,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmaWebbox",mixins:[p]},_={class:"device-sma-webbox"};function b(o,e,f,v,x,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SMA Webbox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const k=r(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_webbox/device.vue"]]);export{k as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as r,u as t,l as d,m,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmaWebbox",mixins:[p]},_={class:"device-sma-webbox"};function b(o,e,f,v,x,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SMA Webbox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const k=r(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_webbox/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-83b9ffc2.js b/web/settings/assets/device-d48653ec.js similarity index 93% rename from web/settings/assets/device-83b9ffc2.js rename to web/settings/assets/device-d48653ec.js index bf44bde131..5b355413fc 100644 --- a/web/settings/assets/device-83b9ffc2.js +++ b/web/settings/assets/device-d48653ec.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-bb14911c.js";import{_ as b,u as o,l as g,m as f,G as t,E as s,y as r,x as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceHuawei",mixins:[m]},c={class:"device-huawei"};function _(n,e,h,D,C,H){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),l=o("openwb-base-text-input"),u=o("openwb-base-number-input"),p=o("openwb-base-select-input");return g(),f("div",c,[t(a,null,{default:s(()=>e[4]||(e[4]=[r(" Einstellungen für Huawei ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[5]||(e[5]=[r(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. ')])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},{help:s(()=>e[6]||(e[6]=[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),v("br",null,null,-1),r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")])),_:1},8,["model-value"]),t(p,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"modbus_rtu",text:"Modbus RTU (mit Modbus/TCP Adapter)"}],"model-value":n.device.configuration.type,required:"","onUpdate:modelValue":e[3]||(e[3]=i=>n.updateConfiguration(i,"configuration.type"))},{help:s(()=>e[7]||(e[7]=[r(' Die Anbindung über den Huawei SDongle erfordert die Regelgeschwindigkeit "sehr langsam". Alternativ kann Huawei auch mittels Modbus/TCP Adapter (z.B. Protoss oder Elfin) über den Modbus RTU Ausgang des Wechselrichters abgefragt werden. Hier gibt es keine Einschränkungen der Regelgeschwindigkeit. Eine gleichzeitige Nutzung von SDongle und Modbus RTU ist nicht möglich. ')])),_:1},8,["model-value"])])}const R=b(w,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{R as default}; +import{D as m}from"./HardwareInstallation-a49fa11f.js";import{_ as b,u as o,l as g,m as f,G as t,E as s,y as r,x as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceHuawei",mixins:[m]},c={class:"device-huawei"};function _(n,e,h,D,C,H){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),l=o("openwb-base-text-input"),u=o("openwb-base-number-input"),p=o("openwb-base-select-input");return g(),f("div",c,[t(a,null,{default:s(()=>e[4]||(e[4]=[r(" Einstellungen für Huawei ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[5]||(e[5]=[r(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. ')])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},{help:s(()=>e[6]||(e[6]=[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),v("br",null,null,-1),r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")])),_:1},8,["model-value"]),t(p,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"modbus_rtu",text:"Modbus RTU (mit Modbus/TCP Adapter)"}],"model-value":n.device.configuration.type,required:"","onUpdate:modelValue":e[3]||(e[3]=i=>n.updateConfiguration(i,"configuration.type"))},{help:s(()=>e[7]||(e[7]=[r(' Die Anbindung über den Huawei SDongle erfordert die Regelgeschwindigkeit "sehr langsam". Alternativ kann Huawei auch mittels Modbus/TCP Adapter (z.B. Protoss oder Elfin) über den Modbus RTU Ausgang des Wechselrichters abgefragt werden. Hier gibt es keine Einschränkungen der Regelgeschwindigkeit. Eine gleichzeitige Nutzung von SDongle und Modbus RTU ist nicht möglich. ')])),_:1},8,["model-value"])])}const R=b(w,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{R as default}; diff --git a/web/settings/assets/device-410ab0e2.js b/web/settings/assets/device-da03c7c0.js similarity index 84% rename from web/settings/assets/device-410ab0e2.js rename to web/settings/assets/device-da03c7c0.js index 3353e66993..6dc24bd857 100644 --- a/web/settings/assets/device-410ab0e2.js +++ b/web/settings/assets/device-da03c7c0.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as r,l as u,m as d,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfox",mixins:[a]},c={class:"device-powerfox"};function v(o,e,w,_,b,g){const s=r("openwb-base-heading"),i=r("openwb-base-text-input");return u(),d("div",c,[n(s,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Powerfox ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const k=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{k as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as r,l as u,m as d,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfox",mixins:[a]},c={class:"device-powerfox"};function v(o,e,w,_,b,g){const s=r("openwb-base-heading"),i=r("openwb-base-text-input");return u(),d("div",c,[n(s,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Powerfox ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const k=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-f4a44ed9.js b/web/settings/assets/device-e41b5a83.js similarity index 84% rename from web/settings/assets/device-f4a44ed9.js rename to web/settings/assets/device-e41b5a83.js index 6a6e6dac9f..4b8d2737ff 100644 --- a/web/settings/assets/device-f4a44ed9.js +++ b/web/settings/assets/device-e41b5a83.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,y){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",_,[i(r,null,{default:l(()=>e[2]||(e[2]=[g("Einstellungen für Sigenergy")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,y){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",_,[i(r,null,{default:l(()=>e[2]||(e[2]=[g("Einstellungen für Sigenergy")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-74dc63ef.js b/web/settings/assets/device-e484c150.js similarity index 81% rename from web/settings/assets/device-74dc63ef.js rename to web/settings/assets/device-e484c150.js index a656d21f4c..34a5320a85 100644 --- a/web/settings/assets/device-74dc63ef.js +++ b/web/settings/assets/device-e484c150.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as o,l as d,m,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBatterX",mixins:[a]},_={class:"device-batterx"};function f(t,e,b,v,x,g){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für BatterX ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as o,l as d,m,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBatterX",mixins:[a]},_={class:"device-batterx"};function f(t,e,b,v,x,g){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für BatterX ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-5d2d3a48.js b/web/settings/assets/device-e4ca6f6c.js similarity index 84% rename from web/settings/assets/device-5d2d3a48.js rename to web/settings/assets/device-e4ca6f6c.js index fd7f70bb2d..21e3196562 100644 --- a/web/settings/assets/device-5d2d3a48.js +++ b/web/settings/assets/device-e4ca6f6c.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as s,l as m,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMe",mixins:[a]},f={class:"device-smart-me"};function v(o,e,_,b,g,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return m(),u("div",f,[n(r,null,{default:d(()=>e[2]||(e[2]=[l(" Einstellungen für smart-me ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as s,l as m,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMe",mixins:[a]},f={class:"device-smart-me"};function v(o,e,_,b,g,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return m(),u("div",f,[n(r,null,{default:d(()=>e[2]||(e[2]=[l(" Einstellungen für smart-me ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-5b3abfe2.js b/web/settings/assets/device-e6310ca5.js similarity index 81% rename from web/settings/assets/device-5b3abfe2.js rename to web/settings/assets/device-e6310ca5.js index 08aaff217b..d1cac9905b 100644 --- a/web/settings/assets/device-5b3abfe2.js +++ b/web/settings/assets/device-e6310ca5.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l as d,m as l,G as s,E as u,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceYouless",mixins:[r]},_={class:"device-youless"};function f(o,e,v,b,g,x){const n=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[s(n,null,{default:u(()=>e[1]||(e[1]=[m(" Einstellungen für Youless ")])),_:1}),s(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/device.vue"]]);export{k as default}; +import{D as r}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l as d,m as l,G as s,E as u,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceYouless",mixins:[r]},_={class:"device-youless"};function f(o,e,v,b,g,x){const n=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[s(n,null,{default:u(()=>e[1]||(e[1]=[m(" Einstellungen für Youless ")])),_:1}),s(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-0a3cf522.js b/web/settings/assets/device-e91d276b.js similarity index 84% rename from web/settings/assets/device-0a3cf522.js rename to web/settings/assets/device-e91d276b.js index ce4c1183c0..ab2eae9451 100644 --- a/web/settings/assets/device-0a3cf522.js +++ b/web/settings/assets/device-e91d276b.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as i,l as d,m as u,G as t,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunways",mixins:[r]},f={class:"device-sunways"};function v(o,e,w,_,b,g){const a=i("openwb-base-heading"),s=i("openwb-base-text-input");return d(),u("div",f,[t(a,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Sunways ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/sunways/device.vue"]]);export{q as default}; +import{D as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as i,l as d,m as u,G as t,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunways",mixins:[r]},f={class:"device-sunways"};function v(o,e,w,_,b,g){const a=i("openwb-base-heading"),s=i("openwb-base-text-input");return d(),u("div",f,[t(a,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Sunways ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/sunways/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-5a492d6d.js b/web/settings/assets/device-ee25e2e5.js similarity index 84% rename from web/settings/assets/device-5a492d6d.js rename to web/settings/assets/device-ee25e2e5.js index 4ae1931c50..fe139c5878 100644 --- a/web/settings/assets/device-5a492d6d.js +++ b/web/settings/assets/device-ee25e2e5.js @@ -1 +1 @@ -import{D as d}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as o,l as u,m,G as i,E as r,y as t,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,x,w){const s=o("openwb-base-heading"),p=o("openwb-base-text-input");return u(),m("div",v,[i(s,null,{default:r(()=>e[1]||(e[1]=[t(" Einstellungen für Http ")])),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.url"))},{help:r(()=>e[2]||(e[2]=[t(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ")])),_:1},8,["model-value"])])}const k=l(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/device.vue"]]);export{k as default}; +import{D as d}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as o,l as u,m,G as i,E as r,y as t,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,x,w){const s=o("openwb-base-heading"),p=o("openwb-base-text-input");return u(),m("div",v,[i(s,null,{default:r(()=>e[1]||(e[1]=[t(" Einstellungen für Http ")])),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.url"))},{help:r(()=>e[2]||(e[2]=[t(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ")])),_:1},8,["model-value"])])}const k=l(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-c4c8ad1e.js b/web/settings/assets/device-f00ae29a.js similarity index 84% rename from web/settings/assets/device-c4c8ad1e.js rename to web/settings/assets/device-f00ae29a.js index b90084158d..4472869e4a 100644 --- a/web/settings/assets/device-c4c8ad1e.js +++ b/web/settings/assets/device-f00ae29a.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as t,l as u,m as l,G as i,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyIsland",mixins:[p]},f={class:"device-sunnyisland"};function b(n,e,v,g,w,x){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return u(),l("div",f,[i(s,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für Sunny Island ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const q=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/device.vue"]]);export{q as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as t,l as u,m as l,G as i,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyIsland",mixins:[p]},f={class:"device-sunnyisland"};function b(n,e,v,g,w,x){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return u(),l("div",f,[i(s,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für Sunny Island ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const q=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-320c4029.js b/web/settings/assets/device-f3317167.js similarity index 87% rename from web/settings/assets/device-320c4029.js rename to web/settings/assets/device-f3317167.js index ade32adbb3..17a2752093 100644 --- a/web/settings/assets/device-320c4029.js +++ b/web/settings/assets/device-f3317167.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as t,l,m,G as i,E as s,y as n,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const p={name:"DeviceMqtt",mixins:[a]},u={class:"device-mqtt"};function g(_,e,b,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),m("div",u,[i(r,null,{default:s(()=>e[0]||(e[0]=[n("Einstellungen für MQTT")])),_:1}),i(o,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an die angegebenen Topics im Broker gesendet werden. Da die Daten direkt an den Broker gesendet werden, erfolgt keine Verrechnung bei Hybrid-Systemen und auch keine Berechnung fehlender Werte, z.B. von Phasen-Leistung aus Spannung und Strömen. Beim Logging und im Lastmanagement, z.B. bei verschachtelten Zählern, werden die MQTT-Zähler wie gewohnt berücksichtigt."),c("br",null,null,-1),n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")])),_:1})])}const y=d(p,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as t,l,m,G as i,E as s,y as n,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const p={name:"DeviceMqtt",mixins:[a]},u={class:"device-mqtt"};function g(_,e,b,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),m("div",u,[i(r,null,{default:s(()=>e[0]||(e[0]=[n("Einstellungen für MQTT")])),_:1}),i(o,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an die angegebenen Topics im Broker gesendet werden. Da die Daten direkt an den Broker gesendet werden, erfolgt keine Verrechnung bei Hybrid-Systemen und auch keine Berechnung fehlender Werte, z.B. von Phasen-Leistung aus Spannung und Strömen. Beim Logging und im Lastmanagement, z.B. bei verschachtelten Zählern, werden die MQTT-Zähler wie gewohnt berücksichtigt."),c("br",null,null,-1),n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")])),_:1})])}const y=d(p,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-74a87aa0.js b/web/settings/assets/device-f5cfb0b4.js similarity index 94% rename from web/settings/assets/device-74a87aa0.js rename to web/settings/assets/device-f5cfb0b4.js index c327bf403f..1175bbfb1e 100644 --- a/web/settings/assets/device-74a87aa0.js +++ b/web/settings/assets/device-f5cfb0b4.js @@ -1 +1 @@ -import{D as b}from"./HardwareInstallation-bb14911c.js";import{_ as v,u as i,l as s,m as g,G as t,E as a,y as r,z as f,x as w,B as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const S={name:"DeviceSungrow",mixins:[b]},N={class:"device-sungrow"};function _(n,e,D,V,H,h){const d=i("openwb-base-heading"),m=i("openwb-base-alert"),p=i("openwb-base-text-input"),l=i("openwb-base-number-input"),u=i("openwb-base-select-input");return s(),g("div",N,[t(d,null,{default:a(()=>e[5]||(e[5]=[r(" Einstellungen für Sungrow ")])),_:1}),t(m,{subtype:"info"},{default:a(()=>e[6]||(e[6]=[r(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),t(u,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[7]||(e[7]=[r(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per LAN oder WLAN) einbinden, um iSolarCloud nutzen zu können. ")])),_:1},8,["model-value"]),n.device.configuration.version===0?(s(),f(u,{key:0,title:"Firmware",options:[{value:"v1",text:"bis November 2024"},{value:"v2",text:"ab November 2024"}],"model-value":n.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.firmware"))},{help:a(()=>e[8]||(e[8]=[r(' Mit einem Firmwareupdate hat Sungrow ab November 2024 die Auslesung der Speicherleistung verändert. Sollte ab November 2024 selbst oder vom Installateur ein Firmwareupdate gemacht worden sein bitte "ab November 2024" als Firmware wählen. Ohne dieses Update ist "bis November 2024" die richtige Auswahl (Standard).'),w("br",null,null,-1),r(' Für Benutzer mit Installateur-Account: Dies entspricht einer Version des MDSP Moduls größer gleich "SAPPHIRE-H_03011.95.03" ')])),_:1},8,["model-value"])):c("",!0)])}const P=v(S,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{P as default}; +import{D as b}from"./HardwareInstallation-a49fa11f.js";import{_ as v,u as i,l as s,m as g,G as t,E as a,y as r,z as f,x as w,B as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const S={name:"DeviceSungrow",mixins:[b]},N={class:"device-sungrow"};function _(n,e,D,V,H,h){const d=i("openwb-base-heading"),m=i("openwb-base-alert"),p=i("openwb-base-text-input"),l=i("openwb-base-number-input"),u=i("openwb-base-select-input");return s(),g("div",N,[t(d,null,{default:a(()=>e[5]||(e[5]=[r(" Einstellungen für Sungrow ")])),_:1}),t(m,{subtype:"info"},{default:a(()=>e[6]||(e[6]=[r(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),t(u,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[7]||(e[7]=[r(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per LAN oder WLAN) einbinden, um iSolarCloud nutzen zu können. ")])),_:1},8,["model-value"]),n.device.configuration.version===0?(s(),f(u,{key:0,title:"Firmware",options:[{value:"v1",text:"bis November 2024"},{value:"v2",text:"ab November 2024"}],"model-value":n.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.firmware"))},{help:a(()=>e[8]||(e[8]=[r(' Mit einem Firmwareupdate hat Sungrow ab November 2024 die Auslesung der Speicherleistung verändert. Sollte ab November 2024 selbst oder vom Installateur ein Firmwareupdate gemacht worden sein bitte "ab November 2024" als Firmware wählen. Ohne dieses Update ist "bis November 2024" die richtige Auswahl (Standard).'),w("br",null,null,-1),r(' Für Benutzer mit Installateur-Account: Dies entspricht einer Version des MDSP Moduls größer gleich "SAPPHIRE-H_03011.95.03" ')])),_:1},8,["model-value"])):c("",!0)])}const P=v(S,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-b574f22e.js b/web/settings/assets/device-f835f5c9.js similarity index 84% rename from web/settings/assets/device-b574f22e.js rename to web/settings/assets/device-f835f5c9.js index f67d2e187f..ea545fa073 100644 --- a/web/settings/assets/device-b574f22e.js +++ b/web/settings/assets/device-f835f5c9.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceVictron",mixins:[a]},v={class:"device-victron"};function f(o,e,b,g,w,x){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",v,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Victron ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceVictron",mixins:[a]},v={class:"device-victron"};function f(o,e,b,g,w,x){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",v,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Victron ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-d2cc2e84.js b/web/settings/assets/device-fac39621.js similarity index 87% rename from web/settings/assets/device-d2cc2e84.js rename to web/settings/assets/device-fac39621.js index 0e0fbb24c7..27dd3e5362 100644 --- a/web/settings/assets/device-d2cc2e84.js +++ b/web/settings/assets/device-fac39621.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as n,l as m,m as b,G as t,E as s,y as c,x as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDeye",mixins:[u]},v={class:"device-deye"};function g(o,e,w,y,x,C){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return m(),b("div",v,[t(r,null,{default:s(()=>e[2]||(e[2]=[c("Einstellungen für Deye")])),_:1}),t(a,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[_("span",{class:"text-danger"}," Deye Wechselrichter verfügen über keine Modbus-TCP Schnittstelle. Für die Auslesung wird ein RS485/LAN-Adapter benötigt. ",-1)])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const q=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/device.vue"]]);export{q as default}; +import{D as u}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as n,l as m,m as b,G as t,E as s,y as c,x as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDeye",mixins:[u]},v={class:"device-deye"};function g(o,e,w,y,x,C){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return m(),b("div",v,[t(r,null,{default:s(()=>e[2]||(e[2]=[c("Einstellungen für Deye")])),_:1}),t(a,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[_("span",{class:"text-danger"}," Deye Wechselrichter verfügen über keine Modbus-TCP Schnittstelle. Für die Auslesung wird ein RS485/LAN-Adapter benötigt. ",-1)])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const q=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-34d8f2f6.js b/web/settings/assets/device-fc4f7d4e.js similarity index 87% rename from web/settings/assets/device-34d8f2f6.js rename to web/settings/assets/device-fc4f7d4e.js index 4f8651af23..a8e510430e 100644 --- a/web/settings/assets/device-34d8f2f6.js +++ b/web/settings/assets/device-fc4f7d4e.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as i,l as u,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSaxpower",mixins:[p]},v={class:"device-saxpower"};function _(o,e,c,g,w,x){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return u(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Saxpower ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{y as default}; +import{D as p}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as i,l as u,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSaxpower",mixins:[p]},v={class:"device-saxpower"};function _(o,e,c,g,w,x){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return u(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Saxpower ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-dfee58b7.js b/web/settings/assets/device-fded28b2.js similarity index 86% rename from web/settings/assets/device-dfee58b7.js rename to web/settings/assets/device-fded28b2.js index 80c7f02689..4ea79a533e 100644 --- a/web/settings/assets/device-dfee58b7.js +++ b/web/settings/assets/device-fded28b2.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as i,l as u,m as p,G as t,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceQCells",mixins:[r]},b={class:"device-qcells"};function v(o,e,_,g,w,C){const l=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return u(),p("div",b,[t(l,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für QCells ESS ")])),_:1}),t(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{y as default}; +import{D as r}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as i,l as u,m as p,G as t,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceQCells",mixins:[r]},b={class:"device-qcells"};function v(o,e,_,g,w,C){const l=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return u(),p("div",b,[t(l,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für QCells ESS ")])),_:1}),t(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/displayTheme-8ed2d4bf.js b/web/settings/assets/displayTheme-6534af01.js similarity index 96% rename from web/settings/assets/displayTheme-8ed2d4bf.js rename to web/settings/assets/displayTheme-6534af01.js index 73dc4fe7c4..60a72c7dc0 100644 --- a/web/settings/assets/displayTheme-8ed2d4bf.js +++ b/web/settings/assets/displayTheme-6534af01.js @@ -1 +1 @@ -import{D as g}from"./OptionalComponents-1c75021a.js";import{_ as m,u as i,l as d,m as f,G as a,E as l,y as u,z as r,B as b}from"./vendor-0c15df0c.js";import"./index-e7db68ea.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeCards",mixins:[g]},c={class:"display-theme-cards"};function v(n,e,V,h,y,w){const s=i("openwb-base-heading"),o=i("openwb-base-button-group-input"),p=i("openwb-base-text-input");return d(),f("div",c,[a(s,null,{default:l(()=>e[13]||(e[13]=[u("Bediensperre")])),_:1}),a(o,{title:"Bedienung sperren","model-value":n.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes"))},{help:l(()=>e[14]||(e[14]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),n.displayTheme.configuration.lock_changes?(d(),r(p,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":n.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:l(()=>e[15]||(e[15]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):b("",!0),a(s,null,{default:l(()=>e[16]||(e[16]=[u("Ansichten")])),_:1}),a(o,{title:"Übersicht anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view"))},null,8,["model-value"]),a(o,{title:"Energiefluss anzeigen","model-value":n.displayTheme.configuration.enable_energy_flow_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_energy_flow_view"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_charge_points_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view"))},null,8,["model-value"]),n.displayTheme.configuration.enable_charge_points_view==!0?(d(),r(o,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":n.displayTheme.configuration.simple_charge_point_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.simple_charge_point_view"))},null,8,["model-value"])):b("",!0),a(o,{title:"Status anzeigen","model-value":n.displayTheme.configuration.enable_status_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_status_view"))},null,8,["model-value"]),a(s,null,{help:l(()=>e[17]||(e[17]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ')])),default:l(()=>[e[18]||(e[18]=u(" Datenauswahl "))]),_:1}),a(o,{title:"EVU anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_grid,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(o,{title:"Hausverbrauch anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_home_consumption,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(o,{title:"PV anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_inverter_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(o,{title:"Batteriespeicher anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_battery_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[10]||(e[10]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_charge_point_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[11]||(e[11]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(o,{title:"Fahrzeuge anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_vehicles,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[12]||(e[12]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const x=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{x as default}; +import{D as g}from"./OptionalComponents-6fa33f62.js";import{_ as m,u as i,l as d,m as f,G as a,E as l,y as u,z as r,B as b}from"./vendor-0c15df0c.js";import"./index-8a28b331.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeCards",mixins:[g]},c={class:"display-theme-cards"};function v(n,e,V,h,y,w){const s=i("openwb-base-heading"),o=i("openwb-base-button-group-input"),p=i("openwb-base-text-input");return d(),f("div",c,[a(s,null,{default:l(()=>e[13]||(e[13]=[u("Bediensperre")])),_:1}),a(o,{title:"Bedienung sperren","model-value":n.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes"))},{help:l(()=>e[14]||(e[14]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),n.displayTheme.configuration.lock_changes?(d(),r(p,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":n.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:l(()=>e[15]||(e[15]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):b("",!0),a(s,null,{default:l(()=>e[16]||(e[16]=[u("Ansichten")])),_:1}),a(o,{title:"Übersicht anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view"))},null,8,["model-value"]),a(o,{title:"Energiefluss anzeigen","model-value":n.displayTheme.configuration.enable_energy_flow_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_energy_flow_view"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_charge_points_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view"))},null,8,["model-value"]),n.displayTheme.configuration.enable_charge_points_view==!0?(d(),r(o,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":n.displayTheme.configuration.simple_charge_point_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.simple_charge_point_view"))},null,8,["model-value"])):b("",!0),a(o,{title:"Status anzeigen","model-value":n.displayTheme.configuration.enable_status_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_status_view"))},null,8,["model-value"]),a(s,null,{help:l(()=>e[17]||(e[17]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ')])),default:l(()=>[e[18]||(e[18]=u(" Datenauswahl "))]),_:1}),a(o,{title:"EVU anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_grid,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(o,{title:"Hausverbrauch anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_home_consumption,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(o,{title:"PV anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_inverter_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(o,{title:"Batteriespeicher anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_battery_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[10]||(e[10]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_charge_point_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[11]||(e[11]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(o,{title:"Fahrzeuge anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_vehicles,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[12]||(e[12]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const x=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{x as default}; diff --git a/web/settings/assets/displayTheme-8e966d44.js b/web/settings/assets/displayTheme-ab67a257.js similarity index 88% rename from web/settings/assets/displayTheme-8e966d44.js rename to web/settings/assets/displayTheme-ab67a257.js index 1bb797c49b..f17c8e37c8 100644 --- a/web/settings/assets/displayTheme-8e966d44.js +++ b/web/settings/assets/displayTheme-ab67a257.js @@ -1 +1 @@ -import{D as d}from"./OptionalComponents-1c75021a.js";import{_ as m,u as n,l as i,m as c,G as p,E as s,y as a,z as b,B as g}from"./vendor-0c15df0c.js";import"./index-e7db68ea.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeColors",mixins:[d]},f={class:"display-theme-colors"};function h(o,e,y,w,k,v){const r=n("openwb-base-heading"),l=n("openwb-base-button-group-input"),u=n("openwb-base-text-input");return i(),c("div",f,[p(r,null,{default:s(()=>e[2]||(e[2]=[a("Bediensperre")])),_:1}),p(l,{title:"Bedienung sperren","model-value":o.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.lock_changes"))},{help:s(()=>e[3]||(e[3]=[a(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),o.displayTheme.configuration.lock_changes?(i(),b(u,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":o.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.lock_changes_code"))},{help:s(()=>e[4]||(e[4]=[a(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):g("",!0)])}const A=m(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/colors/displayTheme.vue"]]);export{A as default}; +import{D as d}from"./OptionalComponents-6fa33f62.js";import{_ as m,u as n,l as i,m as c,G as p,E as s,y as a,z as b,B as g}from"./vendor-0c15df0c.js";import"./index-8a28b331.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeColors",mixins:[d]},f={class:"display-theme-colors"};function h(o,e,y,w,k,v){const r=n("openwb-base-heading"),l=n("openwb-base-button-group-input"),u=n("openwb-base-text-input");return i(),c("div",f,[p(r,null,{default:s(()=>e[2]||(e[2]=[a("Bediensperre")])),_:1}),p(l,{title:"Bedienung sperren","model-value":o.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.lock_changes"))},{help:s(()=>e[3]||(e[3]=[a(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),o.displayTheme.configuration.lock_changes?(i(),b(u,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":o.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.lock_changes_code"))},{help:s(()=>e[4]||(e[4]=[a(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):g("",!0)])}const A=m(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/colors/displayTheme.vue"]]);export{A as default}; diff --git a/web/settings/assets/electricity_tariff-595c50b5.js b/web/settings/assets/electricity_tariff-36f9b4dc.js similarity index 91% rename from web/settings/assets/electricity_tariff-595c50b5.js rename to web/settings/assets/electricity_tariff-36f9b4dc.js index f69ef11a25..c29b981918 100644 --- a/web/settings/assets/electricity_tariff-595c50b5.js +++ b/web/settings/assets/electricity_tariff-36f9b4dc.js @@ -1 +1 @@ -import{E as c}from"./GeneralChargeConfig-13b720b4.js";import{_ as p,u as r,l as d,m as f,G as i,E as o,y as s,x as m}from"./vendor-0c15df0c.js";import"./index-e7db68ea.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energy-charts"};function b(t,e,y,_,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)"),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ")])),_:1}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ")])),_:1},8,["model-value"])])}const V=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{V as default}; +import{E as c}from"./GeneralChargeConfig-4e8b8e33.js";import{_ as p,u as r,l as d,m as f,G as i,E as o,y as s,x as m}from"./vendor-0c15df0c.js";import"./index-8a28b331.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energy-charts"};function b(t,e,y,_,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)"),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ")])),_:1}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ")])),_:1},8,["model-value"])])}const V=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{V as default}; diff --git a/web/settings/assets/electricity_tariff-1a3def48.js b/web/settings/assets/electricity_tariff-48ad289f.js similarity index 84% rename from web/settings/assets/electricity_tariff-1a3def48.js rename to web/settings/assets/electricity_tariff-48ad289f.js index 2e12d7384e..eea4244448 100644 --- a/web/settings/assets/electricity_tariff-1a3def48.js +++ b/web/settings/assets/electricity_tariff-48ad289f.js @@ -1 +1 @@ -import{E as o}from"./GeneralChargeConfig-13b720b4.js";import{_ as a,u as n,l as s,m as c,G as l,E as p,y as f}from"./vendor-0c15df0c.js";import"./index-e7db68ea.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,y,b){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")])),_:1},8,["model-value"])])}const k=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{k as default}; +import{E as o}from"./GeneralChargeConfig-4e8b8e33.js";import{_ as a,u as n,l as s,m as c,G as l,E as p,y as f}from"./vendor-0c15df0c.js";import"./index-8a28b331.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,y,b){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")])),_:1},8,["model-value"])])}const k=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{k as default}; diff --git a/web/settings/assets/electricity_tariff-5de59e1a.js b/web/settings/assets/electricity_tariff-82b975ed.js similarity index 94% rename from web/settings/assets/electricity_tariff-5de59e1a.js rename to web/settings/assets/electricity_tariff-82b975ed.js index cc861c4ce8..fb37542122 100644 --- a/web/settings/assets/electricity_tariff-5de59e1a.js +++ b/web/settings/assets/electricity_tariff-82b975ed.js @@ -1 +1 @@ -import{E as m}from"./GeneralChargeConfig-13b720b4.js";import{_ as g,u as s,l as h,m as _,G as n,E as y,y as l,x as T}from"./vendor-0c15df0c.js";import"./index-e7db68ea.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const k={name:"ElectricityTariffTibber",mixins:[m],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const i='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const e=await this.axios.post(this.tibberAPI,i,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let r=t.address.address1;return t.address.address2&&(r=r+", "+t.address.address2),t.address.address3&&(r=r+", "+t.address.address3),r=r+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:r}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(e){console.error(e),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+e+"
","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die "),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")])),_:1}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const A=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{A as default}; +import{E as m}from"./GeneralChargeConfig-4e8b8e33.js";import{_ as g,u as s,l as h,m as _,G as n,E as y,y as l,x as T}from"./vendor-0c15df0c.js";import"./index-8a28b331.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const k={name:"ElectricityTariffTibber",mixins:[m],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const i='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const e=await this.axios.post(this.tibberAPI,i,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let r=t.address.address1;return t.address.address2&&(r=r+", "+t.address.address2),t.address.address3&&(r=r+", "+t.address.address3),r=r+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:r}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(e){console.error(e),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+e+"
","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die "),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")])),_:1}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const A=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{A as default}; diff --git a/web/settings/assets/electricity_tariff-180fb3f9.js b/web/settings/assets/electricity_tariff-936d2b28.js similarity index 87% rename from web/settings/assets/electricity_tariff-180fb3f9.js rename to web/settings/assets/electricity_tariff-936d2b28.js index c9ba119c5a..6f3d01e39e 100644 --- a/web/settings/assets/electricity_tariff-180fb3f9.js +++ b/web/settings/assets/electricity_tariff-936d2b28.js @@ -1 +1 @@ -import{E as l}from"./GeneralChargeConfig-13b720b4.js";import{_ as s,u as r,l as c,m as p,G as o,E as u,y as f}from"./vendor-0c15df0c.js";import"./index-e7db68ea.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,y,v){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")])),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{I as default}; +import{E as l}from"./GeneralChargeConfig-4e8b8e33.js";import{_ as s,u as r,l as c,m as p,G as o,E as u,y as f}from"./vendor-0c15df0c.js";import"./index-8a28b331.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,y,v){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")])),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{I as default}; diff --git a/web/settings/assets/electricity_tariff-46db5ac3.js b/web/settings/assets/electricity_tariff-d00b4f7e.js similarity index 87% rename from web/settings/assets/electricity_tariff-46db5ac3.js rename to web/settings/assets/electricity_tariff-d00b4f7e.js index 79957c9ee1..6aedac7424 100644 --- a/web/settings/assets/electricity_tariff-46db5ac3.js +++ b/web/settings/assets/electricity_tariff-d00b4f7e.js @@ -1 +1 @@ -import{E as s}from"./GeneralChargeConfig-13b720b4.js";import{_ as l,u as r,l as c,m as p,G as n,E as u,y as f}from"./vendor-0c15df0c.js";import"./index-e7db68ea.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,y,g,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ")])),_:1}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const S=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{S as default}; +import{E as s}from"./GeneralChargeConfig-4e8b8e33.js";import{_ as l,u as r,l as c,m as p,G as n,E as u,y as f}from"./vendor-0c15df0c.js";import"./index-8a28b331.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,y,g,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ")])),_:1}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const S=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{S as default}; diff --git a/web/settings/assets/external_inverter-68414761.js b/web/settings/assets/external_inverter-fd140138.js similarity index 91% rename from web/settings/assets/external_inverter-68414761.js rename to web/settings/assets/external_inverter-fd140138.js index 177cf7053c..92bc4723ee 100644 --- a/web/settings/assets/external_inverter-68414761.js +++ b/web/settings/assets/external_inverter-fd140138.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolaredgeExternalInverter",mixins:[m]},c={class:"device-solaredge-external-inverter"};function v(n,e,_,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",c,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ")])),_:1}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')])),_:1}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ")])),_:1},8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolaredgeExternalInverter",mixins:[m]},c={class:"device-solaredge-external-inverter"};function v(n,e,_,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",c,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ")])),_:1}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')])),_:1}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ")])),_:1},8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; diff --git a/web/settings/assets/index-e7db68ea.js b/web/settings/assets/index-8a28b331.js similarity index 94% rename from web/settings/assets/index-e7db68ea.js rename to web/settings/assets/index-8a28b331.js index 49d0838d59..129090840c 100644 --- a/web/settings/assets/index-e7db68ea.js +++ b/web/settings/assets/index-8a28b331.js @@ -1 +1 @@ -import{_ as y,l,m as u,p as g,q as O,u as b,x as a,y as p,z as h,A as E,B as f,D as V,E as c,F as v,G as m,I as B,J as I,K as S,L as X,M as q,N as T,O as ee,P as te,Q as ne,T as F,R as se,S as R,U as oe,V as ae,W as ie,X as le,Y as re,Z as de,$ as ue}from"./vendor-0c15df0c.js";import{l as C,f as H,a as U,F as $,b as ce,c as pe,d as z,e as me,g as L,h as fe,i as _e,j as ge,k as be,m as he,n as ve,o as ye,p as we,q as ke,r as G,s as Se,t as Be,u as Oe,v as Ce,w as J,x as $e,y as Ie,z as Te,A as xe,B as Me,C as Ve,D as Ae,E as Pe,G as qe,H as De,I as Ee,J as Le}from"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import{p as je,a as We}from"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-jquery-84e2bf4a.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))d(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&d(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Re={name:"OpenwbAlert",props:{subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}}};function Ne(t,e,n,d,i,s){return l(),u("div",{class:O(["card-text alert","alert-"+n.subtype])},[g(t.$slots,"default",{},void 0,!0)],2)}const Fe=y(Re,[["render",Ne],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),He=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"}));C.add(H,U);const Ue={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:$},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},ze={class:"form-row mb-1"},Ge={class:"col-md-4 col-form-label"},Je={class:"col-md-8"},Ke={class:"form-row"},Qe={class:"form-row"},Ye={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function Ze(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",ze,[a("label",Ge,[g(t.$slots,"title",{},()=>[e[0]||(e[0]=p("*TITLE*"))]),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable ml-1",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),a("div",Je,[a("div",Ke,[g(t.$slots,"default",{},()=>[e[1]||(e[1]=p("*ELEMENT MISSING*"))])]),a("div",Qe,[i.showHelp?(l(),u("span",Ye,[g(t.$slots,"help")])):f("",!0)])])])}const M=y(Ue,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"}));C.add(ce,pe,z,me);const et={name:"OpenwbArrayInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},newTagValid:{get(){return this.newTag.length>0&&!this.value.includes(this.newTag)}}},methods:{addTag(){if(this.newTagValid){const t=[...this.value,this.newTag].sort();this.value=t,this.newTag=""}this.$refs.tagInput.focus()},removeTag(t){let e=[...this.value];e.splice(t,1),this.value=e}}},tt={class:"w-100"},nt={class:"input-group"},st={class:"input-group-prepend"},ot={class:"input-group-text"},at={class:"input-group-append"},it={class:"tagList mt-1 w-100"},lt={key:0,class:"noTag"};function rt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",tt,[a("div",nt,[a("div",st,[a("div",ot,[g(t.$slots,"input-prefix",{},()=>[m(o,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),B(a("input",S({ref:"tagInput","onUpdate:modelValue":e[0]||(e[0]=r=>i.newTag=r),type:"text",class:"form-control"},t.$attrs,{onKeyup:e[1]||(e[1]=X((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16),[[I,i.newTag]]),a("div",at,[a("div",{class:O(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:e[2]||(e[2]=(...r)=>s.addTag&&s.addTag(...r))},[g(t.$slots,"input-add",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),a("div",it,[s.value.length==0?(l(),u("span",lt,[m(o,{icon:["fas","info-circle"]}),p(" "+v(n.noElementsMessage),1)])):f("",!0),(l(!0),u(T,null,q(s.value,(r,k)=>(l(),u("span",{key:k,class:"tag"},[g(t.$slots,"element-prefix",{},()=>[m(o,{icon:["fas","tag"]})],!0),p(" "+v(r)+" ",1),m(o,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:x=>s.removeTag(k)},null,8,["onClick"])]))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const dt=y(et,[["render",rt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:dt},Symbol.toStringTag,{value:"Module"}));const ct={name:"OpenwbAvatar"},pt={class:"avatar"};function mt(t,e,n,d,i,s){return l(),u("div",pt,[g(t.$slots,"default",{},()=>[e[0]||(e[0]=p("?"))],!0)])}const ft=y(ct,[["render",mt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),_t=Object.freeze(Object.defineProperty({__proto__:null,default:ft},Symbol.toStringTag,{value:"Module"}));C.add(L);const gt={name:"OpenwbButtonGroupInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},bt={class:"btn-group btn-block btn-group-toggle"},ht=["value"];function vt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",bt,[(l(!0),u(T,null,q(n.buttons,r=>(l(),u("label",{key:r.value,class:O(["btn",[s.value==r.buttonValue?"active":"",r.class?r.class:"btn-outline-info"]])},[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=k=>s.value=k),type:"radio",value:r.buttonValue,ref_for:!0},t.$attrs),null,16,ht),[[ee,s.value]]),g(t.$slots,"label-"+r.buttonValue,{},()=>[p(v(r.text),1)]),m(o,{"fixed-width":"",icon:["fas","check"],style:te([s.value==r.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const yt=y(gt,[["render",vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),wt=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"}));const kt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(t){this.$emit("buttonClicked",t)}}};function St(t,e,n,d,i,s){return l(),u("button",{type:"button",class:"btn btn-block",onClick:e[0]||(e[0]=E((...o)=>s.click&&s.click(...o),["prevent"]))},[g(t.$slots,"default",{},()=>[p(v(n.title),1)],!0)])}const K=y(kt,[["render",St],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Bt=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),Ot={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:M,OpenwbBaseClickButton:K},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},buttonText:{type:String,required:!1,default:void 0},disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(t){this.$emit("buttonClicked",t)}}};function Ct(t,e,n,d,i,s){const o=b("openwb-base-click-button"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[m(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},t.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[p(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const $t=y(Ot,[["render",Ct],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),It=Object.freeze(Object.defineProperty({__proto__:null,default:$t},Symbol.toStringTag,{value:"Module"}));C.add(fe,_e);const Tt={name:"OpenwbCard",components:{FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"secondary"},bodyBg:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},xt={class:"form-group mb-0"},Mt={class:"form-row vaRow mb-0 py-2"},Vt={class:"col"},At={class:"card-actions ml-4"},Pt={key:0,class:"card-actions mr-4"},qt={key:2,class:"card-footer"};function Dt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",{class:O(["card","border-"+n.subtype])},[n.title!==void 0||t.$slots.header?(l(),u("div",{key:0,class:O(["card-header py-1","bg-"+n.subtype]),onClick:e[0]||(e[0]=(..._)=>s.toggleBody&&s.toggleBody(..._))},[a("div",xt,[a("div",Mt,[a("div",Vt,[g(t.$slots,"header",{collapsed:i.isCollapsed},()=>[p(v(n.title),1)])])])]),a("span",At,[t.$slots.actions?(l(),u("span",Pt,[g(t.$slots,"actions",{collapsed:i.isCollapsed})])):f("",!0),n.collapsible?(l(),h(o,{key:1,"fixed-width":"",icon:i.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):f("",!0)])],2)):f("",!0),i.isCollapsed===!1?(l(),u("div",S({key:1,class:["card-body",[n.title==null&&!t.$slots.header?"border-radius-top-inherit":"",t.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},t.$attrs),[g(t.$slots,"default")],16)):f("",!0),t.$slots.footer&&i.isCollapsed===!1?(l(),u("div",qt,[g(t.$slots,"footer")])):f("",!0)],2)}const Et=y(Tt,[["render",Dt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),jt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},Wt={class:"col-md-8"};function Rt(t,e,n,d,i,s){const o=b("openwb-base-setting-element");return l(),h(o,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Wt,[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=_=>s.value=_),class:"form-control",type:"checkbox"},t.$attrs),null,16),[[ne,s.value]])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nt=y(jt,[["render",Rt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Ft=Object.freeze(Object.defineProperty({__proto__:null,default:Nt},Symbol.toStringTag,{value:"Module"}));C.add(ge,be);const Ht={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:$},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to selection or text range"),window.getSelection){const t=window.getSelection(),e=document.createRange();e.selectNodeContents(this.$refs["slot-wrapper"]),t.removeAllRanges(),t.addRange(e);return}if(document.body.createTextRange){const t=document.body.createTextRange();t.moveToElementText(this.$refs["slot-wrapper"]),t.select()}else console.warn("could not select text, unsupported browser")}}}},Ut=["title"];function zt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:e[0]||(e[0]=(..._)=>s.click&&s.click(..._))},[g(t.$slots,"default",{},void 0,!0),m(o,{"fixed-width":"",icon:i.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,Ut)}const Gt=y(Ht,[["render",zt],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),Jt=Object.freeze(Object.defineProperty({__proto__:null,default:Gt},Symbol.toStringTag,{value:"Module"}));C.add(H,U,L);const Kt={name:"OpenwbHeading",components:{FontAwesomeIcon:$},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Qt={class:"heading-text"},Yt={key:0,class:"actions"},Zt={class:""},Xt={key:0,class:"form-row alert alert-info small flex-fill"};function en(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u(T,null,[a("div",S({class:"card-text card-text-heading"},t.$attrs),[a("div",Qt,[g(t.$slots,"default",{},void 0,!0),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),t.$slots.actions?(l(),u("span",Yt,[g(t.$slots,"actions",{},void 0,!0)])):f("",!0)],16),a("div",Zt,[i.showHelp?(l(),u("span",Xt,[g(t.$slots,"help",{},void 0,!0)])):f("",!0)])],64)}const tn=y(Kt,[["render",en],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),nn=Object.freeze(Object.defineProperty({__proto__:null,default:tn},Symbol.toStringTag,{value:"Module"})),sn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(t){return["around","between","center","end","start"].indexOf(t)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var t=[];return this.buttons!==void 0&&(t=this.buttons),this.preventClose||t.push({text:"Schließen",event:"close"}),t}},methods:{handleClick(t){t.stopPropagation();let e=t.target.getAttribute("data-event");e===null&&(e="close"),(e!="close"||!this.preventClose)&&this.$emit("modal-result",e)}}},on={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},an={class:"modal-content"},ln={class:"modal-title"},rn={class:"modal-body"},dn=["data-event"];function un(t,e,n,d,i,s){return n.show?(l(),h(F,{key:0,to:"body"},[e[4]||(e[4]=a("div",{class:"modal-backdrop fade show"},null,-1)),a("div",{class:"modal fade d-block show",role:"dialog",onClick:e[2]||(e[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[a("div",on,[a("div",an,[a("div",{class:O(["modal-header","bg-"+n.subtype])},[a("h4",ln,v(n.title),1),n.preventClose?f("",!0):(l(),u("button",{key:0,type:"button",class:"close",onClick:e[0]||(e[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),a("div",rn,[g(t.$slots,"default",{},()=>[e[3]||(e[3]=p("# Body #"))])]),s.myButtons.length>0?(l(),u("div",{key:0,class:O(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(l(!0),u(T,null,q(s.myButtons,o=>(l(),u("button",{key:o.text,type:"button",class:O(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:e[1]||(e[1]=(..._)=>s.handleClick&&s.handleClick(..._))},v(o.text),11,dn))),128))],2)):f("",!0)])])])])):f("",!0)}const cn=y(sn,[["render",un],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),pn=Object.freeze(Object.defineProperty({__proto__:null,default:cn},Symbol.toStringTag,{value:"Module"}));C.add(he);const mn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},precision:{type:Number,default:void 0},emptyValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue"],computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(t){(isNaN(t)||typeof t!="number")&&(t=this.emptyValue),this.$emit("update:modelValue",t)}}}},fn={class:"input-group"},_n={class:"input-group-prepend"},gn={class:"input-group-text"},bn={key:0,class:"input-group-append"},hn={class:"input-group-text"};function vn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fn,[a("div",_n,[a("div",gn,[m(o,{"fixed-width":"",icon:["fas","calculator"]})])]),B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16),[[I,s.value,void 0,{number:!0}]]),n.unit?(l(),u("div",bn,[a("div",hn,v(n.unit),1)])):f("",!0)])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const yn=y(mn,[["render",vn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),wn=Object.freeze(Object.defineProperty({__proto__:null,default:yn},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const kn={name:"OpenwbRangeInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},min:{type:Number,required:!0,default:0},max:{type:Number,required:!0,default:100},step:{type:Number,required:!1,default:1},labels:{type:Array,required:!1,default:void 0}},emits:["update:modelValue"],computed:{label(){var t;return this.labels&&this.sliderValue!=null?this.sliderValue[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Sn,[a("div",Bn,[s.label?(l(),u("label",On,v(s.label),1)):f("",!0),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[0]||(e[0]=(...r)=>s.decrement&&s.decrement(...r))},[m(o,{icon:["fas","step-backward"]})]),a("div",Cn,[B(a("input",S({"onUpdate:modelValue":e[1]||(e[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},t.$attrs),null,16,$n),[[I,s.sliderValue,void 0,{number:!0}]])]),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[2]||(e[2]=(...r)=>s.increment&&s.increment(...r))},[m(o,{icon:["fas","step-forward"]})])])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Tn=y(kn,[["render",In],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),xn=Object.freeze(Object.defineProperty({__proto__:null,default:Tn},Symbol.toStringTag,{value:"Module"}));C.add(z);const Mn={name:"OpenwbSelectInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},groups:{type:Array,required:!1,default:void 0},options:{type:Array,required:!1,default:void 0},notSelected:{type:String,default:void 0},addButton:{type:Boolean,default:!1}},emits:["update:modelValue","input:add"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},Vn={class:"w-100"},An={class:"input-group"},Pn={key:0,class:"input-group-prepend"},qn={class:"input-group-text"},Dn={key:0,value:void 0,disabled:""},En=["value"],Ln=["label"],jn=["value"],Wn={key:1,class:"input-group-append"};function Rn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Vn,[a("div",An,[t.$slots.prefix?(l(),u("div",Pn,[a("div",qn,[g(t.$slots,"prefix")])])):f("",!0),B(a("select",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"col form-control"},t.$attrs),[n.notSelected!==void 0?(l(),u("option",Dn," -- "+v(n.notSelected)+" -- ",1)):f("",!0),(l(!0),u(T,null,q(n.options,r=>(l(),u("option",{key:r.value,value:r.value},v(r.text),9,En))),128)),(l(!0),u(T,null,q(n.groups,r=>(l(),u("optgroup",{key:r.label,label:r.label},[(l(!0),u(T,null,q(r.options,k=>(l(),u("option",{key:k.value,value:k.value},v(k.text),9,jn))),128))],8,Ln))),128))],16),[[se,s.value]]),n.addButton?(l(),u("div",Wn,[a("div",{class:O(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:e[1]||(e[1]=r=>s.addClicked())},[g(t.$slots,"inputAdd",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})])],2)])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nn=y(Mn,[["render",Rn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Fn=Object.freeze(Object.defineProperty({__proto__:null,default:Nn},Symbol.toStringTag,{value:"Module"}));C.add(L,we,ke);const Hn={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:$},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},emits:["reset","defaults","save"],data(){return{showModalReset:!1,showModalDefaults:!1}},computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(t){this.showModalReset=!1,t=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(t){this.showModalDefaults=!1,t=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},Un={class:"row justify-content-center mb-1"},zn={class:"col-md-4 d-flex py-1 justify-content-center"},Gn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Jn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Kn(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog"),_=b("font-awesome-icon");return l(),u(T,null,[m(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>e[3]||(e[3]=[p(" Einstellungen werden gespeichert... ")])),_:1},8,["show"]),m(o,{show:i.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>e[4]||(e[4]=[p(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")])),_:1},8,["show","onModalResult"]),m(o,{show:i.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>e[5]||(e[5]=[p(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")])),_:1},8,["show","onModalResult"]),a("div",Un,[a("div",zn,[a("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:e[0]||(e[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[e[6]||(e[6]=p(" Speichern ")),m(_,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?f("",!0):(l(),u("div",Gn,[a("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:e[1]||(e[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[e[7]||(e[7]=p(" Änderungen verwerfen ")),m(_,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?f("",!0):(l(),u("div",Jn,[a("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:e[2]||(e[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[e[8]||(e[8]=p(" Werkseinstellungen ")),m(_,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const Qn=y(Hn,[["render",Kn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),Yn=Object.freeze(Object.defineProperty({__proto__:null,default:Qn},Symbol.toStringTag,{value:"Module"}));C.add(G,Se,Be,Oe,Ce,J,$e,Ie,Te,xe,Me,Ve);const Zn={name:"OpenwbTextInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(t)!==-1},default:"text"},pattern:{type:String,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},emptyValue:{type:[String,Object,null],required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.error("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else t==""&&(t=this.emptyValue),this.$emit("update:modelValue",t)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(t){var e,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+t),e=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}e>this.inputRef.max||e[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Xn,[a("div",es,[a("div",ts,[a("div",ns,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="email"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","envelope"]})):f("",!0),n.subtype=="host"?(l(),h(o,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):f("",!0),n.subtype=="url"?(l(),h(o,{key:3,"fixed-width":"",icon:["fas","globe"]})):f("",!0),n.subtype=="user"?(l(),h(o,{key:4,"fixed-width":"",icon:["fas","user"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:5,"fixed-width":"",icon:["fas","code"]})):f("",!0),n.subtype=="password"?(l(),h(o,{key:6,"fixed-width":"",icon:i.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):f("",!0),n.subtype=="time"?(l(),h(o,{key:7,"fixed-width":"",icon:["fas","clock"]})):f("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(l(),h(o,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):f("",!0)])]),["text","user"].includes(n.subtype)?B((l(),u("input",S({key:0,ref:"textInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:i.inputInvalid}]},t.$attrs,{pattern:n.pattern}),null,16,ss)),[[I,s.value]]):f("",!0),n.subtype=="json"?B((l(),u("input",S({key:1,ref:"jsonInput","onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,os)),[[I,s.value]]):f("",!0),n.subtype=="password"?B((l(),u("input",S({key:2,ref:"passwordInput","onUpdate:modelValue":e[2]||(e[2]=r=>s.value=r),type:i.showPassword?"text":"password",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,as)),[[R,s.value]]):f("",!0),n.subtype=="host"?B((l(),u("input",S({key:3,ref:"hostInput","onUpdate:modelValue":e[3]||(e[3]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),["email","url"].includes(n.subtype)?B((l(),u("input",S({key:4,"onUpdate:modelValue":e[4]||(e[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},t.$attrs),null,16,is)),[[R,s.value]]):f("",!0),n.subtype=="time"?B((l(),u("input",S({key:5,ref:"timeInput","onUpdate:modelValue":e[5]||(e[5]=r=>s.value=r),type:"time",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="date"?B((l(),u("input",S({key:6,ref:"dateInput","onUpdate:modelValue":e[6]||(e[6]=r=>s.value=r),type:"date",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="month"?B((l(),u("input",S({key:7,ref:"monthInput","onUpdate:modelValue":e[7]||(e[7]=r=>s.value=r),type:"month",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="year"?B((l(),u("input",S({key:8,ref:"yearInput","onUpdate:modelValue":e[8]||(e[8]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.unit?(l(),u("div",ls,[a("div",rs,v(n.unit),1)])):f("",!0),n.subtype=="password"?(l(),u("div",{key:10,class:"input-group-append clickable",onClick:e[9]||(e[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[a("div",ds,[m(o,{"fixed-width":"",icon:i.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:11,class:"input-group-append clickable",onClick:e[10]||(e[10]=r=>s.modify(-1))},e[12]||(e[12]=[a("div",{class:"input-group-text"},"-",-1)]))):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:12,class:"input-group-append clickable",onClick:e[11]||(e[11]=r=>s.modify(1))},e[13]||(e[13]=[a("div",{class:"input-group-text"},"+",-1)]))):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const cs=y(Zn,[["render",us],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),ps=Object.freeze(Object.defineProperty({__proto__:null,default:cs},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const ms={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:M,FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","json"].indexOf(t)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid JSON as String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.warn("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else this.$emit("update:modelValue",t)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},fs={class:"w-100"},_s={class:"input-group"},gs={class:"input-group-prepend"},bs={class:"input-group-text"},hs={key:2,class:"input-group-append"},vs={class:"input-group-text"},ys={class:"form-text text-muted text-right"};function ws(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fs,[a("div",_s,[a("div",gs,[a("div",bs,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","code"]})):f("",!0)])]),n.subtype==="json"?B((l(),u("textarea",S({key:0,ref:"jsonInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value,void 0,{lazy:!0}]]):B((l(),u("textarea",S({key:1,"onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value]]),t.$attrs.maxlength?(l(),u("div",hs,[a("div",vs,[a("small",ys,v(s.length)+" / "+v(t.$attrs.maxlength),1)])])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const ks=y(ms,[["render",ws],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),Ss=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"}));const Bs={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(t){return["system","client","command"].indexOf(t)!==-1}},timestamp:{type:Number,required:!0}},emits:["dismiss","hide"],data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const t={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var e=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var i in t)if(Math.abs(d)>t[i]){this.relativeTime=e.format(Math.round(-d/t[i]),i);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},Os={key:0,class:"time-diff"},Cs={class:"toast-body"};function $s(t,e,n,d,i,s){return l(),u("div",{class:O(["toast","border-"+n.subtype]),role:"alert"},[a("div",{class:O(["toast-header","bg-"+n.subtype])},[e[2]||(e[2]=a("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(l(),u("small",Os,v(i.relativeTime),1)):f("",!0),a("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:e[0]||(e[0]=(...o)=>s.dismiss&&s.dismiss(...o))},e[1]||(e[1]=[a("span",{"aria-hidden":"true"},"×",-1)]))],2),a("div",Cs,[g(t.$slots,"default",{},void 0,!0)])],2)}const Is=y(Bs,[["render",$s],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),Ts=Object.freeze(Object.defineProperty({__proto__:null,default:Is},Symbol.toStringTag,{value:"Module"}));C.add(Ae);const xs={name:"OpenwbNavBar",components:{FontAwesomeIcon:$},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},Ms={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},Vs={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},As={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},Ps={class:"navbar-nav"},qs={class:"nav-item"},Ds={class:"nav-item dropdown nav-separator-after"},Es={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ls={class:"nav-item dropdown"},js={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ws={class:"nav-item dropdown"},Rs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ns={class:"nav-item dropdown"},Fs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Hs={class:"nav-item dropdown"},Us={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},zs={class:"nav-item nav-separator-before"},Gs={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Js(t,e,n,d,i,s){const o=b("router-link"),_=b("font-awesome-icon");return l(),u("nav",Ms,[e[31]||(e[31]=a("a",{class:"navbar-brand",href:"/openWB/web/"},[a("span",null,"openWB")],-1)),a("button",Vs,e[0]||(e[0]=[a("span",{class:"navbar-toggler-icon"},null,-1)]),512),a("div",As,[a("ul",Ps,[a("li",qs,[m(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>e[1]||(e[1]=[p(" Status ")])),_:1})]),a("li",Ds,[e[4]||(e[4]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),a("div",Es,[m(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[2]||(e[2]=[p(" Ladeprotokoll ")])),_:1}),m(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[3]||(e[3]=[p(" Diagramme ")])),_:1})])]),a("li",Ls,[e[7]||(e[7]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),a("div",js,[m(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[5]||(e[5]=[p(" Allgemein ")])),_:1}),m(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[6]||(e[6]=[p(" Optionale Hardware ")])),_:1})])]),a("li",Ws,[e[13]||(e[13]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),a("div",Rs,[m(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[8]||(e[8]=[p(" Übergreifendes ")])),_:1}),m(o,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[9]||(e[9]=[p(" Sofortladen ")])),_:1}),m(o,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[10]||(e[10]=[p(" PV-Laden ")])),_:1}),m(o,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[11]||(e[11]=[p(" Zeitladen ")])),_:1}),m(o,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[12]||(e[12]=[p(" Zielladen ")])),_:1})])]),a("li",Ns,[e[20]||(e[20]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),a("div",Fs,[m(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[14]||(e[14]=[p(" Geräte und Komponenten ")])),_:1}),m(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[15]||(e[15]=[p(" Lastmanagement ")])),_:1}),m(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[16]||(e[16]=[p(" Ladepunkte ")])),_:1}),m(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[17]||(e[17]=[p(" Fahrzeuge ")])),_:1}),e[18]||(e[18]=a("div",{class:"dropdown-divider"},null,-1)),e[19]||(e[19]=a("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),a("li",Hs,[e[29]||(e[29]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),a("div",Us,[m(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[21]||(e[21]=[p(" Einrichtungsassistent ")])),_:1}),m(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[22]||(e[22]=[p(" openWB Cloud ")])),_:1}),m(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[23]||(e[23]=[p(" MQTT-Brücken ")])),_:1}),m(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[24]||(e[24]=[p(" Fehlersuche ")])),_:1}),m(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[25]||(e[25]=[p(" Support ")])),_:1}),m(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[26]||(e[26]=[p(" Datenverwaltung ")])),_:1}),m(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[27]||(e[27]=[p(" System ")])),_:1}),m(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[28]||(e[28]=[p(" Rechtliches ")])),_:1})])]),a("li",zs,[a("a",Gs,[e[30]||(e[30]=p(" Wiki ")),m(_,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Ks=y(xs,[["render",Js],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Qs={name:"OpenwbPageFooter"},Ys={id:"footer",class:"footer bg-dark text-light font-small"},Zs={class:"container text-center"};function Xs(t,e,n,d,i,s){return l(),u("footer",Ys,[a("div",Zs,[a("small",null," Sie befinden sich hier: Einstellungen / "+v(t.$route.meta.heading),1)])])}const eo=y(Qs,[["render",Xs],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]);C.add(Pe);const to={name:"OpenwbDonationBanner",components:{FontAwesomeIcon:$}},no={class:"mt-3 alert alert-dark text-center"},so={action:"https://www.paypal.com/cgi-bin/webscr",method:"post",target:"_blank"},oo={type:"submit",class:"btn btn-primary"};function ao(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",no,[e[3]||(e[3]=p(" Open Source made with love!")),e[4]||(e[4]=a("br",null,null,-1)),e[5]||(e[5]=p(" Jede Spende hilft die Weiterentwicklung von openWB voranzutreiben")),e[6]||(e[6]=a("br",null,null,-1)),a("form",so,[e[1]||(e[1]=a("input",{type:"hidden",name:"cmd",value:"_s-xclick"},null,-1)),e[2]||(e[2]=a("input",{type:"hidden",name:"hosted_button_id",value:"2K8C4Y2JTGH7U"},null,-1)),a("button",oo,[e[0]||(e[0]=p(" Spenden ")),m(o,{icon:["fab","paypal"]})])])])}const io=y(to,[["render",ao],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageDonationBanner.vue"]]),lo={name:"ComponentState",emits:["reset","defaults","save"],data(){return{mqttTopicsToSubscribe:[]}},computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},statusLevel(){return["success","warning","danger"]},stateIcon:{get(){switch(this.$store.state.mqtt[this.baseTopic+"/get/fault_state"]){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},mounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doUnsubscribe(this.mqttTopicsToSubscribe)},methods:{updateState(t,e,n=void 0){console.debug("updateState:",t,e,n),this.$store.commit({type:"updateTopic",topic:t,objectPath:n,payload:e})},ac_current2dc_power(t){return parseFloat((t*3*230/1e3).toFixed(0))},dc_power2ac_current(t){return parseFloat((t*1e3/230/3).toFixed(2))},getWildcardIndexList(t,e=!1){let n=t;e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(i=>i.match(n));return d.forEach((i,s,o)=>{o[s]=parseInt(i.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})},formatDate(t,e={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(t).toLocaleDateString(void 0,e)},formatNumber(t,e=0,n=e,d=1){if(!(t==null||isNaN(t)))return t=t*d,t.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:n})},formatNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.formatNumber(this.$store.state.mqtt[t],e,n,d):"-"},formatPhaseArrayNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.$store.state.mqtt[t].map(i=>this.formatNumber(i,e,n,d)).join(" / "):"- / - / -"},translateChargeMode(t){switch(t){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",t),t}},getFaultStateSubtype(t){const e=this.$store.state.mqtt[t+"/get/fault_state"];if(e===void 0)return"warning";switch(e){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},Q=y(lo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(qe,De);const ro={name:"OpenwbPageMessages",components:{FontAwesomeIcon:$,FontAwesomeLayers:Ee,FontAwesomeLayersText:Le},mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((e,n)=>((e=="light"&&["info","success","warning","danger"].includes(n.type)||e=="info"&&["success","warning","danger"].includes(n.type)||e=="success"&&["warning","danger"].includes(n.type)||e=="warning"&&n.type=="danger")&&(e=n.type),e),"light")},messages(){const t=[];return this.systemMessages.forEach(e=>{t.push(e)}),this.clientMessages.forEach(e=>{t.push(e)}),t.sort(this.compareMessagesByTimestamp),t},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(t=>!this.hiddenMessages.includes(t.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let t=this.getWildcardTopics("openWB/system/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e},clientMessages(){let t=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(t,e){return e.timestamp-t.timestamp},clearTopic(t){this.$root.doPublish(t,void 0)},dismissMessage(t){this.clearTopic(t.topic);var e=this.hiddenMessages.indexOf(t.topic);e>-1&&this.hiddenMessages.splice(e,1)},dismissAllMessages(){this.messages.forEach(t=>{this.clearTopic(t.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(t){this.hiddenMessages.includes(t.topic)||this.hiddenMessages.push(t.topic)}}},uo=["innerHTML"];function co(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("font-awesome-layers-text"),r=b("font-awesome-layers"),k=b("openwb-base-alert"),x=b("openwb-base-click-button"),A=b("openwb-base-toast");return l(),u(T,null,[(l(),h(F,{to:"body"},[a("div",{id:"message-indicator",class:O(["text-light mt-1 p-2 mr-1 clickable",i.showAllMessages?"active":""]),onClick:e[0]||(e[0]=(...P)=>s.toggleAllMessages&&s.toggleAllMessages(...P))},[m(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[m(o,{"fixed-width":"",icon:i.showAllMessages?["fas","bell"]:["far","bell"],class:O(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(l(),h(_,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):f("",!0)]),_:1})],2)])),s.recentMessages.length>0||i.showAllMessages?(l(),u("div",{key:0,class:O(["openwb-toast-container",i.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(l(),h(k,{key:0,subtype:"info"},{default:c(()=>e[1]||(e[1]=[p(" Keine Nachrichten vorhanden. ")])),_:1})):i.showAllMessages?(l(),h(x,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>e[2]||(e[2]=[p(" Alle Nachrichten löschen ")])),_:1},8,["onButtonClicked"])):f("",!0),(l(!0),u(T,null,q(s.recentMessages,P=>(l(),h(A,{key:P.topic,topic:P.topic,source:P.source,subtype:P.type,timestamp:P.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[a("span",{innerHTML:P.message},null,8,uo)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):f("",!0)],64)}const po=y(ro,[["render",co],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),mo={name:"OpenwbPageBlocker",mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(t){t=="reload"?location.reload():console.warn("unknown event",t)}}},fo={class:"openwb-blocker"},_o={key:0},go={key:1},bo={key:2},ho={key:3};function vo(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog");return l(),u("div",fo,[m(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:e[0]||(e[0]=_=>s.handleModalResult(_))},{default:c(()=>[s.bootInProgress?(l(),u("p",_o,"Der Systemstart ist noch nicht abgeschlossen.")):f("",!0),s.updateInProgress?(l(),u("p",go,"Es wird eine Systemaktualisierung ausgeführt.")):f("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(l(),u("p",bo,"Bitte die Seite neu laden.")):(l(),u("p",ho,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const yo=y(mo,[["render",vo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const wo={name:"OpenwbSettingsApp",components:{NavBar:Ks,PageFooter:eo,DonationBanner:io,Messages:po,Blocker:yo},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch(t){console.error("mqttClientId error",t);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(t=void 0){function e(d){return new Promise(i=>setTimeout(i,d))}this.$store.state.local.savingData=!0;let n={};t===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(t)?t.forEach(d=>{n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof t);for(const[d,i]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,i),this.doPublish(s,i),await e(100)}this.$store.state.local.savingData=!1},resetValues(t=this.topicList){console.debug("resetting values..."),console.debug("topics: ",t),this.doUnsubscribe(t),this.doSubscribe(t)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(t){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",t,!1)},createConnection(){const{protocol:t,host:e,port:n,endpoint:d,...i}=this.connection,s=`${t}://${e}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=oe.connect(s,i)}catch(o){console.error("mqtt.connect error",o)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"]),this.doSubscribe(["openWB/system/installAssistantDone"])}),this.client.on("error",o=>{console.error("Connection failed",o)}),this.client.on("message",(o,_)=>{if(_.toString().length>0){let r;try{r=JSON.parse(_.toString())}catch(k){console.debug("Json parsing failed, fallback to string: ",o,k),r=_.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(t){t.forEach(e=>{this.$store.commit("addSubscription",e),this.$store.getters.subscriptionCount(e)==1?(e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):this.$store.commit("addTopic",{topic:e,payload:void 0}),this.client.subscribe(e,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",e)})},doUnsubscribe(t){t.forEach(e=>{this.$store.commit("removeSubscription",e),this.$store.getters.subscriptionCount(e)==0?(this.client.unsubscribe(e,n=>{n&&console.error("Unsubscribe error",n)}),e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",e),this.$store.commit("removeTopic",e))):console.debug("Still subscribed to topic: ",e)})},doPublish(t,e,n=!0,d=2){let i={qos:d,retain:n};this.client.publish(t,JSON.stringify(e),i,s=>{s&&console.error("Publish error",s)})},postClientMessage(t,e="secondary"){console.debug("postMessage:",t,e);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:t,type:e,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})}}},ko={role:"main",class:"container"},So={id:"content"};function Bo(t,e,n,d,i,s){const o=b("nav-bar"),_=b("router-view"),r=b("donation-banner"),k=b("page-footer"),x=b("messages"),A=b("blocker");return l(),u(T,null,[a("header",null,[m(o)]),a("div",ko,[a("div",So,[a("h1",null,v(t.$route.meta.heading),1),m(_,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])]),m(r)]),m(k),m(x),m(A)],64)}const Oo=y(wo,[["render",Bo],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),Co="modulepreload",$o=function(t){return"/openWB/web/settings/"+t},N={},w=function(e,n,d){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=$o(s),s in N)return;N[s]=!0;const o=s.endsWith(".css"),_=o?'[rel="stylesheet"]':"";if(!!d)for(let x=i.length-1;x>=0;x--){const A=i[x];if(A.href===s&&(!o||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${_}`))return;const k=document.createElement("link");if(k.rel=o?"stylesheet":Co,o||(k.as="script",k.crossOrigin=""),k.href=s,document.head.appendChild(k),o)return new Promise((x,A)=>{k.addEventListener("load",x),k.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};let Y={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};Y.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:void 0,buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const D=ae({state:Y,mutations:{storeLocal(t,e){t.local[e.name]=e.value},addTopic(t,e){Object.keys(t.mqtt).includes(e.topic)?console.warn("topic already exists: ",e.topic):t.mqtt[e.topic]=e.payload},removeTopic(t,e){delete t.mqtt[e]},updateTopic(t,e){const n=(d,i,s)=>i.split(".").reduce((o,_,r)=>o[_]=i.split(".").length===++r?s:o[_]||{},d);e.topic in t.mqtt||!(e.topic in t.examples)?e.objectPath!=null?n(t.mqtt[e.topic],e.objectPath,e.payload):t.mqtt[e.topic]=e.payload:(console.debug("topic not found in state.mqtt: ",e.topic),e.topic in t.examples?e.objectPath!=null?n(t.examples[e.topic],e.objectPath,e.payload):t.examples[e.topic]=e.payload:console.warn("topic not found in state: ",e.topic," giving up"))},addSubscription(t,e){e in t.mqttSubscriptions?t.mqttSubscriptions[e]+=1:t.mqttSubscriptions[e]=1,console.debug("subscription count: ",e,t.mqttSubscriptions[e])},removeSubscription(t,e){e in t.mqttSubscriptions&&(t.mqttSubscriptions[e]-=1,t.mqttSubscriptions[e]<=0&&delete t.mqttSubscriptions[e])}},actions:{},modules:{},getters:{usageTermsAcknowledged(t){return new Promise(e=>{if(t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)e(t.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(t){return new Promise(e=>{if(t.mqtt["openWB/system/installAssistantDone"]!==void 0)e(t.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:t=>e=>t.mqttSubscriptions[e]||0}}),Z=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>w(()=>import("./Status-4891b01c.js"),["assets/Status-4891b01c.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-53af3b3a.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/Status-9ecf39ed.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>w(()=>import("./ChargeLog-79458b98.js"),["assets/ChargeLog-79458b98.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>w(()=>import("./Chart-788c8d46.js"),["assets/Chart-788c8d46.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-53af3b3a.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>w(()=>import("./GeneralConfig-e2e95a2e.js").then(t=>t.a),["assets/GeneralConfig-e2e95a2e.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>w(()=>import("./OptionalComponents-1c75021a.js").then(t=>t.O),["assets/OptionalComponents-1c75021a.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>w(()=>import("./GeneralChargeConfig-13b720b4.js").then(t=>t.G),["assets/GeneralChargeConfig-13b720b4.js","assets/dynamic-import-helper-be004503.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>w(()=>import("./InstantChargeConfig-01a392d0.js"),["assets/InstantChargeConfig-01a392d0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>w(()=>import("./PVChargeConfig-d1a83133.js"),["assets/PVChargeConfig-d1a83133.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>w(()=>import("./TimeChargeConfig-823f0668.js"),["assets/TimeChargeConfig-823f0668.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>w(()=>import("./ScheduledChargeConfig-36982be1.js"),["assets/ScheduledChargeConfig-36982be1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>w(()=>import("./HardwareInstallation-bb14911c.js").then(t=>t.a),["assets/HardwareInstallation-bb14911c.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>w(()=>import("./LoadManagementConfig-23bce113.js"),["assets/LoadManagementConfig-23bce113.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/OpenwbSortableList-d8779d41.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>w(()=>import("./ChargePointInstallation-4851d3f5.js").then(t=>t.c),["assets/ChargePointInstallation-4851d3f5.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>w(()=>import("./VehicleConfig-135359c7.js").then(t=>t.b),["assets/VehicleConfig-135359c7.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>w(()=>import("./CloudConfig-894fc7da.js"),["assets/CloudConfig-894fc7da.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>w(()=>import("./MqttBridgeConfig-6926c1ac.js"),["assets/MqttBridgeConfig-6926c1ac.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>w(()=>import("./DebugConfig-aa8771fe.js"),["assets/DebugConfig-aa8771fe.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>w(()=>import("./Support-4efa4ffc.js"),["assets/Support-4efa4ffc.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>w(()=>import("./LegalSettings-7312567f.js"),["assets/LegalSettings-7312567f.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>w(()=>import("./System-ec758260.js"),["assets/System-ec758260.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>w(()=>import("./DataManagement-fdf145a6.js").then(t=>t.a),["assets/DataManagement-fdf145a6.js","assets/vendor-fortawesome-979a7935.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>w(()=>import("./InstallAssistant-919d040c.js"),["assets/InstallAssistant-919d040c.js","assets/dynamic-import-helper-be004503.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])}];Z.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>w(()=>import("./TestingStore-bf798932.js"),["assets/TestingStore-bf798932.js","assets/OpenwbSortableList-d8779d41.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-979a7935.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])});const j=ie({history:le(),routes:Z});j.beforeEach(async t=>{if(await D.getters.usageTermsAcknowledged){if(!await D.getters.installAssistantDone&&t.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(t.name!=="LegalSettings")return{name:"LegalSettings"}});j.afterEach(t=>{t.meta.heading?document.title="openWB | "+t.meta.heading:document.title="openWB"});const W=re(Oo);W.use(D).use(j).use(je,We);const Io=Object.assign({"./components/OpenwbBaseAlert.vue":He,"./components/OpenwbBaseArrayInput.vue":ut,"./components/OpenwbBaseAvatar.vue":_t,"./components/OpenwbBaseButtonGroupInput.vue":wt,"./components/OpenwbBaseButtonInput.vue":It,"./components/OpenwbBaseCard.vue":Lt,"./components/OpenwbBaseCheckboxInput.vue":Ft,"./components/OpenwbBaseClickButton.vue":Bt,"./components/OpenwbBaseCopyToClipboard.vue":Jt,"./components/OpenwbBaseHeading.vue":nn,"./components/OpenwbBaseModalDialog.vue":pn,"./components/OpenwbBaseNumberInput.vue":wn,"./components/OpenwbBaseRangeInput.vue":xn,"./components/OpenwbBaseSelectInput.vue":Fn,"./components/OpenwbBaseSettingElement.vue":Xe,"./components/OpenwbBaseSubmitButtons.vue":Yn,"./components/OpenwbBaseTextInput.vue":ps,"./components/OpenwbBaseTextarea.vue":Ss,"./components/OpenwbBaseToast.vue":Ts});Object.entries(Io).forEach(([t,e])=>{const n=de(ue(t.split("/").pop().replace(/\.\w+$/,"")));W.component(n,e.default)});W.mount("#app");export{Q as C,M as O,w as _}; +import{_ as y,l,m as u,p as g,q as O,u as b,x as a,y as p,z as h,A as E,B as f,D as V,E as c,F as v,G as m,I as B,J as I,K as S,L as X,M as q,N as T,O as ee,P as te,Q as ne,T as F,R as se,S as R,U as oe,V as ae,W as ie,X as le,Y as re,Z as de,$ as ue}from"./vendor-0c15df0c.js";import{l as C,f as H,a as U,F as $,b as ce,c as pe,d as z,e as me,g as L,h as fe,i as _e,j as ge,k as be,m as he,n as ve,o as ye,p as we,q as ke,r as G,s as Se,t as Be,u as Oe,v as Ce,w as J,x as $e,y as Ie,z as Te,A as xe,B as Me,C as Ve,D as Ae,E as Pe,G as qe,H as De,I as Ee,J as Le}from"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import{p as je,a as We}from"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-jquery-84e2bf4a.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))d(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&d(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Re={name:"OpenwbAlert",props:{subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}}};function Ne(t,e,n,d,i,s){return l(),u("div",{class:O(["card-text alert","alert-"+n.subtype])},[g(t.$slots,"default",{},void 0,!0)],2)}const Fe=y(Re,[["render",Ne],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),He=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"}));C.add(H,U);const Ue={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:$},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},ze={class:"form-row mb-1"},Ge={class:"col-md-4 col-form-label"},Je={class:"col-md-8"},Ke={class:"form-row"},Qe={class:"form-row"},Ye={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function Ze(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",ze,[a("label",Ge,[g(t.$slots,"title",{},()=>[e[0]||(e[0]=p("*TITLE*"))]),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable ml-1",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),a("div",Je,[a("div",Ke,[g(t.$slots,"default",{},()=>[e[1]||(e[1]=p("*ELEMENT MISSING*"))])]),a("div",Qe,[i.showHelp?(l(),u("span",Ye,[g(t.$slots,"help")])):f("",!0)])])])}const M=y(Ue,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"}));C.add(ce,pe,z,me);const et={name:"OpenwbArrayInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},newTagValid:{get(){return this.newTag.length>0&&!this.value.includes(this.newTag)}}},methods:{addTag(){if(this.newTagValid){const t=[...this.value,this.newTag].sort();this.value=t,this.newTag=""}this.$refs.tagInput.focus()},removeTag(t){let e=[...this.value];e.splice(t,1),this.value=e}}},tt={class:"w-100"},nt={class:"input-group"},st={class:"input-group-prepend"},ot={class:"input-group-text"},at={class:"input-group-append"},it={class:"tagList mt-1 w-100"},lt={key:0,class:"noTag"};function rt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",tt,[a("div",nt,[a("div",st,[a("div",ot,[g(t.$slots,"input-prefix",{},()=>[m(o,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),B(a("input",S({ref:"tagInput","onUpdate:modelValue":e[0]||(e[0]=r=>i.newTag=r),type:"text",class:"form-control"},t.$attrs,{onKeyup:e[1]||(e[1]=X((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16),[[I,i.newTag]]),a("div",at,[a("div",{class:O(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:e[2]||(e[2]=(...r)=>s.addTag&&s.addTag(...r))},[g(t.$slots,"input-add",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),a("div",it,[s.value.length==0?(l(),u("span",lt,[m(o,{icon:["fas","info-circle"]}),p(" "+v(n.noElementsMessage),1)])):f("",!0),(l(!0),u(T,null,q(s.value,(r,k)=>(l(),u("span",{key:k,class:"tag"},[g(t.$slots,"element-prefix",{},()=>[m(o,{icon:["fas","tag"]})],!0),p(" "+v(r)+" ",1),m(o,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:x=>s.removeTag(k)},null,8,["onClick"])]))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const dt=y(et,[["render",rt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:dt},Symbol.toStringTag,{value:"Module"}));const ct={name:"OpenwbAvatar"},pt={class:"avatar"};function mt(t,e,n,d,i,s){return l(),u("div",pt,[g(t.$slots,"default",{},()=>[e[0]||(e[0]=p("?"))],!0)])}const ft=y(ct,[["render",mt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),_t=Object.freeze(Object.defineProperty({__proto__:null,default:ft},Symbol.toStringTag,{value:"Module"}));C.add(L);const gt={name:"OpenwbButtonGroupInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},bt={class:"btn-group btn-block btn-group-toggle"},ht=["value"];function vt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",bt,[(l(!0),u(T,null,q(n.buttons,r=>(l(),u("label",{key:r.value,class:O(["btn",[s.value==r.buttonValue?"active":"",r.class?r.class:"btn-outline-info"]])},[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=k=>s.value=k),type:"radio",value:r.buttonValue,ref_for:!0},t.$attrs),null,16,ht),[[ee,s.value]]),g(t.$slots,"label-"+r.buttonValue,{},()=>[p(v(r.text),1)]),m(o,{"fixed-width":"",icon:["fas","check"],style:te([s.value==r.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const yt=y(gt,[["render",vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),wt=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"}));const kt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(t){this.$emit("buttonClicked",t)}}};function St(t,e,n,d,i,s){return l(),u("button",{type:"button",class:"btn btn-block",onClick:e[0]||(e[0]=E((...o)=>s.click&&s.click(...o),["prevent"]))},[g(t.$slots,"default",{},()=>[p(v(n.title),1)],!0)])}const K=y(kt,[["render",St],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Bt=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),Ot={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:M,OpenwbBaseClickButton:K},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},buttonText:{type:String,required:!1,default:void 0},disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(t){this.$emit("buttonClicked",t)}}};function Ct(t,e,n,d,i,s){const o=b("openwb-base-click-button"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[m(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},t.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[p(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const $t=y(Ot,[["render",Ct],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),It=Object.freeze(Object.defineProperty({__proto__:null,default:$t},Symbol.toStringTag,{value:"Module"}));C.add(fe,_e);const Tt={name:"OpenwbCard",components:{FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"secondary"},bodyBg:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},xt={class:"form-group mb-0"},Mt={class:"form-row vaRow mb-0 py-2"},Vt={class:"col"},At={class:"card-actions ml-4"},Pt={key:0,class:"card-actions mr-4"},qt={key:2,class:"card-footer"};function Dt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",{class:O(["card","border-"+n.subtype])},[n.title!==void 0||t.$slots.header?(l(),u("div",{key:0,class:O(["card-header py-1","bg-"+n.subtype]),onClick:e[0]||(e[0]=(..._)=>s.toggleBody&&s.toggleBody(..._))},[a("div",xt,[a("div",Mt,[a("div",Vt,[g(t.$slots,"header",{collapsed:i.isCollapsed},()=>[p(v(n.title),1)])])])]),a("span",At,[t.$slots.actions?(l(),u("span",Pt,[g(t.$slots,"actions",{collapsed:i.isCollapsed})])):f("",!0),n.collapsible?(l(),h(o,{key:1,"fixed-width":"",icon:i.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):f("",!0)])],2)):f("",!0),i.isCollapsed===!1?(l(),u("div",S({key:1,class:["card-body",[n.title==null&&!t.$slots.header?"border-radius-top-inherit":"",t.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},t.$attrs),[g(t.$slots,"default")],16)):f("",!0),t.$slots.footer&&i.isCollapsed===!1?(l(),u("div",qt,[g(t.$slots,"footer")])):f("",!0)],2)}const Et=y(Tt,[["render",Dt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),jt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},Wt={class:"col-md-8"};function Rt(t,e,n,d,i,s){const o=b("openwb-base-setting-element");return l(),h(o,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Wt,[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=_=>s.value=_),class:"form-control",type:"checkbox"},t.$attrs),null,16),[[ne,s.value]])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nt=y(jt,[["render",Rt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Ft=Object.freeze(Object.defineProperty({__proto__:null,default:Nt},Symbol.toStringTag,{value:"Module"}));C.add(ge,be);const Ht={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:$},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to selection or text range"),window.getSelection){const t=window.getSelection(),e=document.createRange();e.selectNodeContents(this.$refs["slot-wrapper"]),t.removeAllRanges(),t.addRange(e);return}if(document.body.createTextRange){const t=document.body.createTextRange();t.moveToElementText(this.$refs["slot-wrapper"]),t.select()}else console.warn("could not select text, unsupported browser")}}}},Ut=["title"];function zt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:e[0]||(e[0]=(..._)=>s.click&&s.click(..._))},[g(t.$slots,"default",{},void 0,!0),m(o,{"fixed-width":"",icon:i.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,Ut)}const Gt=y(Ht,[["render",zt],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),Jt=Object.freeze(Object.defineProperty({__proto__:null,default:Gt},Symbol.toStringTag,{value:"Module"}));C.add(H,U,L);const Kt={name:"OpenwbHeading",components:{FontAwesomeIcon:$},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Qt={class:"heading-text"},Yt={key:0,class:"actions"},Zt={class:""},Xt={key:0,class:"form-row alert alert-info small flex-fill"};function en(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u(T,null,[a("div",S({class:"card-text card-text-heading"},t.$attrs),[a("div",Qt,[g(t.$slots,"default",{},void 0,!0),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),t.$slots.actions?(l(),u("span",Yt,[g(t.$slots,"actions",{},void 0,!0)])):f("",!0)],16),a("div",Zt,[i.showHelp?(l(),u("span",Xt,[g(t.$slots,"help",{},void 0,!0)])):f("",!0)])],64)}const tn=y(Kt,[["render",en],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),nn=Object.freeze(Object.defineProperty({__proto__:null,default:tn},Symbol.toStringTag,{value:"Module"})),sn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(t){return["around","between","center","end","start"].indexOf(t)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var t=[];return this.buttons!==void 0&&(t=this.buttons),this.preventClose||t.push({text:"Schließen",event:"close"}),t}},methods:{handleClick(t){t.stopPropagation();let e=t.target.getAttribute("data-event");e===null&&(e="close"),(e!="close"||!this.preventClose)&&this.$emit("modal-result",e)}}},on={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},an={class:"modal-content"},ln={class:"modal-title"},rn={class:"modal-body"},dn=["data-event"];function un(t,e,n,d,i,s){return n.show?(l(),h(F,{key:0,to:"body"},[e[4]||(e[4]=a("div",{class:"modal-backdrop fade show"},null,-1)),a("div",{class:"modal fade d-block show",role:"dialog",onClick:e[2]||(e[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[a("div",on,[a("div",an,[a("div",{class:O(["modal-header","bg-"+n.subtype])},[a("h4",ln,v(n.title),1),n.preventClose?f("",!0):(l(),u("button",{key:0,type:"button",class:"close",onClick:e[0]||(e[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),a("div",rn,[g(t.$slots,"default",{},()=>[e[3]||(e[3]=p("# Body #"))])]),s.myButtons.length>0?(l(),u("div",{key:0,class:O(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(l(!0),u(T,null,q(s.myButtons,o=>(l(),u("button",{key:o.text,type:"button",class:O(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:e[1]||(e[1]=(..._)=>s.handleClick&&s.handleClick(..._))},v(o.text),11,dn))),128))],2)):f("",!0)])])])])):f("",!0)}const cn=y(sn,[["render",un],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),pn=Object.freeze(Object.defineProperty({__proto__:null,default:cn},Symbol.toStringTag,{value:"Module"}));C.add(he);const mn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},precision:{type:Number,default:void 0},emptyValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue"],computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(t){(isNaN(t)||typeof t!="number")&&(t=this.emptyValue),this.$emit("update:modelValue",t)}}}},fn={class:"input-group"},_n={class:"input-group-prepend"},gn={class:"input-group-text"},bn={key:0,class:"input-group-append"},hn={class:"input-group-text"};function vn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fn,[a("div",_n,[a("div",gn,[m(o,{"fixed-width":"",icon:["fas","calculator"]})])]),B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16),[[I,s.value,void 0,{number:!0}]]),n.unit?(l(),u("div",bn,[a("div",hn,v(n.unit),1)])):f("",!0)])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const yn=y(mn,[["render",vn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),wn=Object.freeze(Object.defineProperty({__proto__:null,default:yn},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const kn={name:"OpenwbRangeInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},min:{type:Number,required:!0,default:0},max:{type:Number,required:!0,default:100},step:{type:Number,required:!1,default:1},labels:{type:Array,required:!1,default:void 0}},emits:["update:modelValue"],computed:{label(){var t;return this.labels&&this.sliderValue!=null?this.sliderValue[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Sn,[a("div",Bn,[s.label?(l(),u("label",On,v(s.label),1)):f("",!0),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[0]||(e[0]=(...r)=>s.decrement&&s.decrement(...r))},[m(o,{icon:["fas","step-backward"]})]),a("div",Cn,[B(a("input",S({"onUpdate:modelValue":e[1]||(e[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},t.$attrs),null,16,$n),[[I,s.sliderValue,void 0,{number:!0}]])]),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[2]||(e[2]=(...r)=>s.increment&&s.increment(...r))},[m(o,{icon:["fas","step-forward"]})])])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Tn=y(kn,[["render",In],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),xn=Object.freeze(Object.defineProperty({__proto__:null,default:Tn},Symbol.toStringTag,{value:"Module"}));C.add(z);const Mn={name:"OpenwbSelectInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},groups:{type:Array,required:!1,default:void 0},options:{type:Array,required:!1,default:void 0},notSelected:{type:String,default:void 0},addButton:{type:Boolean,default:!1}},emits:["update:modelValue","input:add"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},Vn={class:"w-100"},An={class:"input-group"},Pn={key:0,class:"input-group-prepend"},qn={class:"input-group-text"},Dn={key:0,value:void 0,disabled:""},En=["value"],Ln=["label"],jn=["value"],Wn={key:1,class:"input-group-append"};function Rn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Vn,[a("div",An,[t.$slots.prefix?(l(),u("div",Pn,[a("div",qn,[g(t.$slots,"prefix")])])):f("",!0),B(a("select",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"col form-control"},t.$attrs),[n.notSelected!==void 0?(l(),u("option",Dn," -- "+v(n.notSelected)+" -- ",1)):f("",!0),(l(!0),u(T,null,q(n.options,r=>(l(),u("option",{key:r.value,value:r.value},v(r.text),9,En))),128)),(l(!0),u(T,null,q(n.groups,r=>(l(),u("optgroup",{key:r.label,label:r.label},[(l(!0),u(T,null,q(r.options,k=>(l(),u("option",{key:k.value,value:k.value},v(k.text),9,jn))),128))],8,Ln))),128))],16),[[se,s.value]]),n.addButton?(l(),u("div",Wn,[a("div",{class:O(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:e[1]||(e[1]=r=>s.addClicked())},[g(t.$slots,"inputAdd",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})])],2)])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nn=y(Mn,[["render",Rn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Fn=Object.freeze(Object.defineProperty({__proto__:null,default:Nn},Symbol.toStringTag,{value:"Module"}));C.add(L,we,ke);const Hn={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:$},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},emits:["reset","defaults","save"],data(){return{showModalReset:!1,showModalDefaults:!1}},computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(t){this.showModalReset=!1,t=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(t){this.showModalDefaults=!1,t=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},Un={class:"row justify-content-center mb-1"},zn={class:"col-md-4 d-flex py-1 justify-content-center"},Gn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Jn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Kn(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog"),_=b("font-awesome-icon");return l(),u(T,null,[m(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>e[3]||(e[3]=[p(" Einstellungen werden gespeichert... ")])),_:1},8,["show"]),m(o,{show:i.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>e[4]||(e[4]=[p(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")])),_:1},8,["show","onModalResult"]),m(o,{show:i.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>e[5]||(e[5]=[p(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")])),_:1},8,["show","onModalResult"]),a("div",Un,[a("div",zn,[a("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:e[0]||(e[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[e[6]||(e[6]=p(" Speichern ")),m(_,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?f("",!0):(l(),u("div",Gn,[a("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:e[1]||(e[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[e[7]||(e[7]=p(" Änderungen verwerfen ")),m(_,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?f("",!0):(l(),u("div",Jn,[a("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:e[2]||(e[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[e[8]||(e[8]=p(" Werkseinstellungen ")),m(_,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const Qn=y(Hn,[["render",Kn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),Yn=Object.freeze(Object.defineProperty({__proto__:null,default:Qn},Symbol.toStringTag,{value:"Module"}));C.add(G,Se,Be,Oe,Ce,J,$e,Ie,Te,xe,Me,Ve);const Zn={name:"OpenwbTextInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(t)!==-1},default:"text"},pattern:{type:String,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},emptyValue:{type:[String,Object,null],required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.error("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else t==""&&(t=this.emptyValue),this.$emit("update:modelValue",t)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(t){var e,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+t),e=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}e>this.inputRef.max||e[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Xn,[a("div",es,[a("div",ts,[a("div",ns,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="email"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","envelope"]})):f("",!0),n.subtype=="host"?(l(),h(o,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):f("",!0),n.subtype=="url"?(l(),h(o,{key:3,"fixed-width":"",icon:["fas","globe"]})):f("",!0),n.subtype=="user"?(l(),h(o,{key:4,"fixed-width":"",icon:["fas","user"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:5,"fixed-width":"",icon:["fas","code"]})):f("",!0),n.subtype=="password"?(l(),h(o,{key:6,"fixed-width":"",icon:i.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):f("",!0),n.subtype=="time"?(l(),h(o,{key:7,"fixed-width":"",icon:["fas","clock"]})):f("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(l(),h(o,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):f("",!0)])]),["text","user"].includes(n.subtype)?B((l(),u("input",S({key:0,ref:"textInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:i.inputInvalid}]},t.$attrs,{pattern:n.pattern}),null,16,ss)),[[I,s.value]]):f("",!0),n.subtype=="json"?B((l(),u("input",S({key:1,ref:"jsonInput","onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,os)),[[I,s.value]]):f("",!0),n.subtype=="password"?B((l(),u("input",S({key:2,ref:"passwordInput","onUpdate:modelValue":e[2]||(e[2]=r=>s.value=r),type:i.showPassword?"text":"password",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,as)),[[R,s.value]]):f("",!0),n.subtype=="host"?B((l(),u("input",S({key:3,ref:"hostInput","onUpdate:modelValue":e[3]||(e[3]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),["email","url"].includes(n.subtype)?B((l(),u("input",S({key:4,"onUpdate:modelValue":e[4]||(e[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},t.$attrs),null,16,is)),[[R,s.value]]):f("",!0),n.subtype=="time"?B((l(),u("input",S({key:5,ref:"timeInput","onUpdate:modelValue":e[5]||(e[5]=r=>s.value=r),type:"time",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="date"?B((l(),u("input",S({key:6,ref:"dateInput","onUpdate:modelValue":e[6]||(e[6]=r=>s.value=r),type:"date",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="month"?B((l(),u("input",S({key:7,ref:"monthInput","onUpdate:modelValue":e[7]||(e[7]=r=>s.value=r),type:"month",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.subtype=="year"?B((l(),u("input",S({key:8,ref:"yearInput","onUpdate:modelValue":e[8]||(e[8]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16)),[[I,s.value]]):f("",!0),n.unit?(l(),u("div",ls,[a("div",rs,v(n.unit),1)])):f("",!0),n.subtype=="password"?(l(),u("div",{key:10,class:"input-group-append clickable",onClick:e[9]||(e[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[a("div",ds,[m(o,{"fixed-width":"",icon:i.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:11,class:"input-group-append clickable",onClick:e[10]||(e[10]=r=>s.modify(-1))},e[12]||(e[12]=[a("div",{class:"input-group-text"},"-",-1)]))):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:12,class:"input-group-append clickable",onClick:e[11]||(e[11]=r=>s.modify(1))},e[13]||(e[13]=[a("div",{class:"input-group-text"},"+",-1)]))):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const cs=y(Zn,[["render",us],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),ps=Object.freeze(Object.defineProperty({__proto__:null,default:cs},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const ms={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:M,FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","json"].indexOf(t)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid JSON as String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.warn("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else this.$emit("update:modelValue",t)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},fs={class:"w-100"},_s={class:"input-group"},gs={class:"input-group-prepend"},bs={class:"input-group-text"},hs={key:2,class:"input-group-append"},vs={class:"input-group-text"},ys={class:"form-text text-muted text-right"};function ws(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fs,[a("div",_s,[a("div",gs,[a("div",bs,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","code"]})):f("",!0)])]),n.subtype==="json"?B((l(),u("textarea",S({key:0,ref:"jsonInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value,void 0,{lazy:!0}]]):B((l(),u("textarea",S({key:1,"onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[I,s.value]]),t.$attrs.maxlength?(l(),u("div",hs,[a("div",vs,[a("small",ys,v(s.length)+" / "+v(t.$attrs.maxlength),1)])])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const ks=y(ms,[["render",ws],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),Ss=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"}));const Bs={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(t){return["system","client","command"].indexOf(t)!==-1}},timestamp:{type:Number,required:!0}},emits:["dismiss","hide"],data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const t={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var e=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var i in t)if(Math.abs(d)>t[i]){this.relativeTime=e.format(Math.round(-d/t[i]),i);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},Os={key:0,class:"time-diff"},Cs={class:"toast-body"};function $s(t,e,n,d,i,s){return l(),u("div",{class:O(["toast","border-"+n.subtype]),role:"alert"},[a("div",{class:O(["toast-header","bg-"+n.subtype])},[e[2]||(e[2]=a("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(l(),u("small",Os,v(i.relativeTime),1)):f("",!0),a("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:e[0]||(e[0]=(...o)=>s.dismiss&&s.dismiss(...o))},e[1]||(e[1]=[a("span",{"aria-hidden":"true"},"×",-1)]))],2),a("div",Cs,[g(t.$slots,"default",{},void 0,!0)])],2)}const Is=y(Bs,[["render",$s],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),Ts=Object.freeze(Object.defineProperty({__proto__:null,default:Is},Symbol.toStringTag,{value:"Module"}));C.add(Ae);const xs={name:"OpenwbNavBar",components:{FontAwesomeIcon:$},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},Ms={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},Vs={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},As={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},Ps={class:"navbar-nav"},qs={class:"nav-item"},Ds={class:"nav-item dropdown nav-separator-after"},Es={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ls={class:"nav-item dropdown"},js={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ws={class:"nav-item dropdown"},Rs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ns={class:"nav-item dropdown"},Fs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Hs={class:"nav-item dropdown"},Us={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},zs={class:"nav-item nav-separator-before"},Gs={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Js(t,e,n,d,i,s){const o=b("router-link"),_=b("font-awesome-icon");return l(),u("nav",Ms,[e[31]||(e[31]=a("a",{class:"navbar-brand",href:"/openWB/web/"},[a("span",null,"openWB")],-1)),a("button",Vs,e[0]||(e[0]=[a("span",{class:"navbar-toggler-icon"},null,-1)]),512),a("div",As,[a("ul",Ps,[a("li",qs,[m(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>e[1]||(e[1]=[p(" Status ")])),_:1})]),a("li",Ds,[e[4]||(e[4]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),a("div",Es,[m(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[2]||(e[2]=[p(" Ladeprotokoll ")])),_:1}),m(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[3]||(e[3]=[p(" Diagramme ")])),_:1})])]),a("li",Ls,[e[7]||(e[7]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),a("div",js,[m(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[5]||(e[5]=[p(" Allgemein ")])),_:1}),m(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[6]||(e[6]=[p(" Optionale Hardware ")])),_:1})])]),a("li",Ws,[e[13]||(e[13]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),a("div",Rs,[m(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[8]||(e[8]=[p(" Übergreifendes ")])),_:1}),m(o,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[9]||(e[9]=[p(" Sofortladen ")])),_:1}),m(o,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[10]||(e[10]=[p(" PV-Laden ")])),_:1}),m(o,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[11]||(e[11]=[p(" Zeitladen ")])),_:1}),m(o,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[12]||(e[12]=[p(" Zielladen ")])),_:1})])]),a("li",Ns,[e[20]||(e[20]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),a("div",Fs,[m(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[14]||(e[14]=[p(" Geräte und Komponenten ")])),_:1}),m(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[15]||(e[15]=[p(" Lastmanagement ")])),_:1}),m(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[16]||(e[16]=[p(" Ladepunkte ")])),_:1}),m(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[17]||(e[17]=[p(" Fahrzeuge ")])),_:1}),e[18]||(e[18]=a("div",{class:"dropdown-divider"},null,-1)),e[19]||(e[19]=a("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),a("li",Hs,[e[29]||(e[29]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),a("div",Us,[m(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[21]||(e[21]=[p(" Einrichtungsassistent ")])),_:1}),m(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[22]||(e[22]=[p(" openWB Cloud ")])),_:1}),m(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[23]||(e[23]=[p(" MQTT-Brücken ")])),_:1}),m(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[24]||(e[24]=[p(" Fehlersuche ")])),_:1}),m(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[25]||(e[25]=[p(" Support ")])),_:1}),m(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[26]||(e[26]=[p(" Datenverwaltung ")])),_:1}),m(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[27]||(e[27]=[p(" System ")])),_:1}),m(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[28]||(e[28]=[p(" Rechtliches ")])),_:1})])]),a("li",zs,[a("a",Gs,[e[30]||(e[30]=p(" Wiki ")),m(_,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Ks=y(xs,[["render",Js],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Qs={name:"OpenwbPageFooter"},Ys={id:"footer",class:"footer bg-dark text-light font-small"},Zs={class:"container text-center"};function Xs(t,e,n,d,i,s){return l(),u("footer",Ys,[a("div",Zs,[a("small",null," Sie befinden sich hier: Einstellungen / "+v(t.$route.meta.heading),1)])])}const eo=y(Qs,[["render",Xs],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]);C.add(Pe);const to={name:"OpenwbDonationBanner",components:{FontAwesomeIcon:$}},no={class:"mt-3 alert alert-dark text-center"},so={action:"https://www.paypal.com/cgi-bin/webscr",method:"post",target:"_blank"},oo={type:"submit",class:"btn btn-primary"};function ao(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",no,[e[3]||(e[3]=p(" Open Source made with love!")),e[4]||(e[4]=a("br",null,null,-1)),e[5]||(e[5]=p(" Jede Spende hilft die Weiterentwicklung von openWB voranzutreiben")),e[6]||(e[6]=a("br",null,null,-1)),a("form",so,[e[1]||(e[1]=a("input",{type:"hidden",name:"cmd",value:"_s-xclick"},null,-1)),e[2]||(e[2]=a("input",{type:"hidden",name:"hosted_button_id",value:"2K8C4Y2JTGH7U"},null,-1)),a("button",oo,[e[0]||(e[0]=p(" Spenden ")),m(o,{icon:["fab","paypal"]})])])])}const io=y(to,[["render",ao],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageDonationBanner.vue"]]),lo={name:"ComponentState",emits:["reset","defaults","save"],data(){return{mqttTopicsToSubscribe:[]}},computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},statusLevel(){return["success","warning","danger"]},stateIcon:{get(){switch(this.$store.state.mqtt[this.baseTopic+"/get/fault_state"]){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},mounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doUnsubscribe(this.mqttTopicsToSubscribe)},methods:{updateState(t,e,n=void 0){console.debug("updateState:",t,e,n),this.$store.commit({type:"updateTopic",topic:t,objectPath:n,payload:e})},ac_current2dc_power(t){return parseFloat((t*3*230/1e3).toFixed(2))},dc_power2ac_current(t){return parseFloat((t*1e3/230/3).toFixed(2))},getWildcardIndexList(t,e=!1){let n=t;e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(i=>i.match(n));return d.forEach((i,s,o)=>{o[s]=parseInt(i.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})},formatDate(t,e={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(t).toLocaleDateString(void 0,e)},formatNumber(t,e=0,n=e,d=1){if(!(t==null||isNaN(t)))return t=t*d,t.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:n})},formatNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.formatNumber(this.$store.state.mqtt[t],e,n,d):"-"},formatPhaseArrayNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.$store.state.mqtt[t].map(i=>this.formatNumber(i,e,n,d)).join(" / "):"- / - / -"},translateChargeMode(t){switch(t){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",t),t}},getFaultStateSubtype(t){const e=this.$store.state.mqtt[t+"/get/fault_state"];if(e===void 0)return"warning";switch(e){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},Q=y(lo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(qe,De);const ro={name:"OpenwbPageMessages",components:{FontAwesomeIcon:$,FontAwesomeLayers:Ee,FontAwesomeLayersText:Le},mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((e,n)=>((e=="light"&&["info","success","warning","danger"].includes(n.type)||e=="info"&&["success","warning","danger"].includes(n.type)||e=="success"&&["warning","danger"].includes(n.type)||e=="warning"&&n.type=="danger")&&(e=n.type),e),"light")},messages(){const t=[];return this.systemMessages.forEach(e=>{t.push(e)}),this.clientMessages.forEach(e=>{t.push(e)}),t.sort(this.compareMessagesByTimestamp),t},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(t=>!this.hiddenMessages.includes(t.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let t=this.getWildcardTopics("openWB/system/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e},clientMessages(){let t=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(t,e){return e.timestamp-t.timestamp},clearTopic(t){this.$root.doPublish(t,void 0)},dismissMessage(t){this.clearTopic(t.topic);var e=this.hiddenMessages.indexOf(t.topic);e>-1&&this.hiddenMessages.splice(e,1)},dismissAllMessages(){this.messages.forEach(t=>{this.clearTopic(t.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(t){this.hiddenMessages.includes(t.topic)||this.hiddenMessages.push(t.topic)}}},uo=["innerHTML"];function co(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("font-awesome-layers-text"),r=b("font-awesome-layers"),k=b("openwb-base-alert"),x=b("openwb-base-click-button"),A=b("openwb-base-toast");return l(),u(T,null,[(l(),h(F,{to:"body"},[a("div",{id:"message-indicator",class:O(["text-light mt-1 p-2 mr-1 clickable",i.showAllMessages?"active":""]),onClick:e[0]||(e[0]=(...P)=>s.toggleAllMessages&&s.toggleAllMessages(...P))},[m(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[m(o,{"fixed-width":"",icon:i.showAllMessages?["fas","bell"]:["far","bell"],class:O(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(l(),h(_,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):f("",!0)]),_:1})],2)])),s.recentMessages.length>0||i.showAllMessages?(l(),u("div",{key:0,class:O(["openwb-toast-container",i.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(l(),h(k,{key:0,subtype:"info"},{default:c(()=>e[1]||(e[1]=[p(" Keine Nachrichten vorhanden. ")])),_:1})):i.showAllMessages?(l(),h(x,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>e[2]||(e[2]=[p(" Alle Nachrichten löschen ")])),_:1},8,["onButtonClicked"])):f("",!0),(l(!0),u(T,null,q(s.recentMessages,P=>(l(),h(A,{key:P.topic,topic:P.topic,source:P.source,subtype:P.type,timestamp:P.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[a("span",{innerHTML:P.message},null,8,uo)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):f("",!0)],64)}const po=y(ro,[["render",co],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),mo={name:"OpenwbPageBlocker",mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(t){t=="reload"?location.reload():console.warn("unknown event",t)}}},fo={class:"openwb-blocker"},_o={key:0},go={key:1},bo={key:2},ho={key:3};function vo(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog");return l(),u("div",fo,[m(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:e[0]||(e[0]=_=>s.handleModalResult(_))},{default:c(()=>[s.bootInProgress?(l(),u("p",_o,"Der Systemstart ist noch nicht abgeschlossen.")):f("",!0),s.updateInProgress?(l(),u("p",go,"Es wird eine Systemaktualisierung ausgeführt.")):f("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(l(),u("p",bo,"Bitte die Seite neu laden.")):(l(),u("p",ho,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const yo=y(mo,[["render",vo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const wo={name:"OpenwbSettingsApp",components:{NavBar:Ks,PageFooter:eo,DonationBanner:io,Messages:po,Blocker:yo},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch(t){console.error("mqttClientId error",t);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(t=void 0){function e(d){return new Promise(i=>setTimeout(i,d))}this.$store.state.local.savingData=!0;let n={};t===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(t)?t.forEach(d=>{n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof t);for(const[d,i]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,i),this.doPublish(s,i),await e(100)}this.$store.state.local.savingData=!1},resetValues(t=this.topicList){console.debug("resetting values..."),console.debug("topics: ",t),this.doUnsubscribe(t),this.doSubscribe(t)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(t){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",t,!1)},createConnection(){const{protocol:t,host:e,port:n,endpoint:d,...i}=this.connection,s=`${t}://${e}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=oe.connect(s,i)}catch(o){console.error("mqtt.connect error",o)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"]),this.doSubscribe(["openWB/system/installAssistantDone"])}),this.client.on("error",o=>{console.error("Connection failed",o)}),this.client.on("message",(o,_)=>{if(_.toString().length>0){let r;try{r=JSON.parse(_.toString())}catch(k){console.debug("Json parsing failed, fallback to string: ",o,k),r=_.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(t){t.forEach(e=>{this.$store.commit("addSubscription",e),this.$store.getters.subscriptionCount(e)==1?(e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):this.$store.commit("addTopic",{topic:e,payload:void 0}),this.client.subscribe(e,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",e)})},doUnsubscribe(t){t.forEach(e=>{this.$store.commit("removeSubscription",e),this.$store.getters.subscriptionCount(e)==0?(this.client.unsubscribe(e,n=>{n&&console.error("Unsubscribe error",n)}),e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",e),this.$store.commit("removeTopic",e))):console.debug("Still subscribed to topic: ",e)})},doPublish(t,e,n=!0,d=2){let i={qos:d,retain:n};this.client.publish(t,JSON.stringify(e),i,s=>{s&&console.error("Publish error",s)})},postClientMessage(t,e="secondary"){console.debug("postMessage:",t,e);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:t,type:e,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})}}},ko={role:"main",class:"container"},So={id:"content"};function Bo(t,e,n,d,i,s){const o=b("nav-bar"),_=b("router-view"),r=b("donation-banner"),k=b("page-footer"),x=b("messages"),A=b("blocker");return l(),u(T,null,[a("header",null,[m(o)]),a("div",ko,[a("div",So,[a("h1",null,v(t.$route.meta.heading),1),m(_,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])]),m(r)]),m(k),m(x),m(A)],64)}const Oo=y(wo,[["render",Bo],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),Co="modulepreload",$o=function(t){return"/openWB/web/settings/"+t},N={},w=function(e,n,d){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=$o(s),s in N)return;N[s]=!0;const o=s.endsWith(".css"),_=o?'[rel="stylesheet"]':"";if(!!d)for(let x=i.length-1;x>=0;x--){const A=i[x];if(A.href===s&&(!o||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${_}`))return;const k=document.createElement("link");if(k.rel=o?"stylesheet":Co,o||(k.as="script",k.crossOrigin=""),k.href=s,document.head.appendChild(k),o)return new Promise((x,A)=>{k.addEventListener("load",x),k.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};let Y={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};Y.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:void 0,buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const D=ae({state:Y,mutations:{storeLocal(t,e){t.local[e.name]=e.value},addTopic(t,e){Object.keys(t.mqtt).includes(e.topic)?console.warn("topic already exists: ",e.topic):t.mqtt[e.topic]=e.payload},removeTopic(t,e){delete t.mqtt[e]},updateTopic(t,e){const n=(d,i,s)=>i.split(".").reduce((o,_,r)=>o[_]=i.split(".").length===++r?s:o[_]||{},d);e.topic in t.mqtt||!(e.topic in t.examples)?e.objectPath!=null?n(t.mqtt[e.topic],e.objectPath,e.payload):t.mqtt[e.topic]=e.payload:(console.debug("topic not found in state.mqtt: ",e.topic),e.topic in t.examples?e.objectPath!=null?n(t.examples[e.topic],e.objectPath,e.payload):t.examples[e.topic]=e.payload:console.warn("topic not found in state: ",e.topic," giving up"))},addSubscription(t,e){e in t.mqttSubscriptions?t.mqttSubscriptions[e]+=1:t.mqttSubscriptions[e]=1,console.debug("subscription count: ",e,t.mqttSubscriptions[e])},removeSubscription(t,e){e in t.mqttSubscriptions&&(t.mqttSubscriptions[e]-=1,t.mqttSubscriptions[e]<=0&&delete t.mqttSubscriptions[e])}},actions:{},modules:{},getters:{usageTermsAcknowledged(t){return new Promise(e=>{if(t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)e(t.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(t){return new Promise(e=>{if(t.mqtt["openWB/system/installAssistantDone"]!==void 0)e(t.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:t=>e=>t.mqttSubscriptions[e]||0}}),Z=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>w(()=>import("./Status-0d94b352.js"),["assets/Status-0d94b352.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-53af3b3a.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/Status-9ecf39ed.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>w(()=>import("./ChargeLog-055b2ece.js"),["assets/ChargeLog-055b2ece.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>w(()=>import("./Chart-5172369d.js"),["assets/Chart-5172369d.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-53af3b3a.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>w(()=>import("./GeneralConfig-11fa69f5.js").then(t=>t.a),["assets/GeneralConfig-11fa69f5.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>w(()=>import("./OptionalComponents-6fa33f62.js").then(t=>t.O),["assets/OptionalComponents-6fa33f62.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>w(()=>import("./GeneralChargeConfig-4e8b8e33.js").then(t=>t.G),["assets/GeneralChargeConfig-4e8b8e33.js","assets/dynamic-import-helper-be004503.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>w(()=>import("./InstantChargeConfig-d3e92931.js"),["assets/InstantChargeConfig-d3e92931.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>w(()=>import("./PVChargeConfig-f9600c79.js"),["assets/PVChargeConfig-f9600c79.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>w(()=>import("./TimeChargeConfig-9a973deb.js"),["assets/TimeChargeConfig-9a973deb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>w(()=>import("./ScheduledChargeConfig-9e95c583.js"),["assets/ScheduledChargeConfig-9e95c583.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>w(()=>import("./HardwareInstallation-a49fa11f.js").then(t=>t.a),["assets/HardwareInstallation-a49fa11f.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>w(()=>import("./LoadManagementConfig-97765c3d.js"),["assets/LoadManagementConfig-97765c3d.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/OpenwbSortableList-cb1cc8c9.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>w(()=>import("./ChargePointInstallation-e2d03469.js").then(t=>t.c),["assets/ChargePointInstallation-e2d03469.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>w(()=>import("./VehicleConfig-268e1718.js").then(t=>t.b),["assets/VehicleConfig-268e1718.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>w(()=>import("./CloudConfig-ffb5ece0.js"),["assets/CloudConfig-ffb5ece0.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>w(()=>import("./MqttBridgeConfig-b8c6ee6c.js"),["assets/MqttBridgeConfig-b8c6ee6c.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>w(()=>import("./DebugConfig-650d7b2b.js"),["assets/DebugConfig-650d7b2b.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>w(()=>import("./Support-da96f8f8.js"),["assets/Support-da96f8f8.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>w(()=>import("./LegalSettings-2950e5af.js"),["assets/LegalSettings-2950e5af.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>w(()=>import("./System-50c91ad7.js"),["assets/System-50c91ad7.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>w(()=>import("./DataManagement-2af74759.js").then(t=>t.a),["assets/DataManagement-2af74759.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>w(()=>import("./InstallAssistant-802149cb.js"),["assets/InstallAssistant-802149cb.js","assets/dynamic-import-helper-be004503.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])}];Z.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>w(()=>import("./TestingStore-df8399d2.js"),["assets/TestingStore-df8399d2.js","assets/OpenwbSortableList-cb1cc8c9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])});const j=ie({history:le(),routes:Z});j.beforeEach(async t=>{if(await D.getters.usageTermsAcknowledged){if(!await D.getters.installAssistantDone&&t.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(t.name!=="LegalSettings")return{name:"LegalSettings"}});j.afterEach(t=>{t.meta.heading?document.title="openWB | "+t.meta.heading:document.title="openWB"});const W=re(Oo);W.use(D).use(j).use(je,We);const Io=Object.assign({"./components/OpenwbBaseAlert.vue":He,"./components/OpenwbBaseArrayInput.vue":ut,"./components/OpenwbBaseAvatar.vue":_t,"./components/OpenwbBaseButtonGroupInput.vue":wt,"./components/OpenwbBaseButtonInput.vue":It,"./components/OpenwbBaseCard.vue":Lt,"./components/OpenwbBaseCheckboxInput.vue":Ft,"./components/OpenwbBaseClickButton.vue":Bt,"./components/OpenwbBaseCopyToClipboard.vue":Jt,"./components/OpenwbBaseHeading.vue":nn,"./components/OpenwbBaseModalDialog.vue":pn,"./components/OpenwbBaseNumberInput.vue":wn,"./components/OpenwbBaseRangeInput.vue":xn,"./components/OpenwbBaseSelectInput.vue":Fn,"./components/OpenwbBaseSettingElement.vue":Xe,"./components/OpenwbBaseSubmitButtons.vue":Yn,"./components/OpenwbBaseTextInput.vue":ps,"./components/OpenwbBaseTextarea.vue":Ss,"./components/OpenwbBaseToast.vue":Ts});Object.entries(Io).forEach(([t,e])=>{const n=de(ue(t.split("/").pop().replace(/\.\w+$/,"")));W.component(n,e.default)});W.mount("#app");export{Q as C,M as O,w as _}; diff --git a/web/settings/assets/inverter-cfa877fa.js b/web/settings/assets/inverter-0a999d7c.js similarity index 81% rename from web/settings/assets/inverter-cfa877fa.js rename to web/settings/assets/inverter-0a999d7c.js index 959e095f4a..bd094d49c5 100644 --- a/web/settings/assets/inverter-cfa877fa.js +++ b/web/settings/assets/inverter-0a999d7c.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssInverter",mixins:[p]},c={class:"device-fox_ess-inverter"};function f(o,e,b,v,x,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/inverter.vue"]]);export{F as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssInverter",mixins:[p]},c={class:"device-fox_ess-inverter"};function f(o,e,b,v,x,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/inverter.vue"]]);export{F as default}; diff --git a/web/settings/assets/inverter-52ebaf6d.js b/web/settings/assets/inverter-0c796c3d.js similarity index 81% rename from web/settings/assets/inverter-52ebaf6d.js rename to web/settings/assets/inverter-0c796c3d.js index 617acb0eb6..0951f2781b 100644 --- a/web/settings/assets/inverter-52ebaf6d.js +++ b/web/settings/assets/inverter-0c796c3d.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisInverter",mixins:[p]},_={class:"device-solis-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Wechselrichter ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const I=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/inverter.vue"]]);export{I as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisInverter",mixins:[p]},_={class:"device-solis-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Wechselrichter ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const I=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-53ef4aeb.js b/web/settings/assets/inverter-0eb9219e.js similarity index 82% rename from web/settings/assets/inverter-53ef4aeb.js rename to web/settings/assets/inverter-0eb9219e.js index 0a3d023750..b0482b2b3f 100644 --- a/web/settings/assets/inverter-53ef4aeb.js +++ b/web/settings/assets/inverter-0eb9219e.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeInverter",mixins:[a]},_={class:"device-solaredge-inverter"};function f(o,e,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),d("div",_,[t(r,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Wechselrichter ")])),_:1}),t(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/inverter.vue"]]);export{D as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeInverter",mixins:[a]},_={class:"device-solaredge-inverter"};function f(o,e,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),d("div",_,[t(r,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Wechselrichter ")])),_:1}),t(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-db8da25d.js b/web/settings/assets/inverter-1abf72dc.js similarity index 88% rename from web/settings/assets/inverter-db8da25d.js rename to web/settings/assets/inverter-1abf72dc.js index 3ccf98b566..acd335679b 100644 --- a/web/settings/assets/inverter-db8da25d.js +++ b/web/settings/assets/inverter-1abf72dc.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxInverter",mixins:[u]},b={class:"device-powerfox-inverter"};function g(o,e,v,w,x,_){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Wechselrichter ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{$ as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxInverter",mixins:[u]},b={class:"device-powerfox-inverter"};function g(o,e,v,w,x,_){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Wechselrichter ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-0a6cbd2f.js b/web/settings/assets/inverter-28e8e173.js similarity index 83% rename from web/settings/assets/inverter-0a6cbd2f.js rename to web/settings/assets/inverter-28e8e173.js index 6d38da3e4f..a1c7936d7c 100644 --- a/web/settings/assets/inverter-0a6cbd2f.js +++ b/web/settings/assets/inverter-28e8e173.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitInverter",mixins:[p]},v={class:"device-openwb-evukit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/inverter.vue"]]);export{$ as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitInverter",mixins:[p]},v={class:"device-openwb-evukit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-54b586a4.js b/web/settings/assets/inverter-2d47027a.js similarity index 80% rename from web/settings/assets/inverter-54b586a4.js rename to web/settings/assets/inverter-2d47027a.js index 379672c3af..074f5c9062 100644 --- a/web/settings/assets/inverter-54b586a4.js +++ b/web/settings/assets/inverter-2d47027a.js @@ -1 +1 @@ -import{C as e}from"./HardwareInstallation-bb14911c.js";import{_ as n,l as t,m as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const o={name:"DeviceBenningInverter",mixins:[e]},r={class:"device-benning-inverter"};function s(p,c,m,a,_,v){return t(),i("div",r)}const C=n(o,[["render",s],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/inverter.vue"]]);export{C as default}; +import{C as e}from"./HardwareInstallation-a49fa11f.js";import{_ as n,l as t,m as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const o={name:"DeviceBenningInverter",mixins:[e]},r={class:"device-benning-inverter"};function s(p,c,m,a,_,v){return t(),i("div",r)}const C=n(o,[["render",s],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-d511f75f.js b/web/settings/assets/inverter-3dddbfba.js similarity index 83% rename from web/settings/assets/inverter-d511f75f.js rename to web/settings/assets/inverter-3dddbfba.js index 5dc57ca928..ca6bb3628c 100644 --- a/web/settings/assets/inverter-d511f75f.js +++ b/web/settings/assets/inverter-3dddbfba.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as t,l as u,m as l,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalPikoInverter",mixins:[a]},_={class:"device-kostal-piko-inverter"};function f(o,e,b,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return u(),l("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Kostal Piko Wechselrichter ")])),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":o.component.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.bat_configured"))},null,8,["model-value"])])}const N=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/inverter.vue"]]);export{N as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as t,l as u,m as l,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalPikoInverter",mixins:[a]},_={class:"device-kostal-piko-inverter"};function f(o,e,b,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return u(),l("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Kostal Piko Wechselrichter ")])),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":o.component.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.bat_configured"))},null,8,["model-value"])])}const N=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-15047f1d.js b/web/settings/assets/inverter-45c13b65.js similarity index 82% rename from web/settings/assets/inverter-15047f1d.js rename to web/settings/assets/inverter-45c13b65.js index b2de186d7e..8237c0584e 100644 --- a/web/settings/assets/inverter-15047f1d.js +++ b/web/settings/assets/inverter-45c13b65.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as n,l as p,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerInverter",mixins:[a]},_={class:"device-huawei-smart-logger-inverter"};function g(o,e,b,f,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return p(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/inverter.vue"]]);export{H as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as n,l as p,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerInverter",mixins:[a]},_={class:"device-huawei-smart-logger-inverter"};function g(o,e,b,f,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return p(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/inverter.vue"]]);export{H as default}; diff --git a/web/settings/assets/inverter-2cfdaef3.js b/web/settings/assets/inverter-5ccf087b.js similarity index 80% rename from web/settings/assets/inverter-2cfdaef3.js rename to web/settings/assets/inverter-5ccf087b.js index 93f64ed641..5302758c6b 100644 --- a/web/settings/assets/inverter-2cfdaef3.js +++ b/web/settings/assets/inverter-5ccf087b.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as n,u as s,l as o,m as i,G as a,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceVartaInverter",mixins:[r]},d={class:"varta-inverter"};function _(l,e,u,v,f,b){const t=s("openwb-base-alert");return o(),i("div",d,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Die Leistung des Wechselrichters ist nur verfügbar, wenn dieser über Sensor an Varta angebunden ist. Wechselrichter die per Modbus mit dem Speicher kommunizieren lassen sich nicht über den Varta PV-Sensor auslesen. ")])),_:1})])}const S=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/inverter.vue"]]);export{S as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as n,u as s,l as o,m as i,G as a,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceVartaInverter",mixins:[r]},d={class:"varta-inverter"};function _(l,e,u,v,f,b){const t=s("openwb-base-alert");return o(),i("div",d,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Die Leistung des Wechselrichters ist nur verfügbar, wenn dieser über Sensor an Varta angebunden ist. Wechselrichter die per Modbus mit dem Speicher kommunizieren lassen sich nicht über den Varta PV-Sensor auslesen. ")])),_:1})])}const S=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-e232e793.js b/web/settings/assets/inverter-5dafd952.js similarity index 83% rename from web/settings/assets/inverter-e232e793.js rename to web/settings/assets/inverter-5dafd952.js index f304cc381f..b49e0bfa4c 100644 --- a/web/settings/assets/inverter-e232e793.js +++ b/web/settings/assets/inverter-5dafd952.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,y){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Wechselrichter ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/inverter.vue"]]);export{M as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,y){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Wechselrichter ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/inverter.vue"]]);export{M as default}; diff --git a/web/settings/assets/inverter-81e9a45d.js b/web/settings/assets/inverter-5f4406d6.js similarity index 86% rename from web/settings/assets/inverter-81e9a45d.js rename to web/settings/assets/inverter-5f4406d6.js index 30f2263f30..adf024aa8e 100644 --- a/web/settings/assets/inverter-81e9a45d.js +++ b/web/settings/assets/inverter-5f4406d6.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l as u,m,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceOpenwbFlexInverter",mixins:[s]},b={class:"device-openwb-flex-inverter"};function f(o,e,_,w,x,g){const r=t("openwb-base-heading"),l=t("openwb-base-select-input"),p=t("openwb-base-number-input");return u(),m("div",b,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für openWB-Flex Wechselrichter ")])),_:1}),i(l,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(p,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const W=a(v,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/inverter.vue"]]);export{W as default}; +import{C as s}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l as u,m,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceOpenwbFlexInverter",mixins:[s]},b={class:"device-openwb-flex-inverter"};function f(o,e,_,w,x,g){const r=t("openwb-base-heading"),l=t("openwb-base-select-input"),p=t("openwb-base-number-input");return u(),m("div",b,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für openWB-Flex Wechselrichter ")])),_:1}),i(l,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(p,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const W=a(v,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-c196005c.js b/web/settings/assets/inverter-7533487f.js similarity index 86% rename from web/settings/assets/inverter-c196005c.js rename to web/settings/assets/inverter-7533487f.js index 64ae162e79..e94069acfa 100644 --- a/web/settings/assets/inverter-c196005c.js +++ b/web/settings/assets/inverter-7533487f.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as r,l as u,m as c,G as n,E as i,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,x){const s=r("openwb-base-heading"),a=r("openwb-base-text-input");return u(),c("div",f,[n(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Wechselrichter ")])),_:1}),n(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const z=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/inverter.vue"]]);export{z as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as r,l as u,m as c,G as n,E as i,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,x){const s=r("openwb-base-heading"),a=r("openwb-base-text-input");return u(),c("div",f,[n(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Wechselrichter ")])),_:1}),n(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const z=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/inverter.vue"]]);export{z as default}; diff --git a/web/settings/assets/inverter-1ef39fbd.js b/web/settings/assets/inverter-76508af0.js similarity index 82% rename from web/settings/assets/inverter-1ef39fbd.js rename to web/settings/assets/inverter-76508af0.js index f312a58b07..aa048e74e4 100644 --- a/web/settings/assets/inverter-1ef39fbd.js +++ b/web/settings/assets/inverter-76508af0.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxInverter",mixins:[a]},_={class:"device-solarmax-inverter"};function b(o,e,f,v,x,g){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return p(),l("div",_,[t(r,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solarmax Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const I=m(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter.vue"]]);export{I as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxInverter",mixins:[a]},_={class:"device-solarmax-inverter"};function b(o,e,f,v,x,g){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return p(),l("div",_,[t(r,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solarmax Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const I=m(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-0795e96a.js b/web/settings/assets/inverter-78f7f807.js similarity index 91% rename from web/settings/assets/inverter-0795e96a.js rename to web/settings/assets/inverter-78f7f807.js index 1fbaab584c..cb448f1bbb 100644 --- a/web/settings/assets/inverter-0795e96a.js +++ b/web/settings/assets/inverter-78f7f807.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as l,l as m,m as g,G as r,E as o,y as n,x as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpInverter",mixins:[p]},c={class:"device-http-inverter"};function b(t,e,v,f,w,_){const d=l("openwb-base-heading"),s=l("openwb-base-text-input");return m(),g("div",c,[r(d,null,{default:o(()=>e[2]||(e[2]=[n(" Einstellungen für Http Wechselrichter ")])),_:1}),r(s,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.power_path"))},{help:o(()=>e[3]||(e[3]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.exported_path"))},{help:o(()=>e[4]||(e[4]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"])])}const W=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{W as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as l,l as m,m as g,G as r,E as o,y as n,x as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpInverter",mixins:[p]},c={class:"device-http-inverter"};function b(t,e,v,f,w,_){const d=l("openwb-base-heading"),s=l("openwb-base-text-input");return m(),g("div",c,[r(d,null,{default:o(()=>e[2]||(e[2]=[n(" Einstellungen für Http Wechselrichter ")])),_:1}),r(s,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.power_path"))},{help:o(()=>e[3]||(e[3]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.exported_path"))},{help:o(()=>e[4]||(e[4]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"])])}const W=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-58e6976a.js b/web/settings/assets/inverter-8e681258.js similarity index 80% rename from web/settings/assets/inverter-58e6976a.js rename to web/settings/assets/inverter-8e681258.js index b310e17039..b10c15c9cc 100644 --- a/web/settings/assets/inverter-58e6976a.js +++ b/web/settings/assets/inverter-8e681258.js @@ -1 +1 @@ -import{C as e}from"./HardwareInstallation-bb14911c.js";import{_ as t,l as o,m as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const r={name:"DeviceOpenDTUInverter",mixins:[e]},i={class:"device-opendtu-inverter"};function p(s,c,m,a,_,d){return o(),n("div",i)}const h=t(r,[["render",p],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/inverter.vue"]]);export{h as default}; +import{C as e}from"./HardwareInstallation-a49fa11f.js";import{_ as t,l as o,m as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const r={name:"DeviceOpenDTUInverter",mixins:[e]},i={class:"device-opendtu-inverter"};function p(s,c,m,a,_,d){return o(),n("div",i)}const h=t(r,[["render",p],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/inverter.vue"]]);export{h as default}; diff --git a/web/settings/assets/inverter-d11a339a.js b/web/settings/assets/inverter-97e373f9.js similarity index 84% rename from web/settings/assets/inverter-d11a339a.js rename to web/settings/assets/inverter-97e373f9.js index f2d75f11a9..a63d7521fd 100644 --- a/web/settings/assets/inverter-d11a339a.js +++ b/web/settings/assets/inverter-97e373f9.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as l,u as n,l as d,m as c,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceSolarViewInverter",mixins:[p]},_={class:"device-solar-view-inverter"};function f(o,e,v,g,w,b){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return d(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für SolarView Wechselrichter ")])),_:1}),t(a,{title:"Kommando für die Abfrage",required:"","model-value":o.component.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.command"))},{help:i(()=>e[2]||(e[2]=[r(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")])),_:1},8,["model-value"])])}const S=l(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/inverter.vue"]]);export{S as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as l,u as n,l as d,m as c,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceSolarViewInverter",mixins:[p]},_={class:"device-solar-view-inverter"};function f(o,e,v,g,w,b){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return d(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für SolarView Wechselrichter ")])),_:1}),t(a,{title:"Kommando für die Abfrage",required:"","model-value":o.component.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.command"))},{help:i(()=>e[2]||(e[2]=[r(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")])),_:1},8,["model-value"])])}const S=l(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-3c83d434.js b/web/settings/assets/inverter-98cbd83b.js similarity index 82% rename from web/settings/assets/inverter-3c83d434.js rename to web/settings/assets/inverter-98cbd83b.js index d177103690..28e4fa5692 100644 --- a/web/settings/assets/inverter-3c83d434.js +++ b/web/settings/assets/inverter-98cbd83b.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseInverter",mixins:[m]},_={class:"device-enphase-inverter"};function f(n,e,v,b,g,E){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter ")])),_:1}),t(p,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[r(' EID für "production" ')])),_:1},8,["model-value"])])}const V=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{V as default}; +import{C as m}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseInverter",mixins:[m]},_={class:"device-enphase-inverter"};function f(n,e,v,b,g,E){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter ")])),_:1}),t(p,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[r(' EID für "production" ')])),_:1},8,["model-value"])])}const V=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-099de577.js b/web/settings/assets/inverter-a33d70ec.js similarity index 90% rename from web/settings/assets/inverter-099de577.js rename to web/settings/assets/inverter-a33d70ec.js index c42726058c..cd16744ff2 100644 --- a/web/settings/assets/inverter-099de577.js +++ b/web/settings/assets/inverter-a33d70ec.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as a,l as p,m,G as r,E as i,y as t,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceJsonInverter",mixins:[d]},f={class:"device-json-inverter"};function b(n,e,c,v,_,h){const l=a("openwb-base-heading"),s=a("openwb-base-text-input");return p(),m("div",f,[r(l,null,{default:i(()=>e[2]||(e[2]=[t(" Einstellungen für JSON Wechselrichter ")])),_:1}),r(s,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:i(()=>e[3]||(e[3]=[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:i(()=>e[4]||(e[4]=[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const B=u(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{B as default}; +import{C as d}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as a,l as p,m,G as r,E as i,y as t,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceJsonInverter",mixins:[d]},f={class:"device-json-inverter"};function b(n,e,c,v,_,h){const l=a("openwb-base-heading"),s=a("openwb-base-text-input");return p(),m("div",f,[r(l,null,{default:i(()=>e[2]||(e[2]=[t(" Einstellungen für JSON Wechselrichter ")])),_:1}),r(s,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:i(()=>e[3]||(e[3]=[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:i(()=>e[4]||(e[4]=[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const B=u(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-d997dbce.js b/web/settings/assets/inverter-a9cfe109.js similarity index 87% rename from web/settings/assets/inverter-d997dbce.js rename to web/settings/assets/inverter-a9cfe109.js index 54744ed0f1..9ef170087d 100644 --- a/web/settings/assets/inverter-d997dbce.js +++ b/web/settings/assets/inverter-a9cfe109.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as r,l as d,m as g,G as o,E as l,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerInverter",mixins:[u]},_={class:"device-vzlogger-inverter"};function c(n,e,v,b,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return d(),g("div",_,[o(a,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für VZLogger Wechselrichter ")])),_:1}),o(p,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),o(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.line_power"))},null,8,["model-value"]),o(i,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.line_exported"))},null,8,["model-value"])])}const W=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/inverter.vue"]]);export{W as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as r,l as d,m as g,G as o,E as l,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerInverter",mixins:[u]},_={class:"device-vzlogger-inverter"};function c(n,e,v,b,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return d(),g("div",_,[o(a,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für VZLogger Wechselrichter ")])),_:1}),o(p,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),o(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.line_power"))},null,8,["model-value"]),o(i,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.line_exported"))},null,8,["model-value"])])}const W=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-fceb7b26.js b/web/settings/assets/inverter-ad3e45f8.js similarity index 85% rename from web/settings/assets/inverter-fceb7b26.js rename to web/settings/assets/inverter-ad3e45f8.js index dca67d4107..bf9c3571bf 100644 --- a/web/settings/assets/inverter-fceb7b26.js +++ b/web/settings/assets/inverter-ad3e45f8.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronInverter",mixins:[s]},_={class:"device-victron-inverter"};function f(o,e,v,g,w,V){const r=t("openwb-base-heading"),p=t("openwb-base-number-input"),u=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Wechselrichter ")])),_:1}),i(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.component.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const I=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/inverter.vue"]]);export{I as default}; +import{C as s}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronInverter",mixins:[s]},_={class:"device-victron-inverter"};function f(o,e,v,g,w,V){const r=t("openwb-base-heading"),p=t("openwb-base-number-input"),u=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Wechselrichter ")])),_:1}),i(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.component.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const I=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-631538ae.js b/web/settings/assets/inverter-b9673539.js similarity index 90% rename from web/settings/assets/inverter-631538ae.js rename to web/settings/assets/inverter-b9673539.js index 74114b15f3..0b5a5d0d64 100644 --- a/web/settings/assets/inverter-631538ae.js +++ b/web/settings/assets/inverter-b9673539.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as s,l as b,m as f,G as o,E as i,y as t,x as n,F as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceMqttInverter",mixins:[u]},v={class:"device-mqtt-inverter"};function w(r,e,c,x,z,B){const a=s("openwb-base-heading"),l=s("openwb-base-copy-to-clipboard"),m=s("openwb-base-alert");return b(),f("div",v,[o(a,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ")])),_:1}),o(m,{subtype:"info"},{default:i(()=>[e[9]||(e[9]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: ")),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/exported ",1)]),_:1}),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ")),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))])])]),_:1})])}const N=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{N as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as s,l as b,m as f,G as o,E as i,y as t,x as n,F as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceMqttInverter",mixins:[u]},v={class:"device-mqtt-inverter"};function w(r,e,c,x,z,B){const a=s("openwb-base-heading"),l=s("openwb-base-copy-to-clipboard"),m=s("openwb-base-alert");return b(),f("div",v,[o(a,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ")])),_:1}),o(m,{subtype:"info"},{default:i(()=>[e[9]||(e[9]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: ")),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/exported ",1)]),_:1}),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ")),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))])])]),_:1})])}const N=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-c5ec198a.js b/web/settings/assets/inverter-bacf389e.js similarity index 86% rename from web/settings/assets/inverter-c5ec198a.js rename to web/settings/assets/inverter-bacf389e.js index 1746dc68e5..2b27e5a89e 100644 --- a/web/settings/assets/inverter-c5ec198a.js +++ b/web/settings/assets/inverter-bacf389e.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-bb14911c.js";import{_ as u,u as n,l as d,m as c,G as o,E as r,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmInverter",mixins:[l]},f={class:"device-smahm-inverter"};function b(t,e,v,g,h,w){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),m=n("openwb-base-number-input");return d(),c("div",f,[o(s,null,{default:r(()=>e[1]||(e[1]=[i(" Einstellungen für SMA-HM/EM Wechselrichter ")])),_:1}),o(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')])),_:1}),o(m,{title:"Seriennummer",required:"","model-value":t.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.serials"))},null,8,["model-value"])])}const $=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/inverter.vue"]]);export{$ as default}; +import{C as l}from"./HardwareInstallation-a49fa11f.js";import{_ as u,u as n,l as d,m as c,G as o,E as r,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmInverter",mixins:[l]},f={class:"device-smahm-inverter"};function b(t,e,v,g,h,w){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),m=n("openwb-base-number-input");return d(),c("div",f,[o(s,null,{default:r(()=>e[1]||(e[1]=[i(" Einstellungen für SMA-HM/EM Wechselrichter ")])),_:1}),o(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')])),_:1}),o(m,{title:"Seriennummer",required:"","model-value":t.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.serials"))},null,8,["model-value"])])}const $=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-96eadb56.js b/web/settings/assets/inverter-c239b1ca.js similarity index 91% rename from web/settings/assets/inverter-96eadb56.js rename to web/settings/assets/inverter-c239b1ca.js index 22531fba70..93c1064bdf 100644 --- a/web/settings/assets/inverter-96eadb56.js +++ b/web/settings/assets/inverter-c239b1ca.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l as b,m as v,G as r,E as i,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSunnyBoyInverter",mixins:[l]},_={class:"device-sunnyboy-inverter"};function g(n,e,y,c,w,C){const s=t("openwb-base-heading"),u=t("openwb-base-button-group-input"),d=t("openwb-base-select-input"),p=t("openwb-base-number-input");return b(),v("div",_,[r(s,null,{default:i(()=>e[3]||(e[3]=[a(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter ")])),_:1}),r(u,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":n.component.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hybrid"))},{help:i(()=>e[4]||(e[4]=[a(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")])),_:1},8,["model-value"]),r(d,{title:"Version","not-selected":"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"]),r(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:i(()=>e[5]||(e[5]=[a(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")])),_:1},8,["model-value"])])}const I=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/inverter.vue"]]);export{I as default}; +import{C as l}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l as b,m as v,G as r,E as i,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSunnyBoyInverter",mixins:[l]},_={class:"device-sunnyboy-inverter"};function g(n,e,y,c,w,C){const s=t("openwb-base-heading"),u=t("openwb-base-button-group-input"),d=t("openwb-base-select-input"),p=t("openwb-base-number-input");return b(),v("div",_,[r(s,null,{default:i(()=>e[3]||(e[3]=[a(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter ")])),_:1}),r(u,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":n.component.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hybrid"))},{help:i(()=>e[4]||(e[4]=[a(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")])),_:1},8,["model-value"]),r(d,{title:"Version","not-selected":"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"]),r(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:i(()=>e[5]||(e[5]=[a(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")])),_:1},8,["model-value"])])}const I=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-80e49592.js b/web/settings/assets/inverter-c81897cf.js similarity index 84% rename from web/settings/assets/inverter-80e49592.js rename to web/settings/assets/inverter-c81897cf.js index 63b0668760..eccc177384 100644 --- a/web/settings/assets/inverter-80e49592.js +++ b/web/settings/assets/inverter-c81897cf.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-bb14911c.js";import{_ as p,u as o,l,m as u,G as n,E as c,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalStecaInverter",mixins:[r]},_={class:"device-kostal-steca-inverter"};function f(t,e,v,b,g,k){const a=o("openwb-base-heading"),i=o("openwb-base-button-group-input");return l(),u("div",_,[n(a,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter ")])),_:1}),n(i,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":t.component.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.variant_steca"))},null,8,["model-value"])])}const B=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{B as default}; +import{C as r}from"./HardwareInstallation-a49fa11f.js";import{_ as p,u as o,l,m as u,G as n,E as c,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalStecaInverter",mixins:[r]},_={class:"device-kostal-steca-inverter"};function f(t,e,v,b,g,k){const a=o("openwb-base-heading"),i=o("openwb-base-button-group-input");return l(),u("div",_,[n(a,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter ")])),_:1}),n(i,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":t.component.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.variant_steca"))},null,8,["model-value"])])}const B=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-62b5af41.js b/web/settings/assets/inverter-d03bf839.js similarity index 82% rename from web/settings/assets/inverter-62b5af41.js rename to web/settings/assets/inverter-d03bf839.js index 37fea32f94..d8c7371bda 100644 --- a/web/settings/assets/inverter-62b5af41.js +++ b/web/settings/assets/inverter-d03bf839.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as t,l as p,m as l,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceYoulessInverter",mixins:[u]},d={class:"device-youless-inverter"};function f(o,e,b,v,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-button-group-input");return p(),l("div",d,[n(s,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Youless LS120 Wechselrichter ")])),_:1}),n(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":o.component.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const N=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/inverter.vue"]]);export{N as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as t,l as p,m as l,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceYoulessInverter",mixins:[u]},d={class:"device-youless-inverter"};function f(o,e,b,v,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-button-group-input");return p(),l("div",d,[n(s,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Youless LS120 Wechselrichter ")])),_:1}),n(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":o.component.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const N=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-c810e19b.js b/web/settings/assets/inverter-e15c138d.js similarity index 87% rename from web/settings/assets/inverter-c810e19b.js rename to web/settings/assets/inverter-e15c138d.js index 6d382b490b..c5964cb86c 100644 --- a/web/settings/assets/inverter-c810e19b.js +++ b/web/settings/assets/inverter-e15c138d.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as n,l as m,m as c,G as r,E as i,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuderInverter",mixins:[s]},b={class:"device-studer-inverter"};function v(t,e,f,g,V,S){const u=n("openwb-base-heading"),p=n("openwb-base-button-group-input"),l=n("openwb-base-number-input");return m(),c("div",b,[r(u,null,{default:i(()=>e[2]||(e[2]=[a(" Einstellungen für Studer Wechselrichter ")])),_:1}),r(p,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":t.component.configuration.vc_type,required:"","onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.vc_type"))},null,8,["model-value"]),r(l,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":t.component.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.vc_count"))},{help:i(()=>e[3]||(e[3]=[a(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")])),_:1},8,["model-value"])])}const B=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{B as default}; +import{C as s}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as n,l as m,m as c,G as r,E as i,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuderInverter",mixins:[s]},b={class:"device-studer-inverter"};function v(t,e,f,g,V,S){const u=n("openwb-base-heading"),p=n("openwb-base-button-group-input"),l=n("openwb-base-number-input");return m(),c("div",b,[r(u,null,{default:i(()=>e[2]||(e[2]=[a(" Einstellungen für Studer Wechselrichter ")])),_:1}),r(p,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":t.component.configuration.vc_type,required:"","onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.vc_type"))},null,8,["model-value"]),r(l,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":t.component.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.vc_count"))},{help:i(()=>e[3]||(e[3]=[a(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")])),_:1},8,["model-value"])])}const B=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-8c86eaa0.js b/web/settings/assets/inverter-ec8dcf0e.js similarity index 81% rename from web/settings/assets/inverter-8c86eaa0.js rename to web/settings/assets/inverter-ec8dcf0e.js index 25820a49c6..dac118a3c3 100644 --- a/web/settings/assets/inverter-8c86eaa0.js +++ b/web/settings/assets/inverter-ec8dcf0e.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as o,l as p,m as l,G as n,E as d,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeInverter",mixins:[a]},_={class:"device-smart-me-inverter"};function f(t,e,v,b,g,x){const r=o("openwb-base-heading"),i=o("openwb-base-text-input");return p(),l("div",_,[n(r,null,{default:d(()=>e[1]||(e[1]=[u(" Einstellungen für smart-me Wechselrichter ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/inverter.vue"]]);export{G as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as o,l as p,m as l,G as n,E as d,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeInverter",mixins:[a]},_={class:"device-smart-me-inverter"};function f(t,e,v,b,g,x){const r=o("openwb-base-heading"),i=o("openwb-base-text-input");return p(),l("div",_,[n(r,null,{default:d(()=>e[1]||(e[1]=[u(" Einstellungen für smart-me Wechselrichter ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/inverter.vue"]]);export{G as default}; diff --git a/web/settings/assets/inverter-bddfef4f.js b/web/settings/assets/inverter-ecd1a56f.js similarity index 81% rename from web/settings/assets/inverter-bddfef4f.js rename to web/settings/assets/inverter-ecd1a56f.js index ff0e98ed42..d596606e99 100644 --- a/web/settings/assets/inverter-bddfef4f.js +++ b/web/settings/assets/inverter-ecd1a56f.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeInverter",mixins:[p]},_={class:"device-deye-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/inverter.vue"]]);export{k as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeInverter",mixins:[p]},_={class:"device-deye-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-58be7eba.js b/web/settings/assets/inverter-ee76a7e8.js similarity index 82% rename from web/settings/assets/inverter-58be7eba.js rename to web/settings/assets/inverter-ee76a7e8.js index d240e7d82f..b07b2706c7 100644 --- a/web/settings/assets/inverter-58be7eba.js +++ b/web/settings/assets/inverter-ee76a7e8.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-bb14911c.js";import{_ as d,u as n,l as u,m as c,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecInverter",mixins:[a]},_={class:"device-mtec-inverter"};function b(o,e,f,v,g,w){const s=n("openwb-base-heading"),m=n("openwb-base-number-input");return u(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für M-Tec Wechselrichter ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const V=d(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/inverter.vue"]]);export{V as default}; +import{C as a}from"./HardwareInstallation-a49fa11f.js";import{_ as d,u as n,l as u,m as c,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecInverter",mixins:[a]},_={class:"device-mtec-inverter"};function b(o,e,f,v,g,w){const s=n("openwb-base-heading"),m=n("openwb-base-number-input");return u(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für M-Tec Wechselrichter ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const V=d(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-5a285386.js b/web/settings/assets/inverter-f2388654.js similarity index 89% rename from web/settings/assets/inverter-5a285386.js rename to web/settings/assets/inverter-f2388654.js index 46c0e23960..a55a6d472a 100644 --- a/web/settings/assets/inverter-5a285386.js +++ b/web/settings/assets/inverter-f2388654.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-bb14911c.js";import{_ as a,u as o,l,m,G as n,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbPvkitInverter",mixins:[p]},v={class:"device-openwb-pvkit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),m("div",v,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB PV-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_pv_kit/inverter.vue"]]);export{$ as default}; +import{C as p}from"./HardwareInstallation-a49fa11f.js";import{_ as a,u as o,l,m,G as n,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbPvkitInverter",mixins:[p]},v={class:"device-openwb-pvkit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),m("div",v,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB PV-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_pv_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter_secondary-61bfec54.js b/web/settings/assets/inverter_secondary-9b1eb421.js similarity index 89% rename from web/settings/assets/inverter_secondary-61bfec54.js rename to web/settings/assets/inverter_secondary-9b1eb421.js index e51a871d4b..1014372753 100644 --- a/web/settings/assets/inverter_secondary-61bfec54.js +++ b/web/settings/assets/inverter_secondary-9b1eb421.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-bb14911c.js";import{_ as m,u as t,l as f,m as c,G as i,E as s,y as n,x as a,F as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceFroniusInverterSecondary",mixins:[u],computed:{powerFlowUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}}}},_={class:"device-fronius-inverter-secondary"},v=["href"];function b(r,e,D,k,h,o){const d=t("openwb-base-heading"),l=t("openwb-base-number-input");return f(),c("div",_,[i(d,null,{default:s(()=>e[1]||(e[1]=[n(" Einstellungen für einen sekundären Wechselrichter ")])),_:1}),i(l,{title:"ID","model-value":r.component.configuration.id,min:"0",required:"","onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.id"))},{help:s(()=>[e[2]||(e[2]=n(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. ")),a("a",{href:o.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},g(o.powerFlowUrl),9,v),e[3]||(e[3]=a("br",null,null,-1)),e[4]||(e[4]=n(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. '))]),_:1},8,["model-value"])])}const V=m(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_secondary.vue"]]);export{V as default}; +import{C as u}from"./HardwareInstallation-a49fa11f.js";import{_ as m,u as t,l as f,m as c,G as i,E as s,y as n,x as a,F as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceFroniusInverterSecondary",mixins:[u],computed:{powerFlowUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}}}},_={class:"device-fronius-inverter-secondary"},v=["href"];function b(r,e,D,k,h,o){const d=t("openwb-base-heading"),l=t("openwb-base-number-input");return f(),c("div",_,[i(d,null,{default:s(()=>e[1]||(e[1]=[n(" Einstellungen für einen sekundären Wechselrichter ")])),_:1}),i(l,{title:"ID","model-value":r.component.configuration.id,min:"0",required:"","onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.id"))},{help:s(()=>[e[2]||(e[2]=n(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. ")),a("a",{href:o.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},g(o.powerFlowUrl),9,v),e[3]||(e[3]=a("br",null,null,-1)),e[4]||(e[4]=n(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. '))]),_:1},8,["model-value"])])}const V=m(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_secondary.vue"]]);export{V as default}; diff --git a/web/settings/assets/monitoring-682e85b8.js b/web/settings/assets/monitoring-ae2319f9.js similarity index 90% rename from web/settings/assets/monitoring-682e85b8.js rename to web/settings/assets/monitoring-ae2319f9.js index b104d3e768..e698dcc075 100644 --- a/web/settings/assets/monitoring-682e85b8.js +++ b/web/settings/assets/monitoring-ae2319f9.js @@ -1 +1 @@ -import{M as l}from"./DataManagement-fdf145a6.js";import{_ as d,u as a,l as p,m,G as t,E as g,y as r,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,_,k,y,w){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return p(),m("div",b,[t(u,{subtype:"info"},{default:g(()=>e[4]||(e[4]=[r(" Mit dem Monitoring-Service von openWB kannst Du Dein System ganz einfach überwachen. Einfach "),s("a",{href:"https://openwb.de/dummy",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten."),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ")])),_:1}),t(i,{title:"Zielhost",subtype:"host",required:"","model-value":n.monitoring.configuration.destination_host,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.destination_host"))},null,8,["model-value"]),t(i,{title:"Eigener Hostname",subtype:"user",required:"","model-value":n.monitoring.configuration.hostname,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.hostname"))},null,8,["model-value"]),t(i,{title:"PSK Identifier",subtype:"text",required:"","model-value":n.monitoring.configuration.psk_identifier,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.psk_identifier"))},null,8,["model-value"]),t(i,{title:"PSK Key",subtype:"password",required:"","model-value":n.monitoring.configuration.psk_key,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.psk_key"))},null,8,["model-value"])])}const q=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/zabbix/monitoring.vue"]]);export{q as default}; +import{M as l}from"./DataManagement-2af74759.js";import{_ as d,u as a,l as p,m,G as t,E as g,y as r,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,_,k,y,w){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return p(),m("div",b,[t(u,{subtype:"info"},{default:g(()=>e[4]||(e[4]=[r(" Mit dem Monitoring-Service von openWB kannst Du Dein System ganz einfach überwachen. Einfach "),s("a",{href:"https://openwb.de/dummy",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten."),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ")])),_:1}),t(i,{title:"Zielhost",subtype:"host",required:"","model-value":n.monitoring.configuration.destination_host,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.destination_host"))},null,8,["model-value"]),t(i,{title:"Eigener Hostname",subtype:"user",required:"","model-value":n.monitoring.configuration.hostname,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.hostname"))},null,8,["model-value"]),t(i,{title:"PSK Identifier",subtype:"text",required:"","model-value":n.monitoring.configuration.psk_identifier,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.psk_identifier"))},null,8,["model-value"]),t(i,{title:"PSK Key",subtype:"password",required:"","model-value":n.monitoring.configuration.psk_key,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.psk_key"))},null,8,["model-value"])])}const q=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/zabbix/monitoring.vue"]]);export{q as default}; diff --git a/web/settings/assets/ripple_control_receiver-f586004d.js b/web/settings/assets/ripple_control_receiver-71f6915a.js similarity index 79% rename from web/settings/assets/ripple_control_receiver-f586004d.js rename to web/settings/assets/ripple_control_receiver-71f6915a.js index f34280b37d..8ebe895339 100644 --- a/web/settings/assets/ripple_control_receiver-f586004d.js +++ b/web/settings/assets/ripple_control_receiver-71f6915a.js @@ -1 +1 @@ -import{R as t}from"./GeneralConfig-e2e95a2e.js";import{_ as r,u as n,l as i,m as p,G as s,E as a,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"RippleControlReceiverGpio",mixins:[t]},_={class:"ripple-control-receiver-gpio"};function m(d,e,f,u,v,g){const o=n("openwb-base-alert");return i(),p("div",_,[s(o,{subtype:"info"},{default:a(()=>e[0]||(e[0]=[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")])),_:1})])}const h=r(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; +import{R as t}from"./GeneralConfig-11fa69f5.js";import{_ as r,u as n,l as i,m as p,G as s,E as a,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"RippleControlReceiverGpio",mixins:[t]},_={class:"ripple-control-receiver-gpio"};function m(d,e,f,u,v,g){const o=n("openwb-base-alert");return i(),p("div",_,[s(o,{subtype:"info"},{default:a(()=>e[0]||(e[0]=[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")])),_:1})])}const h=r(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; diff --git a/web/settings/assets/ripple_control_receiver-2b63b6f2.js b/web/settings/assets/ripple_control_receiver-f1d976fb.js similarity index 88% rename from web/settings/assets/ripple_control_receiver-2b63b6f2.js rename to web/settings/assets/ripple_control_receiver-f1d976fb.js index c40600d042..7a8b7b0971 100644 --- a/web/settings/assets/ripple_control_receiver-2b63b6f2.js +++ b/web/settings/assets/ripple_control_receiver-f1d976fb.js @@ -1 +1 @@ -import{R as s}from"./GeneralConfig-e2e95a2e.js";import{_ as a,u as i,l as d,m as u,G as t,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"RippleControlReceiverDimmKit",mixins:[s]},c={class:"ripple-control-receiver-dimm-kit"};function b(o,e,v,g,w,C){const p=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return d(),u("div",c,[t(p,{subtype:"info"},{default:m(()=>e[3]||(e[3]=[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=a(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{B as default}; +import{R as s}from"./GeneralConfig-11fa69f5.js";import{_ as a,u as i,l as d,m as u,G as t,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"RippleControlReceiverDimmKit",mixins:[s]},c={class:"ripple-control-receiver-dimm-kit"};function b(o,e,v,g,w,C){const p=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return d(),u("div",c,[t(p,{subtype:"info"},{default:m(()=>e[3]||(e[3]=[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=a(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-372569ca.js b/web/settings/assets/vehicle-088ec646.js similarity index 93% rename from web/settings/assets/vehicle-372569ca.js rename to web/settings/assets/vehicle-088ec646.js index 152d4b4793..22f6f21a78 100644 --- a/web/settings/assets/vehicle-372569ca.js +++ b/web/settings/assets/vehicle-088ec646.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-135359c7.js";import{_ as b,u as s,l as g,m as v,G as i,E as o,y as n,x as u,F as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocMercedesEq",mixins:[m],computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var t=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus()}}},h={class:"vehicle-soc-mercedeseq"};function w(t,e,k,C,y,r){const a=s("openwb-base-text-input"),d=s("openwb-base-copy-to-clipboard"),p=s("openwb-base-alert"),c=s("openwb-base-button-input");return g(),v("div",h,[i(a,{title:"Client-ID",required:"",subtype:"user","model-value":t.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>e[3]||(e[3]=[n(" Die im Developer Portal angelegte Client-ID. ")])),_:1},8,["model-value"]),i(a,{title:"Client Secret",required:"",subtype:"password","model-value":t.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>e[4]||(e[4]=[n(" Das im Developer Portal angelegte Client Secret. ")])),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateConfiguration(l,"configuration.vin"))},{help:o(()=>e[5]||(e[5]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.")),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:")),e[9]||(e[9]=u("br",null,null,-1)),i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[n(_(r.callback_url),1)]),_:1})]),_:1}),i(c,{title:"Anmelden","button-text":"Bei Mercedes Anmelden",subtype:"success",disabled:!r.input_complete,onButtonClicked:r.login_window},{help:o(()=>e[10]||(e[10]=[n(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),u("br",null,null,-1)])),_:1},8,["disabled","onButtonClicked"])])}const U=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{U as default}; +import{V as m}from"./VehicleConfig-268e1718.js";import{_ as b,u as s,l as g,m as v,G as i,E as o,y as n,x as u,F as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocMercedesEq",mixins:[m],computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var t=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus()}}},h={class:"vehicle-soc-mercedeseq"};function w(t,e,k,C,y,r){const a=s("openwb-base-text-input"),d=s("openwb-base-copy-to-clipboard"),p=s("openwb-base-alert"),c=s("openwb-base-button-input");return g(),v("div",h,[i(a,{title:"Client-ID",required:"",subtype:"user","model-value":t.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>e[3]||(e[3]=[n(" Die im Developer Portal angelegte Client-ID. ")])),_:1},8,["model-value"]),i(a,{title:"Client Secret",required:"",subtype:"password","model-value":t.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>e[4]||(e[4]=[n(" Das im Developer Portal angelegte Client Secret. ")])),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateConfiguration(l,"configuration.vin"))},{help:o(()=>e[5]||(e[5]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.")),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:")),e[9]||(e[9]=u("br",null,null,-1)),i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[n(_(r.callback_url),1)]),_:1})]),_:1}),i(c,{title:"Anmelden","button-text":"Bei Mercedes Anmelden",subtype:"success",disabled:!r.input_complete,onButtonClicked:r.login_window},{help:o(()=>e[10]||(e[10]=[n(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),u("br",null,null,-1)])),_:1},8,["disabled","onButtonClicked"])])}const U=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-72863d82.js b/web/settings/assets/vehicle-1024da60.js similarity index 91% rename from web/settings/assets/vehicle-72863d82.js rename to web/settings/assets/vehicle-1024da60.js index 26264628e7..873b8a3068 100644 --- a/web/settings/assets/vehicle-72863d82.js +++ b/web/settings/assets/vehicle-1024da60.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-135359c7.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,y as a,x as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese "),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ")])),_:1}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; +import{V as u}from"./VehicleConfig-268e1718.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,y as a,x as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese "),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ")])),_:1}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; diff --git a/web/settings/assets/vehicle-273d468c.js b/web/settings/assets/vehicle-17aa1112.js similarity index 89% rename from web/settings/assets/vehicle-273d468c.js rename to web/settings/assets/vehicle-17aa1112.js index 7f96760349..d9b2fdf381 100644 --- a/web/settings/assets/vehicle-273d468c.js +++ b/web/settings/assets/vehicle-17aa1112.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-135359c7.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{$ as default}; +import{V as u}from"./VehicleConfig-268e1718.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-a9d91069.js b/web/settings/assets/vehicle-2d4ed79f.js similarity index 89% rename from web/settings/assets/vehicle-a9d91069.js rename to web/settings/assets/vehicle-2d4ed79f.js index 21278e0107..a1d7635dd6 100644 --- a/web/settings/assets/vehicle-a9d91069.js +++ b/web/settings/assets/vehicle-2d4ed79f.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-135359c7.js";import{_ as d,u as r,l as u,m as f,G as n,E as l,y as o,x as t,F as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[m]},v={class:"vehicle-soc-mqtt"};function g(i,e,w,x,k,B){const s=r("openwb-base-copy-to-clipboard"),a=r("openwb-base-alert");return u(),f("div",v,[n(a,{subtype:"info"},{default:l(()=>[e[12]||(e[12]=o(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. ")),t("ul",null,[t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=o(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=o(" Beispiel: ")),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/range ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=o(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=o(" Diese Info ist optional.")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=o(" Beispiel: ")),e[11]||(e[11]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1})])}const $=d(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{$ as default}; +import{V as m}from"./VehicleConfig-268e1718.js";import{_ as d,u as r,l as u,m as f,G as n,E as l,y as o,x as t,F as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[m]},v={class:"vehicle-soc-mqtt"};function g(i,e,w,x,k,B){const s=r("openwb-base-copy-to-clipboard"),a=r("openwb-base-alert");return u(),f("div",v,[n(a,{subtype:"info"},{default:l(()=>[e[12]||(e[12]=o(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. ")),t("ul",null,[t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=o(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=o(" Beispiel: ")),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/range ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=o(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=o(" Diese Info ist optional.")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=o(" Beispiel: ")),e[11]||(e[11]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1})])}const $=d(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-a379349e.js b/web/settings/assets/vehicle-3b803900.js similarity index 82% rename from web/settings/assets/vehicle-a379349e.js rename to web/settings/assets/vehicle-3b803900.js index 84dd3838ff..db115d120b 100644 --- a/web/settings/assets/vehicle-a379349e.js +++ b/web/settings/assets/vehicle-3b803900.js @@ -1 +1 @@ -import{V as n}from"./VehicleConfig-135359c7.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function m(u,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')])),_:1})])}const z=s(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; +import{V as n}from"./VehicleConfig-268e1718.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function m(u,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')])),_:1})])}const z=s(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-fd7a768b.js b/web/settings/assets/vehicle-41e5b9ed.js similarity index 92% rename from web/settings/assets/vehicle-fd7a768b.js rename to web/settings/assets/vehicle-41e5b9ed.js index 9c91de094d..2101d09df0 100644 --- a/web/settings/assets/vehicle-fd7a768b.js +++ b/web/settings/assets/vehicle-41e5b9ed.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-135359c7.js";import{_ as d,u,l as p,m as g,G as o,E as l,y as i,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocTronity",mixins:[a]},f={class:"vehicle-soc-tronity"};function b(n,e,v,C,w,h){const r=u("openwb-base-text-input"),s=u("openwb-base-button-group-input");return p(),g("div",f,[o(r,{title:"Vehicle ID",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.vehicle_id"))},{help:l(()=>e[4]||(e[4]=[i(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client ID",subtype:"text",required:"","model-value":n.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.client_id"))},{help:l(()=>e[5]||(e[5]=[i(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client Secret",subtype:"password",required:"","model-value":n.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.client_secret"))},{help:l(()=>e[6]||(e[6]=[i(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')])),_:1},8,["model-value"]),o(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.calculate_soc"))},{help:l(()=>e[7]||(e[7]=[i(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"])])}const T=d(m,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{T as default}; +import{V as a}from"./VehicleConfig-268e1718.js";import{_ as d,u,l as p,m as g,G as o,E as l,y as i,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocTronity",mixins:[a]},f={class:"vehicle-soc-tronity"};function b(n,e,v,C,w,h){const r=u("openwb-base-text-input"),s=u("openwb-base-button-group-input");return p(),g("div",f,[o(r,{title:"Vehicle ID",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.vehicle_id"))},{help:l(()=>e[4]||(e[4]=[i(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client ID",subtype:"text",required:"","model-value":n.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.client_id"))},{help:l(()=>e[5]||(e[5]=[i(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client Secret",subtype:"password",required:"","model-value":n.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.client_secret"))},{help:l(()=>e[6]||(e[6]=[i(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')])),_:1},8,["model-value"]),o(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.calculate_soc"))},{help:l(()=>e[7]||(e[7]=[i(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"])])}const T=d(m,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-0e9783a0.js b/web/settings/assets/vehicle-4bfa542f.js similarity index 89% rename from web/settings/assets/vehicle-0e9783a0.js rename to web/settings/assets/vehicle-4bfa542f.js index 5b9db548d2..f3a8b57832 100644 --- a/web/settings/assets/vehicle-0e9783a0.js +++ b/web/settings/assets/vehicle-4bfa542f.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-135359c7.js";import{_ as a,u as s,l as d,m as p,G as i,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocRenault",mixins:[u]},f={class:"vehicle-soc-renault"};function v(n,e,g,V,w,b){const t=s("openwb-base-text-input");return d(),p("div",f,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Land",required:"","model-value":n.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.country"))},{help:r(()=>e[6]||(e[6]=[l(" Land des Fahrzeugs, z.b. DE für Deutschland. ")])),_:1},8,["model-value"]),i(t,{title:"VIN","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{$ as default}; +import{V as u}from"./VehicleConfig-268e1718.js";import{_ as a,u as s,l as d,m as p,G as i,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocRenault",mixins:[u]},f={class:"vehicle-soc-renault"};function v(n,e,g,V,w,b){const t=s("openwb-base-text-input");return d(),p("div",f,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Land",required:"","model-value":n.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.country"))},{help:r(()=>e[6]||(e[6]=[l(" Land des Fahrzeugs, z.b. DE für Deutschland. ")])),_:1},8,["model-value"]),i(t,{title:"VIN","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-4560a090.js b/web/settings/assets/vehicle-516971a1.js similarity index 89% rename from web/settings/assets/vehicle-4560a090.js rename to web/settings/assets/vehicle-516971a1.js index cdfe9f656a..5745e55d56 100644 --- a/web/settings/assets/vehicle-4560a090.js +++ b/web/settings/assets/vehicle-516971a1.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-135359c7.js";import{_ as u,u as l,l as p,m as s,G as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEvnotify",mixins:[a]},d={class:"vehicle-soc-evnotify"};function f(e,o,c,v,b,g){const r=l("openwb-base-number-input"),t=l("openwb-base-text-input");return p(),s("div",d,[i(r,{title:"ID",required:"",min:0,"model-value":e.vehicle.configuration.id,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.id"))},null,8,["model-value"]),i(t,{title:"AKey",required:"","model-value":e.vehicle.configuration.akey,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.akey"))},null,8,["model-value"]),i(t,{title:"Token",required:"","model-value":e.vehicle.configuration.token,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.token"))},null,8,["model-value"])])}const B=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{B as default}; +import{V as a}from"./VehicleConfig-268e1718.js";import{_ as u,u as l,l as p,m as s,G as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEvnotify",mixins:[a]},d={class:"vehicle-soc-evnotify"};function f(e,o,c,v,b,g){const r=l("openwb-base-number-input"),t=l("openwb-base-text-input");return p(),s("div",d,[i(r,{title:"ID",required:"",min:0,"model-value":e.vehicle.configuration.id,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.id"))},null,8,["model-value"]),i(t,{title:"AKey",required:"","model-value":e.vehicle.configuration.akey,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.akey"))},null,8,["model-value"]),i(t,{title:"Token",required:"","model-value":e.vehicle.configuration.token,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.token"))},null,8,["model-value"])])}const B=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-07f38986.js b/web/settings/assets/vehicle-67482c43.js similarity index 91% rename from web/settings/assets/vehicle-07f38986.js rename to web/settings/assets/vehicle-67482c43.js index ada270e762..fabdd0f2a4 100644 --- a/web/settings/assets/vehicle-07f38986.js +++ b/web/settings/assets/vehicle-67482c43.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-135359c7.js";import{_ as a,u,l as d,m as p,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocVwid",mixins:[l]},v={class:"vehicle-soc-vwid"};function f(o,e,g,w,V,b){const i=u("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const z=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{z as default}; +import{V as l}from"./VehicleConfig-268e1718.js";import{_ as a,u,l as d,m as p,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocVwid",mixins:[l]},v={class:"vehicle-soc-vwid"};function f(o,e,g,w,V,b){const i=u("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const z=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-b8e7750d.js b/web/settings/assets/vehicle-7111a846.js similarity index 91% rename from web/settings/assets/vehicle-b8e7750d.js rename to web/settings/assets/vehicle-7111a846.js index 4ea3755d65..a806ef8aac 100644 --- a/web/settings/assets/vehicle-b8e7750d.js +++ b/web/settings/assets/vehicle-7111a846.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-135359c7.js";import{_ as s,u as p,l as u,m,G as n,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")])),_:1},8,["model-value"])])}const S=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{S as default}; +import{V as a}from"./VehicleConfig-268e1718.js";import{_ as s,u as p,l as u,m,G as n,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")])),_:1},8,["model-value"])])}const S=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{S as default}; diff --git a/web/settings/assets/vehicle-894ddb29.js b/web/settings/assets/vehicle-7195a3e0.js similarity index 95% rename from web/settings/assets/vehicle-894ddb29.js rename to web/settings/assets/vehicle-7195a3e0.js index c36ad57b2f..919c6d62fd 100644 --- a/web/settings/assets/vehicle-894ddb29.js +++ b/web/settings/assets/vehicle-7195a3e0.js @@ -1 +1 @@ -import{_ as h,a4 as c,a5 as _,a6 as f,u as r,l as b,m as k,G as i,E as a,y as s,x as v}from"./vendor-0c15df0c.js";import{a as w}from"./vendor-axios-c9d2afa0.js";import{C as y}from"./index-e7db68ea.js";import{V as C}from"./VehicleConfig-135359c7.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-fortawesome-979a7935.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[y,C],data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},methods:{tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=c.encode(_.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=_.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=c.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const o=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",o),this.updateConfiguration({access_token:o.data.access_token,refresh_token:o.data.refresh_token,created_at:o.data.created_at,expires_in:o.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(o){console.error(o),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+o+"
","danger")}}}},U={class:"vehicle-soc-tesla"};function B(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",U,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben")])),_:1}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")])),_:1},8,["model-value"])])}const x=h(T,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{x as default}; +import{_ as h,a4 as c,a5 as _,a6 as f,u as r,l as b,m as k,G as i,E as a,y as s,x as v}from"./vendor-0c15df0c.js";import{a as w}from"./vendor-axios-c9d2afa0.js";import{C as y}from"./index-8a28b331.js";import{V as C}from"./VehicleConfig-268e1718.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[y,C],data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},methods:{tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=c.encode(_.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=_.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=c.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const o=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",o),this.updateConfiguration({access_token:o.data.access_token,refresh_token:o.data.refresh_token,created_at:o.data.created_at,expires_in:o.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(o){console.error(o),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+o+"
","danger")}}}},U={class:"vehicle-soc-tesla"};function B(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",U,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben")])),_:1}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")])),_:1},8,["model-value"])])}const x=h(T,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-011a9d3b.js b/web/settings/assets/vehicle-7d4167b7.js similarity index 96% rename from web/settings/assets/vehicle-011a9d3b.js rename to web/settings/assets/vehicle-7d4167b7.js index 65c54b88b5..8e6f789040 100644 --- a/web/settings/assets/vehicle-011a9d3b.js +++ b/web/settings/assets/vehicle-7d4167b7.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-135359c7.js";import{_ as p,u,l as d,m as v,G as a,E as n,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"text",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ")])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const B=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{B as default}; +import{V as s}from"./VehicleConfig-268e1718.js";import{_ as p,u,l as d,m as v,G as a,E as n,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"text",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ")])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const B=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-fac3659d.js b/web/settings/assets/vehicle-8f50b694.js similarity index 91% rename from web/settings/assets/vehicle-fac3659d.js rename to web/settings/assets/vehicle-8f50b694.js index e682d38f62..0d88448f3a 100644 --- a/web/settings/assets/vehicle-fac3659d.js +++ b/web/settings/assets/vehicle-8f50b694.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-135359c7.js";import{_ as p,u as a,l as m,m as f,G as r,E as t,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocPSACC",mixins:[l]},v={class:"vehicle-soc-psacc"};function c(n,e,b,_,C,h){const d=a("openwb-base-alert"),s=a("openwb-base-text-input"),u=a("openwb-base-number-input");return m(),f("div",v,[r(d,{subtype:"info"},{default:t(()=>e[3]||(e[3]=[i(' Der PSA Car Controller muss auf einem eigenen Host installiert werden, mit Zugangsdaten konfiguriert werden und dauerhaft laufen. Die openWB ruft den SoC zu Beginn der Ladung vom PSA Car Controller ab. Während der Ladung liefert PSA keine Updates. Daher wird der SoC während der Ladung aus dem Zählerstand berechnet. Ausschlaggebend für die Genauigkeit dieser Berechnung sind die beiden Einstellungen "Kapazität der Batterie" und "Wirkungsgrad der Ladeelektronik" im Fahrzeug-Profil. ')])),_:1}),r(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.vehicle.configuration.psacc_server_or_ip,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.psacc_server_or_ip"))},{help:t(()=>e[4]||(e[4]=[i("Host, auf dem der PSA Car Controller läuft.")])),_:1},8,["model-value"]),r(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.vehicle.configuration.psacc_port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.psacc_port"))},{help:t(()=>e[5]||(e[5]=[i("Nummer des Ports, den der PSA Car Controller verwendet.")])),_:1},8,["model-value"]),r(s,{title:"VIN",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vehicle_vin"))},{help:t(()=>e[6]||(e[6]=[i("Fahrzeug-Identifizierungsnummer des Fahrzeugs, von dem der SoC abgefragt wird.")])),_:1},8,["model-value"])])}const y=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{y as default}; +import{V as l}from"./VehicleConfig-268e1718.js";import{_ as p,u as a,l as m,m as f,G as r,E as t,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocPSACC",mixins:[l]},v={class:"vehicle-soc-psacc"};function c(n,e,b,_,C,h){const d=a("openwb-base-alert"),s=a("openwb-base-text-input"),u=a("openwb-base-number-input");return m(),f("div",v,[r(d,{subtype:"info"},{default:t(()=>e[3]||(e[3]=[i(' Der PSA Car Controller muss auf einem eigenen Host installiert werden, mit Zugangsdaten konfiguriert werden und dauerhaft laufen. Die openWB ruft den SoC zu Beginn der Ladung vom PSA Car Controller ab. Während der Ladung liefert PSA keine Updates. Daher wird der SoC während der Ladung aus dem Zählerstand berechnet. Ausschlaggebend für die Genauigkeit dieser Berechnung sind die beiden Einstellungen "Kapazität der Batterie" und "Wirkungsgrad der Ladeelektronik" im Fahrzeug-Profil. ')])),_:1}),r(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.vehicle.configuration.psacc_server_or_ip,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.psacc_server_or_ip"))},{help:t(()=>e[4]||(e[4]=[i("Host, auf dem der PSA Car Controller läuft.")])),_:1},8,["model-value"]),r(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.vehicle.configuration.psacc_port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.psacc_port"))},{help:t(()=>e[5]||(e[5]=[i("Nummer des Ports, den der PSA Car Controller verwendet.")])),_:1},8,["model-value"]),r(s,{title:"VIN",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vehicle_vin"))},{help:t(()=>e[6]||(e[6]=[i("Fahrzeug-Identifizierungsnummer des Fahrzeugs, von dem der SoC abgefragt wird.")])),_:1},8,["model-value"])])}const y=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{y as default}; diff --git a/web/settings/assets/vehicle-eb469628.js b/web/settings/assets/vehicle-8fa1baf8.js similarity index 87% rename from web/settings/assets/vehicle-eb469628.js rename to web/settings/assets/vehicle-8fa1baf8.js index 6279aa6063..e1308ac82e 100644 --- a/web/settings/assets/vehicle-eb469628.js +++ b/web/settings/assets/vehicle-8fa1baf8.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-135359c7.js";import{_ as l,u as d,l as u,m as p,G as i,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSkodaconnect",mixins:[a]},v={class:"vehicle-soc-skodaconnect"};function f(o,e,c,g,w,V){const t=d("openwb-base-text-input");return u(),p("div",v,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const x=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{x as default}; +import{V as a}from"./VehicleConfig-268e1718.js";import{_ as l,u as d,l as u,m as p,G as i,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSkodaconnect",mixins:[a]},v={class:"vehicle-soc-skodaconnect"};function f(o,e,c,g,w,V){const t=d("openwb-base-text-input");return u(),p("div",v,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const x=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-98d731d7.js b/web/settings/assets/vehicle-ac973cba.js similarity index 95% rename from web/settings/assets/vehicle-98d731d7.js rename to web/settings/assets/vehicle-ac973cba.js index d20fb9cbb7..e4c2a0b38a 100644 --- a/web/settings/assets/vehicle-98d731d7.js +++ b/web/settings/assets/vehicle-ac973cba.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-135359c7.js";import{_ as p,u as s,l as g,m as b,G as r,E as i,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocJson",mixins:[m]},w={class:"vehicle-soc-json"};function h(t,e,v,c,k,z){const a=s("openwb-base-text-input"),u=s("openwb-base-button-group-input"),d=s("openwb-base-number-input");return g(),b("div",w,[r(a,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.url"))},{help:i(()=>e[6]||(e[6]=[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein. Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für SoC",subtype:"text",required:"","model-value":t.vehicle.configuration.soc_pattern,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.soc_pattern"))},{help:i(()=>e[7]||(e[7]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.soc eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) darstellt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Reichweite",subtype:"text","model-value":t.vehicle.configuration.range_pattern,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.range_pattern"))},{help:i(()=>e[8]||(e[8]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.range eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Reichweite darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Zeitstempel",subtype:"text","model-value":t.vehicle.configuration.timestamp_pattern,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.timestamp_pattern"))},{help:i(()=>e[9]||(e[9]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.timestamp eingetragen werden.'),l("br",null,null,-1),n(" Es wird vom Server entweder eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen als Epoch Zeitstempel oder eine ISO 8601 formatierte Zeit erwartet welche den Zeitstempel der gelieferten Werte darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ")])),_:1},8,["model-value"]),r(u,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.calculate_soc"))},{help:i(()=>e[10]||(e[10]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"]),r(d,{title:"Timeout für http-Abfragen",subtype:"number","model-value":t.vehicle.configuration.timeout,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:i(()=>e[11]||(e[11]=[n(" Ermöglicht es einen Timeout für die http-Abfragen zu setzen. Der Wert wird in Sekunden angegeben. Standardwert ist 5 Sekunden sofern kein anderer Wert angegeben ist. ")])),_:1},8,["model-value"])])}const E=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/json/vehicle.vue"]]);export{E as default}; +import{V as m}from"./VehicleConfig-268e1718.js";import{_ as p,u as s,l as g,m as b,G as r,E as i,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocJson",mixins:[m]},w={class:"vehicle-soc-json"};function h(t,e,v,c,k,z){const a=s("openwb-base-text-input"),u=s("openwb-base-button-group-input"),d=s("openwb-base-number-input");return g(),b("div",w,[r(a,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.url"))},{help:i(()=>e[6]||(e[6]=[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein. Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für SoC",subtype:"text",required:"","model-value":t.vehicle.configuration.soc_pattern,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.soc_pattern"))},{help:i(()=>e[7]||(e[7]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.soc eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) darstellt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Reichweite",subtype:"text","model-value":t.vehicle.configuration.range_pattern,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.range_pattern"))},{help:i(()=>e[8]||(e[8]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.range eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Reichweite darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Zeitstempel",subtype:"text","model-value":t.vehicle.configuration.timestamp_pattern,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.timestamp_pattern"))},{help:i(()=>e[9]||(e[9]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.timestamp eingetragen werden.'),l("br",null,null,-1),n(" Es wird vom Server entweder eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen als Epoch Zeitstempel oder eine ISO 8601 formatierte Zeit erwartet welche den Zeitstempel der gelieferten Werte darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ")])),_:1},8,["model-value"]),r(u,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.calculate_soc"))},{help:i(()=>e[10]||(e[10]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"]),r(d,{title:"Timeout für http-Abfragen",subtype:"number","model-value":t.vehicle.configuration.timeout,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:i(()=>e[11]||(e[11]=[n(" Ermöglicht es einen Timeout für die http-Abfragen zu setzen. Der Wert wird in Sekunden angegeben. Standardwert ist 5 Sekunden sofern kein anderer Wert angegeben ist. ")])),_:1},8,["model-value"])])}const E=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/json/vehicle.vue"]]);export{E as default}; diff --git a/web/settings/assets/vehicle-7a9cc90c.js b/web/settings/assets/vehicle-c6ed14f3.js similarity index 90% rename from web/settings/assets/vehicle-7a9cc90c.js rename to web/settings/assets/vehicle-c6ed14f3.js index 9928eaf204..daa5b0236b 100644 --- a/web/settings/assets/vehicle-7a9cc90c.js +++ b/web/settings/assets/vehicle-c6ed14f3.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-135359c7.js";import{_ as d,u as a,l as p,m,G as t,E as u,y as n,x as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocOVMS",mixins:[s]},f={class:"vehicle-soc-ovms"};function g(o,e,V,b,S,w){const l=a("openwb-base-text-input");return p(),m("div",f,[t(l,{title:"Server URL",required:"","model-value":o.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.server_url"))},{help:u(()=>e[4]||(e[4]=[n(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. "),i("br",null,null,-1),n(" https://ovms.dexters-web.de:6869"),i("br",null,null,-1),n(" oder"),i("br",null,null,-1),n(" https://api.openvehicles.com:6869"),i("br",null,null,-1),n(" oder ein custom server"),i("br",null,null,-1)])),_:1},8,["model-value"]),t(l,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>o.updateConfiguration(r,"configuration.user_id"))},{help:u(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ")])),_:1},8,["model-value"]),t(l,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>o.updateConfiguration(r,"configuration.password"))},{help:u(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung am OVMS-Server. ")])),_:1},8,["model-value"]),t(l,{title:"Vehicle Id",required:"","model-value":o.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>o.updateConfiguration(r,"configuration.vehicleId"))},{help:u(()=>e[7]||(e[7]=[n(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ")])),_:1},8,["model-value"])])}const q=d(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{q as default}; +import{V as s}from"./VehicleConfig-268e1718.js";import{_ as d,u as a,l as p,m,G as t,E as u,y as n,x as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocOVMS",mixins:[s]},f={class:"vehicle-soc-ovms"};function g(o,e,V,b,S,w){const l=a("openwb-base-text-input");return p(),m("div",f,[t(l,{title:"Server URL",required:"","model-value":o.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.server_url"))},{help:u(()=>e[4]||(e[4]=[n(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. "),i("br",null,null,-1),n(" https://ovms.dexters-web.de:6869"),i("br",null,null,-1),n(" oder"),i("br",null,null,-1),n(" https://api.openvehicles.com:6869"),i("br",null,null,-1),n(" oder ein custom server"),i("br",null,null,-1)])),_:1},8,["model-value"]),t(l,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>o.updateConfiguration(r,"configuration.user_id"))},{help:u(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ")])),_:1},8,["model-value"]),t(l,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>o.updateConfiguration(r,"configuration.password"))},{help:u(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung am OVMS-Server. ")])),_:1},8,["model-value"]),t(l,{title:"Vehicle Id",required:"","model-value":o.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>o.updateConfiguration(r,"configuration.vehicleId"))},{help:u(()=>e[7]||(e[7]=[n(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ")])),_:1},8,["model-value"])])}const q=d(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-179c48cd.js b/web/settings/assets/vehicle-ca57e690.js similarity index 95% rename from web/settings/assets/vehicle-179c48cd.js rename to web/settings/assets/vehicle-ca57e690.js index 4c95198dac..f45b7e240a 100644 --- a/web/settings/assets/vehicle-179c48cd.js +++ b/web/settings/assets/vehicle-ca57e690.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-135359c7.js";import{_ as m,u as s,l as g,m as f,G as i,E as r,y as t,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},w={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function C(o,e,k,B,V,S){const u=s("openwb-base-text-input"),a=s("font-awesome-icon"),d=s("openwb-base-button-group-input");return g(),f("div",v,[i(u,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o.updateConfiguration(l,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=l=>o.updateConfiguration(l,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>o.updateConfiguration(l,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(u,{title:"Captcha-Token",required:"","model-value":o.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=l=>o.updateConfiguration(l,"configuration.captcha_token"))},{help:r(()=>[e[17]||(e[17]=t(" Zum erstmaligen Login z.B. nach einem Neustart ist ein ")),e[18]||(e[18]=n("b",null,"aktuelles Captcha-Token",-1)),e[19]||(e[19]=t(" notwendig.")),e[20]||(e[20]=n("br",null,null,-1)),e[21]||(e[21]=t(" Dazu bitte folgende Schritte durchführen: ")),n("ol",null,[n("li",null,[e[9]||(e[9]=t(" In einem neuen Browser-Tab auf diese Seite gehen:")),e[10]||(e[10]=n("br",null,null,-1)),n("a",w,[e[8]||(e[8]=t(" Captcha Lösen ")),i(a,{"fixed-width":"",icon:["fas","external-link-alt"]})]),e[11]||(e[11]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) "))]),e[12]||(e[12]=n("li",null,' Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anklicken. Als Ergebnis wird ein sehr langer String angezeigt. ',-1)),e[13]||(e[13]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[14]||(e[14]=n("li",null,"Die Konfiguration speichern.",-1)),e[15]||(e[15]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[16]||(e[16]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[22]||(e[22]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),i(d,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=l=>o.updateConfiguration(l,"configuration.calculate_soc"))},{help:r(()=>e[23]||(e[23]=[t(" Berechnet den Ladestand (SoC) während der Ladung. "),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),n("br",null,null,-1)])),_:1},8,["model-value"])])}const q=m(b,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{q as default}; +import{V as p}from"./VehicleConfig-268e1718.js";import{_ as m,u as s,l as g,m as f,G as i,E as r,y as t,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},w={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function C(o,e,k,B,V,S){const u=s("openwb-base-text-input"),a=s("font-awesome-icon"),d=s("openwb-base-button-group-input");return g(),f("div",v,[i(u,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o.updateConfiguration(l,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=l=>o.updateConfiguration(l,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>o.updateConfiguration(l,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(u,{title:"Captcha-Token",required:"","model-value":o.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=l=>o.updateConfiguration(l,"configuration.captcha_token"))},{help:r(()=>[e[17]||(e[17]=t(" Zum erstmaligen Login z.B. nach einem Neustart ist ein ")),e[18]||(e[18]=n("b",null,"aktuelles Captcha-Token",-1)),e[19]||(e[19]=t(" notwendig.")),e[20]||(e[20]=n("br",null,null,-1)),e[21]||(e[21]=t(" Dazu bitte folgende Schritte durchführen: ")),n("ol",null,[n("li",null,[e[9]||(e[9]=t(" In einem neuen Browser-Tab auf diese Seite gehen:")),e[10]||(e[10]=n("br",null,null,-1)),n("a",w,[e[8]||(e[8]=t(" Captcha Lösen ")),i(a,{"fixed-width":"",icon:["fas","external-link-alt"]})]),e[11]||(e[11]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) "))]),e[12]||(e[12]=n("li",null,' Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anklicken. Als Ergebnis wird ein sehr langer String angezeigt. ',-1)),e[13]||(e[13]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[14]||(e[14]=n("li",null,"Die Konfiguration speichern.",-1)),e[15]||(e[15]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[16]||(e[16]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[22]||(e[22]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),i(d,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=l=>o.updateConfiguration(l,"configuration.calculate_soc"))},{help:r(()=>e[23]||(e[23]=[t(" Berechnet den Ladestand (SoC) während der Ladung. "),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),n("br",null,null,-1)])),_:1},8,["model-value"])])}const q=m(b,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-81b18646.js b/web/settings/assets/vehicle-da94dc64.js similarity index 82% rename from web/settings/assets/vehicle-81b18646.js rename to web/settings/assets/vehicle-da94dc64.js index 206c6c3a6c..1776bc8381 100644 --- a/web/settings/assets/vehicle-81b18646.js +++ b/web/settings/assets/vehicle-da94dc64.js @@ -1 +1 @@ -import{V as o}from"./VehicleConfig-135359c7.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(f,e,_,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity."),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ")])),_:1})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; +import{V as o}from"./VehicleConfig-268e1718.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(f,e,_,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity."),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ")])),_:1})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-a11b8cea.js b/web/settings/assets/vehicle-db7f42f1.js similarity index 86% rename from web/settings/assets/vehicle-a11b8cea.js rename to web/settings/assets/vehicle-db7f42f1.js index 0859c4822d..9ef076aad5 100644 --- a/web/settings/assets/vehicle-a11b8cea.js +++ b/web/settings/assets/vehicle-db7f42f1.js @@ -1 +1 @@ -import{V as r}from"./VehicleConfig-135359c7.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-979a7935.js";import"./index-e7db68ea.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"text",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const $=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{$ as default}; +import{V as r}from"./VehicleConfig-268e1718.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-8a28b331.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"text",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const $=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vendor-fortawesome-979a7935.js b/web/settings/assets/vendor-fortawesome-231ff303.js similarity index 99% rename from web/settings/assets/vendor-fortawesome-979a7935.js rename to web/settings/assets/vendor-fortawesome-231ff303.js index 73fa4a81f3..db6fc148ff 100644 --- a/web/settings/assets/vendor-fortawesome-979a7935.js +++ b/web/settings/assets/vendor-fortawesome-231ff303.js @@ -570,4 +570,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. - */const Cr={prefix:"fab",iconName:"paypal",icon:[384,512,[],"f1ed","M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"]};export{Ga as $,mr as A,hr as B,pr as C,Pa as D,Cr as E,vr as F,Ja as G,yr as H,xr as I,zr as J,pa as K,ur as L,la as M,ca as N,Qa as O,oa as P,_a as Q,sr as R,Ta as S,Ca as T,tr as U,Ma as V,da as W,Ka as X,Za as Y,ar as Z,ba as _,gr as a,Sa as a0,$a as a1,ea as a2,ga as a3,ra as a4,Ba as a5,ka as a6,Na as a7,qa as a8,or as a9,Wa as aa,lr as ab,Ua as ac,za as ad,fa as ae,va as af,Q2 as ag,Xa as ah,br as ai,La as aj,nr as ak,ta as al,ya as am,Va as an,ha as ao,na as ap,J2 as aq,Oa as b,dr as c,rr as d,Ia as e,wa as f,fr as g,ir as h,er as i,ma as j,Aa as k,q2 as l,Ha as m,Z2 as n,ja as o,Fa as p,cr as q,Ra as r,Ea as s,Ya as t,ia as u,sa as v,xa as w,aa as x,ua as y,Da as z}; + */const Cr={prefix:"fab",iconName:"paypal",icon:[384,512,[],"f1ed","M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"]};export{Ga as $,mr as A,hr as B,pr as C,Pa as D,Cr as E,vr as F,Ja as G,yr as H,xr as I,zr as J,la as K,pa as L,ur as M,ca as N,Qa as O,oa as P,_a as Q,sr as R,Ta as S,Ca as T,tr as U,Ma as V,da as W,Ka as X,Za as Y,ar as Z,ba as _,gr as a,Sa as a0,$a as a1,ea as a2,ga as a3,ra as a4,Ba as a5,ka as a6,Na as a7,qa as a8,or as a9,Wa as aa,lr as ab,Ua as ac,za as ad,fa as ae,va as af,Q2 as ag,Xa as ah,br as ai,La as aj,nr as ak,ta as al,ya as am,Va as an,ha as ao,na as ap,J2 as aq,Oa as b,dr as c,rr as d,Ia as e,wa as f,fr as g,ir as h,er as i,ma as j,Aa as k,q2 as l,Ha as m,Z2 as n,ja as o,Fa as p,cr as q,Ra as r,Ea as s,Ya as t,ia as u,sa as v,xa as w,aa as x,ua as y,Da as z}; diff --git a/web/settings/index.html b/web/settings/index.html index 573f45b1a4..c51e8f81ee 100644 --- a/web/settings/index.html +++ b/web/settings/index.html @@ -7,10 +7,10 @@ openWB - + - + diff --git a/web/version b/web/version index 770e530c91..2021775ad6 100644 --- a/web/version +++ b/web/version @@ -1 +1 @@ -2.1.7-RC.2 +2.1.7-RC.1